Tại sao là "Logistic Regression" mà không phải "Logistic Classification"?

 



Logistic Regession là một trong những thuật toán Machine Learning phổ biến nhất cho bài toán phân loại nhị phân. Một câu hỏi mà nhiều người thắc mắc là - Tại sao nó có tên là "Logistic Regession" trong khi nó là một thuật toán phân loại? Tại sao nó không phải là "Logistic Classification"?
Bài này sẽ trả lời câu hỏi trên thông qua một ví dụ cụ thể.
Đây là bài viết của tác giả Riya Bindra, đăng trên discover.hubpages.com
Link của bài gốc ở đây: 


1. Hồi quy và phân loại (Regression vs Classification)

Trước tiên, chúng ta nên biết sự khác nhau giữa Classification và Regression

Regression và Classification đều nằm trong mục các thuật toán học có giám sát (Supervised learning), cả hai đều sử dụng tập dữ liệu được gắn nhãn. Tuy nhiên, chúng có sự khác biệt cơ bản.

Các thuật toán Regressions được sử dụng để dự đoán giá trị liên tục, ví dụ như chiều cao, cân nặng, tốc độ, nhiệt độ... trong khi Classification được dùng để dự đoán/phân loại giá trị rời rạc ví dụ như Gái hay Trai; Ngập hay Không Ngập; Lạnh hay Nóng...
Ví dụ, nếu chúng ta muốn dự đoán nhiệt độ ngày mai sử dụng dữ liệu thời tiết, chúng ta sẽ dùng một thuật toán Regression. Còn nếu muốn dự đoán liệu ngày mai nóng hay lạnh, chúng ta sẽ sử dụng Classification.

2. Tại sao hồi quy tuyến tính Linear Regression không phù hợp để phân loại?

Để trả lời câu hỏi trên, ta hãy thử một ví dụ. Chúng ta sẽ cố gắng phân loại các khối u lành tính hay ác tính bằng cách sử dụng thuật toán hồi quy tuyến tính. Nhiệm vụ là phân loại các khối u thành 2 lớp lành (0) ác (1). Đây là vấn đề phân loại nhị phân (binary). Để đơn giản hóa vấn đề, chúng ta chỉ sử dụng 1 biến phụ thuộc, đó là kích thước khối u và tập dữ liệu chỉ có một số ít dữ liệu.
Lúc này, hồi quy tuyến tính gặp 2 vấn đề lớn:
- Kết quả đầu ra là các giá trị liên tục, không thể được coi là xác suất thuần túy
- Có sự thay đổi không mong muốn trong giá ngưỡng khi chúng ta thêm điểm dữ liệu mới vào.
Hãy thảo luận chi tiết hơn
Problem 1. Đầu ra không mang tính xác suất mà là liên tục

Biểu đồ ở trên là mô hình hồi quy tuyến tính được train từ tập dữ liệu. Như trên đã nói, các thuật toán hồi quy được sử dụng để dự đoán các giá trị liên tục, tức là đầu ra của hồi quy tuyến tính là một giá trị liên tục tương ứng với mọi giá trị đầu vào. Nhưng ở đây, chúng ta muốn đầu ra là dạng 1 và 0, tức là khối u lành hay ác tính. Do đó, chúng ta sử dụng ngưỡng là 0.5 cho trường hợp này.
Chúng ta có thể dự đoán đầu ra là 1 (ác tính) nếu đầu ra của hồi quy tuyến tính là >=0.5. Tương tự, nếu output <0.5 thì dự đoán là 0 (lành tính). Theo cách này, kết quả đầu ra có thể được coi là khối u ác tính.
Nhưng từ đã. Hình như chúng ta đã bỏ qua một cái gì đó. Xác suất có thể nhỏ hơn 0 hoặc lớn hơn 1?
Từ biểu đồ trên, đầu ra của hồi quy tuyến tính có thể <0 hoặc >1. Do đó, chúng ta không thể coi đầu ra này là xác suất thuần túy.

Problem 2. Giá trị ngưỡng thay đổi không mong muốn khi các điểm dữ liệu mới được thêm vào


Ở đây, một point dữ liệu mới được thêm vào trong tập dữ liệu training dataset. Hồi quy tuyến tính sẽ tự điều chỉnh trong khi xem xét dữ liệu mới cùng với các điểm dữ liệu cũ. Điều này gây ra sự thay đổi trong giá trị ngưỡng. Điều này dẫn đến một vài giá trị sẽ bị dự đoán sai.
Để giải quyết vấn đề này, chúng ta dùng Logistic Regression


3. Công thức Logistic

Logistic Regression mượn "Logistic" từ chức năng Logistic. Chức năng Logistic cũng dược gọi là chức năng Sigmoid trong lĩnh vực Machine learning. 
Đây là một hàm có giới hạn vì nó giới hạn đầu ra trong phạm vi từ 0 đến 1. Do đó, nó còn được gọi là hàm "Squashing". Thuộc tính này làm có nó có hữu dụng trong các thuật toán phân loại.
Đầu ra của đường cong chữ S là xác suất của đầu vào thuộc một lớp nào đó. Ví dụ, hãy xem xét vấn đề phân loại khối u lành hay ác. Nếu đầu ra của hàm này là 0.85, thì có 85% khả năng khối u này là ác tính.

4. Tại sao LR được gọi là "Logistic Regression" mà không phải là "Logistic Classification".




Sau khi đã hiểu các khái niệm cơ bản, sự lăn tăn ở đây đã sẵn sàng để giải đáp.

Logistic Regression mượn "Regression" từ thuật toán hồi quy tuyến tính khi nó sử dụng chức năng giả thuyết của nó.

Trong trường hợp hồi quy tuyến tính, đầu ra là tổng trọng số của các biến đầu vào

 hθ(x) = θ0 + θ1x1 + θ2x2 + ___ + θnxn


Trong Logistic Regression, chúng ta đưa hàm giả thuyết làm đầu vào cho hàm Logistic

S(x) = 1 / (1 + e-hθ(x)) = 1 / (1 + e-(θ0 + θ1x1 + θ2x2 + ___ + θnxn))

Do đó, nó được đặt tên là Logistic Regression

5. Kết luận

  • Logistic Regression mượn tên của nó từ thuật toán Logistic Function và Linear Regression

  • Logistic Regression không hoạt động tốt với các vấn đề phân loại
  • Logistic Regression sử dụng hàm Logistic để xóa hạn chế phạm vi output từ 0-1
  • Logistic Regression sử dụng chức năng hypothesis của thuật toán Linear Regression
Tại sao là "Logistic Regression" mà không phải "Logistic Classification"? Tại sao là "Logistic Regression" mà không phải "Logistic Classification"? Reviewed by VinhHD on 15:51 Rating: 5

Không có nhận xét nào:

ads 728x90 B
Được tạo bởi Blogger.