1
Mục đích của hàm kích hoạt trong máy học là gì?
1
Minh Thắng60 đã đăng:

thêm bình luận...
3
PyPi110 đã đăng:

Trong máy học, cụ thể là trong các mô hình học như Linear Classification, SVM, mạng nơ-ron nhân tạo, ..v.v. chúng ta đều biết rằng để tính ra output $\mathbf{z}$ từ input $\mathbf{x}$ và bộ trọng số $\mathbf{w}$ bằng công thức tổ hợp tuyến tính như sau,

$$\mathbf{z} = \mathbf{w} \mathbf{x} = w_0x_0 + w_1x_1 + w_1x_2 + \cdots + w_n x_n$$

Bản chất của công thức trên là một tổ hợp tuyến tính giữa các giá trị input $\mathbf{x}$ và bộ trọng số $\mathbf{w}$, do đó, khi áp dụng chúng với các dữ liệu mà có dạng tuyến tính, tức là dữ liệu mà ta có thể kẻ một đường thẳng để phân cách giữa chúng thì công thức tổ hợp trên đã đủ để giúp cho mô hình máy học có thể hoạt động tốt, chúng ta không cần tới hàm kích hoạt (activation function).

Ví dụ bạn có bài toán phân lớp hai loại hoa Setosa và Versicolor dựa vào chiều dài và chiều rộng cánh hoa của chúng với nguồn dữ liệu được mô tả như hình bên dưới, thì máy có thể học một cách dễ dàng để phân lớp 2 loại hoa này bởi dữ liệu đã cho có dạng tuyến tính.

Phân lớp hoa Setosa và Versicolor

Dữ liệu ở trên rất đẹp đúng không nào, nhưng dữ liệu ở ngoài đời thực không còn đơn giản như vậy, chúng không còn ở dạng tuyến tính nữa mà được phân bố một cách tùy ý phi tuyến tính.

Dữ liệu hóa Setosa và Versicolor phi tuyến tính

Nhìn vào hình trên, rõ ràng bạn không thể kẻ một đường thẳng tuyến tính mà phân tách 2 dữ liệu ra được, và câu hỏi đặt ra là làm thế nào với một công thức tổ hợp tuyến tính như ban đầu mà dùng để phân lớp dữ liệu phi tuyến tính được? Hàm kích hoạt được tạo ra để làm điều này, hàm kích hoạt đóng vai trò như một người trung gian có nhiệm vụ chuyển đổi, nén hoặc chế biến output $\mathbf{z}$ từ tuyến tính trở thành phi tuyến tính.

Chúng ta có rất nhiều hàm kích hoạt trong thực tế như hàm Sigmoid, hàm ReLU, hàm Softmax, ...v.v. Lấy hàm Sigmoid làm ví dụ, hàm Sigmoid sẽ nén dữ liệu từ bất kỳ giá trị nào về miền giá trị chạy từ $0$ đến $1$, điều này rất hữu ích đối với các bài toán phân $2$ lớp trong máy học.

Đường phân cách dữ liệu phi tuyến

Nhờ vào hàm kích hoạt, chúng ta có thể phân lớp dữ liệu phi tuyến một cách dễ dàng với kết quả như hình ở trên.

đã bổ sung 4.0 năm trước bởi
Avatar: PyPi PyPi110

Kiến thức kì quái đã được tiếp thu, cảm ơn nhaaaaaaaa UwU

duwuonline 20.07.2022
thêm bình luận...
Bạn đang thắc mắc? Ghi câu hỏi của bạn và đăng ở chế độ cộng đồng (?)