-
Tuần 1 - Ngày 10 tháng 7 năm 2019
- Giới thiệu về khóa học
- Hướng dẫn viết chương trình Python trên web
- Hướng dẫn sử dụng PyCharm
- Tổng quan về Python
- Kỹ năng sử dụng Google search
- Viết tài liệu kỹ thuật dùng Markdown
- Hàm xây dựng sẵn trong Python – math và random
- Cài đặt các công thức toán cơ bản
- Xây dựng hàm trong python
- Điều kiện if-else
- Những lỗi thường gặp trong Python
- Reading assignment
-
Tuần 2 - Ngày 17 tháng 7 năm 2019
-
Tuần 3 - Ngày 24 tháng 7 năm 2019
-
Tuần 4 - Ngày 31 tháng 7 năm 2019
-
Tuần 5 - Ngày 7 tháng 8 năm 2019
-
Advanced Python
-
Tuần 6 - Ngày 14 tháng 8 năm 2019
-
Tuần 7 - Ngày 28 tháng 8 năm 2019
-
Tuần 8
-
Tuần 9
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ó.