AI Cho Mọi Người

AI Cho Mọi Người

Xây dựng các hàm activation trong machine learning

 

 

Trong bài này, chúng ta sẽ tìm hiểu về các hàm activation phổ biến trong machine learning và cài đặt các hàm này với input là danh sách các giá trị số. Bảng sau thể hiện các công thức và đạo hàm của các hàm activation phổ biến.

 

1. Hàm sigmoid (logistic)

Hàm sigmoid có hình dạng như sau

Phân tích hàm sigmoid

  • Giá trị \(x \in \mathbb{R}\) và \(y \in (0,1)\). Chúng ta có thể hình dùng hàm sigmoid giống như hàm ánh xạ từ \(\left ( -\infty, \infty \right ) \mapsto \left ( 0, 1 \right )\).
  • Hàm sigmoid là hàm không giảm (monotonic increasing), nghĩa là nếu \(x_1 \leq  x_2\) thì \(f(x_1) \leq f(x_2)\). Chúng ta thường dùng tính chất này khi chúng ta quan tâm đến thứ tự lớn hơn, nhỏ hơn, hơn là giá trị độ lớn của chúng.
  • Hàm sigmoid có độ dốc (tương đương với đạo hàm) lớn xung quanh giá trị \( x = 0\) và độ dốc rất nhỏ ở 2 đầu. Điều này gây ra vấn đề khi tính toán dựa vào giá trị đạo hàm. Vì giá trị đạo hàm quả nhỏ nên hầu như nó không có hữu ích gì.

Ví dụ về tính sigmoid cho một danh sách các số.

Đồ thị hàm sigmoid và đạo hàm của nó như sau

Cài đặt hàm sigmoid với input là một danh sách các số. Chương trình sẽ tính sigmoid cho từng phần tử và trả về một danh sách các giá trị sigmoid.

import math

def sigmoid_function(data):
    result = []
    for d in data:
        result.append(1/(1+math.exp(-d)))
    return result

data = [1,5,-4,3,-2]
result = sigmoid_function(data)
print(result)

 

Kết quả

[0.7310585786, 0.9933071490, 0.01798620996, 0.9525741268, 0.11920292202]

 

 

2. Hàm tanh

Hàm tanh có hình dạng như sau

Ví dụ về tính tanh cho một danh sách.

 

Đồ thị hàm tanh và đạo hàm của nó như sau

Các bạn hãy tự cài đặt chương trình và kiểm tra kết quả với ví dụ trên.
https://aivietnam.ai/python-editor/

Bài tập: Bạn hãy phân tích hàm tanh  dựa vào công thức và hình dạng của nó.

 

3. Hàm ReLU

Hàm ReLU có hình dạng như sau

Ví dụ về tính ReLU cho một danh sách.

 

Đồ thị hàm ReLU và đạo hàm của nó như sau

Các bạn hãy tự cài đặt chương trình và kiểm tra kết quả với ví dụ trên.
https://aivietnam.ai/python-editor/

Bài tập: Bạn hãy phân tích hàm ReLU dựa vào công thức và hình dạng của nó.

 

4. Hàm PReLU

Hàm PReLUcó hình dạng như sau

Ví dụ về tính PReLUcho một danh sách với \(\alpha = 0.1\).

 

Các bạn hãy tự cài đặt chương trình và kiểm tra kết quả với ví dụ trên.
https://aivietnam.ai/python-editor/

Bài tập: Bạn hãy phân tích hàm PReLU dựa vào công thức và hình dạng của nó.

 

5. Hàm ELU

Hàm ELU có hình dạng như sau

Ví dụ về tính ELU cho một danh sách với \(\alpha = 0.1\).

Các bạn hãy tự cài đặt chương trình và kiểm tra kết quả với ví dụ trên.
https://aivietnam.ai/python-editor/

Bài tập: Bạn hãy phân tích hàm ELU dựa vào công thức và hình dạng của nó.

 

6. Hàm Softplus

Hàm Softplus có hình dạng như sau

Ví dụ về tính Softplus cho một danh sách.

 

Các bạn hãy tự cài đặt chương trình và kiểm tra kết quả với ví dụ trên.
https://aivietnam.ai/python-editor/

Bài tập: Bạn hãy phân tích hàm Softplus dựa vào công thức và hình dạng của nó.