Logistic regression là gì

Trong các phần trước ta đã khám phá về phương pháp hồi quy tuyến đường tính để tham gia đoán áp sạc ra liên tục, phần này ta sẽ tham khảo thêm một thuật toán nữa trong học có giám sát và đo lường là hồi quy logistic (Logistic Regression) nhằm mục tiêu mục thêm phân các loại dữ liệu.

Bạn đang xem: Logistic regression là gì

Mục lục3. Ước lượng tham số5. Phân loại nhiều nhóm1. Định nghĩa

Phương pháp hồi quy logistic là một quy mô hồi quy nhằm dự đoán giá trị cổng đầu ra rời rạc (discrete target variable) $y$ ứng với 1 véc-tơ nguồn vào $mathbfx$. Việc này tương tự với chuyện phân loại các đầu vào $mathbfx$ vào các nhóm $y$ tương ứng.

Ví dụ, xem một bức ảnh có đựng một bé mèo giỏi không. Thì ở đây ta coi áp ra output $y=1$ nếu bước hình ảnh có một con mèo với $y=0$ trường hợp bức ảnh không tất cả con mèo nào. Đầu vào $mathbfx$ ở chỗ này sẽ là các px một bức hình ảnh đầu vào.


Classification with 2 groupsClassification with 2 groups

Để đối kháng giản, đầu tiên ta sẽ cùng đi tìm kiếm hiểu mô hình và cách giải quyết và xử lý cho câu hỏi phân các loại nhị phân có nghĩa là $y=,1$. Tiếp đến ta không ngừng mở rộng cho ngôi trường hợp những nhóm sau.

2. Mô hình

Sử dụng phương pháp thống kê ta có thể coi rằng năng lực một đầu vào $mathbfx$ nằm vào trong 1 nhóm $y_0$ là xác suất nhóm $y_0$ khi biết $mathbfx$: $p(y_0|mathbfx)$. Nhờ vào công thức xác xuất hậu nghiệm ta có:

$$eginalignedp(y_0|mathbfx) &= dfracy_0)p(y_0)p(mathbfx)cr &= dfracy_0)p(y_0)y_0)p(y_0) + p(mathbfxendaligned$$

Đặt:$$a=lndfracy_0)p(y_0)p(mathbfx$$

Ta có:$$p(y_0|mathbfx)=dfrac11+exp(-a)=sigma(a)$$

Hàm $sigma(a)$ ở đây được hotline là hàm sigmoid (logistic sigmoid function). Làm nên chữ S bị ngăn 2 đầu của nó rất để biệt ở phần dạng phân phối đều ra và rất mượt.

Ở đây tôi không hội chứng minh, nhưng vận dụng thuyết phân phối chuẩn, ta hoàn toàn có thể chỉ ra rằng:$$a = mathbfw^intercalmathbfx + w_0$$Đặt: $mathbfx_0=<1,…,1>$, ta hoàn toàn có thể viết gọn lại thành:$$a = mathbfw^intercalmathbfx$$

Công thức tính phần trăm lúc này:$$p(y_0|mathbfx)=dfrac11+exp(-a)=sigma(mathbfw^intercalmathbfx)$$

Trong đó, $mathbfx$ là nằm trong tính nguồn vào còn $mathbfw$ là trọng số tương ứng.

Lưu ý rằng cũng như phần hồi quy tuyến đường tính thì $mathbfx$ ở đây không độc nhất thiết là đầu vào thô của tập dữ liệu mà ta rất có thể sử dụng các hàm cơ bản $phi(mathbfx)$ để tạo ra nó. Tuy nhiên, nghỉ ngơi đây khiến cho gọn gàng tôi không viết $phi(mathbfx)$ như lần trước nữa.

Có công thức tính được phần trăm rồi thì ta rất có thể sử dụng một ngưỡng $epsilonin <0,1>$ để quyết định nhóm tương ứng. Cầm thể:$$egincasesmathbfxin y_0 & extif p(y_0|mathbfx)geepsiloncrmathbfxin y_1 & extif p(y_0|mathbfx)ví dụ mẫu mã phần xác suất, ta cần tối thiểu hoá có tác dụng lỗi sau:$$J(mathbfw)=-frac1msum_i=1^mBig(y^(i)logsigma^(i) + (1-y^(i))log(1-sigma^(i))Big)$$

Trong đó, $m$ là form size của tập dữ liệu, $y^(i)$ lớp tương ứng của tài liệu thứ $i$ vào tập dữ liệu, $sigma^(i)=sigma(mathbfw^intercalmathbfx^(i))$ là tỷ lệ tương ứng lúc tính với mô hình cho dữ liệu thứ $i$.

3. Ước lượng tham số

3.1. Phương thức GD

Để về tối ưu hàm $J(mathbfw)$ trên, ta lại áp dụng các phương thức Gradient Descent để thực hiện. Ở đây, đạo hàm của hàm log trên có thể được tính như sau:$$eginalignedfracpartial J(mathbfw)partial w_j&=frac1msum_i=1^m(sigma_j^(i)-y_j^(i))mathbfx_j^(i)cr &=frac1msum_i=1^mig(sigma(mathbfw^intercalmathbfx_j^(i))-y_j^(i)ig)mathbfx_j^(i)cr &=frac1mmathbfX_j^intercalig(mathbfsigma_j-mathbfy_jig)endaligned$$

Ví dụ, theo phương thức BGD, ta đang cập nhập tham số sau mỗi vòng lặp như sau:$$mathbfw=mathbfw-etafrac1mmathbfX^intercalig(mathbfsigma-mathbfyig)$$

3.2. Phương thức Newton-Raphson

Phương pháp ở bên trên ta chỉ sử dụng đạo hàm bậc nhất cho phép GD thân quen thuộc, tuy nhiên ở vấn đề này việc áp dụng đạo hàm bậc 2 rước tại tốc độ tốt hơn.

$$mathbfw=mathbfw-mathbfH^-1 abla J(mathbfw)$$

Trong đó, $ abla J(mathbfw)$ là ma trận Jacobi của $J(mathbfw)$, còn $mathbfH$ là ma trận Hessian của $J(mathbfw)$. Tuyệt nói phương pháp khác, $mathbfH$ là ma trận Jacobi của $ abla J(mathbfw)$.

Phương pháp này có tên chính thức là Newton-Raphson. Cách thức này không những sử dụng riêng cho việc hồi quy logistic cơ mà còn hoàn toàn có thể áp dụng cho cả các bài toán hồi quy tuyến tính. Mặc dù nhiên, việc thực hiện với hồi quy con đường tính không thực thụ phổ biến.

Xem thêm: Photos At Haneul Spa, Eastern Manila District, Metro Manila

Ta có:$$eginaligned abla J(mathbfw)&=frac1msum_i=1^m(sigma^(i)-y^(i))mathbfx^(i)cr &=frac1mmathbfX^Tig(mathbfsigma-mathbfyig)endaligned$$

Đạo hàm của hàm sigmoid:$$fracdsigmada=sigma(1-sigma)$$

Nên:$$eginalignedmathbfH&= abla abla J(mathbfw)cr &=frac1msum_i=1^mmathbfx^(i)mathbfx^(i)^intercalcr &=frac1msum_i=1^mmathbfX^TmathbfXendaligned$$

Thế vào công thức cập nhập tham số ta gồm tham số sau các lần cập nhập là:$$mathbfw=(mathbfX^TmathbfX)^-1mathbfX^Tmathbfy$$

Như vậy, so với biện pháp lấy đạo hàm bậc 1 thì bí quyết này tỏ ra dễ dàng và đơn giản và nhanh hơn.

4. Lập trình

Dựa vào các phân tích phía bên trên ta thử thiết kế với BGD coi sao. Trong bài viết này tôi chỉ nhằm cập cho tới đoạn mã chính để thực hiện việc buổi tối ưu, còn tổng thể mã nguồn chúng ta cũng có thể xem trên kinhdientamquoc.vn.

Tập dữ liệu được sử dụng ở đó là dữ liệu bài xích tập vào khoá học ML của giáo sư Andrew Ng.


DatasetDataset

Kết quả thu được:$$egincasesw_0=-7.45017822 crw_1=0.06550395 crw_2=0.05898701endcases$$

Thử vẽ con đường phân tách bóc với $epsilon=0.5$ ta đã được:
Decision Boundary with ϵ=0.5Decision Boundary with ϵ=0.5

5. Phân các loại nhiều nhóm

Ở phần trên ta vừa phân tích phương thức phân loại 2 team $y=,1$, nhờ vào đó ta hoàn toàn có thể tổng quát lác hoá cho bài toán phân một số loại K team $y=1,..,K$. Về cơ bản 2 bao gồm 2 phương thức chính là:

Dựa theo phương thức 2 nhómDựa theo mô hình xác suất các nhóm

Cụ thể ra sao, ta thuộc xem chi tiết ngày phần dưới đây.

5.1. Dựa theo cách thức 2 nhóm

Ta hoàn toàn có thể sử dụng phương pháp phân một số loại 2 nhóm nhằm phân nhiều loại nhiều nhóm bằng phương pháp tính xác xuất của tầng nhóm khớp ứng rồi lựa chọn nhóm có tỷ lệ lớn độc nhất vô nhị là đích:$$p(y_k|mathbfx)=max p(y_j|mathbfx)~~~,forall j=overline1,K$$

Đoạn ra quyết định nhóm dựa vào ngưỡng $epsilon$ vẫn trọn vẹn tương từ bỏ như vậy. Ví như $p(y_k|mathbfx)geepsilon$ thì $mathbfxin y_k$, còn ko thì nó sẽ không thuộc team $y_k$.

Phương pháp này khá dễ dàng và đơn giản và dễ hiểu tuy nhiên việc thực thi hoàn toàn có thể rất tốn kém thời gian do ta đề xuất tính xác suất của tương đối nhiều nhóm. Bởi thế ta thuộc xem 1 chiến thuật khác công dụng hơn như dưới đây.

5.2. Dựa theo mô hình xác suất nhiều nhóm

Tương tự như phân các loại 2 nhóm, ta rất có thể mở rộng lớn ra thành những nhóm cùng với cùng phương pháp sử dụng công thức tỷ lệ hậu nghiệm để được hàm softmax sau:$$eginalignedp(y_k|mathbfx)=p_k&=fracp(mathbfxsum_jp(mathbfxcr &=fracexp(a_k)sum_jexp(a_j)endaligned$$

Với $a_j=logBig(p(mathbfx|y_j)p(y_j)Big)=mathbfw_j^intercalmathbfx$. Trong đó, $mathbfw_j$ là trọng số khớp ứng với nhóm $j$, còn $mathbfx$ là đầu vào dữ liệu. Tập các $mathbfw_j$ sẽ tiến hành gom lại bằng một ma trận trọng số $mathbfW$ với mỗi cột tương xứng với trọng số của group tương ứng.

Ở đây, ta đang mã hoá những nhóm của ta thành một véc-to one-hot với phần tử ở chỉ số nhóm tương ứng bằng 1 cùng các bộ phận khác bởi 0. Ví dụ: $y_1=<1,0,…,0>, y_3=<0,0,1,0,…,0>$. Tập hợp những véc-tơ đó lại ta sẽ sở hữu được được một ma trận chéo $mathbfY$ với từng cột tương ứng với cùng 1 nhóm. Ví dụ, ma trận sau màn trình diễn cho tập 3 nhóm:$$mathbfY=eginbmatrix1 và 0 & 0 cr0 và 1 và 0 cr0 & 0 & 1endbmatrix$$

Như vậy, ta rất có thể tính xác suất hợp toàn tập với trả sử các tập dữ liệu là độc lập đôi một:$$eginalignedp(mathbfY|mathbfW)&=prod_i=1^mprod_k=1^Kp(y_k|mathbfx_i)^Y_ikcr &=prod_i=1^mprod_k=1^Kp_ik^Y_ikendaligned$$

Trong đó, $p_ik=p_k(mathbfx_i)$. Mang log ta được hàm lỗi:$$J(mathbfW)=-sum_i=1^msum_k=1^KY_iklog p_ik$$

Như vậy, ta có thể thấy đấy là công thức tổng thể của hàm lỗi trong trường vừa lòng 2 nhóm. Phương pháp này còn có tên gọi là cross-entropy error function.

Việc tối ưu hàm lỗi này cũng tương tự như trường đúng theo 2 nhóm bằng phương pháp lấy đạo hàm:$$ abla_w_jJ(mathbfW)=sum_i=1^mig(p_ij-Y_ijig)mathbfx_i$$

cross-entropy là biện pháp đo độ tương tự như giữ 2 phân phối phần trăm với nhau. Nếu 2 phần phối càng kiểu như nhau thì cross-entropy của chúng càng nhỏ. Như vậy để tìm quy mô gần với quy mô thực của tập dữ liệu, ta chỉ việc tối thiểu hoá cross-entropy của nó.

6. Over-fitting

Tương từ bỏ như phần hồi quy con đường tính, ta rất có thể xử lý overfitting bằng phương thức thêm hệ số chính quy hoá đến hàm lỗi:$$J(mathbfw)=-frac1msum_i=1^mBig(y^(i)logsigma^(i) + (1-y^(i))log(1-sigma^(i))Big)+lambdafrac1mmathbfw^intercalmathbfw$$

Đạo hàm từ bây giờ sẽ là:$$fracpartial J(mathbfw)partial w_j=frac1mmathbfX_j^intercalig(mathbfsigma_j-mathbfy_jig)+lambdafrac1mw_j$$

7. Kết luận

Bài viết lần này đang tổng kết lại cách thức phân các loại logistic regression phụ thuộc vào cách tính xác suất của từng nhóm. Phương này khá đơn giản và dễ dàng nhưng cho công dụng rất khả quan và được áp dụng tương đối nhiều trong cuộc sống.

Với phân các loại nhị phân (2 nhóm), ta có cách tính xác suất:$$p(y_0|mathbfx)=dfrac11+exp(-a)=sigma(mathbfw^intercalmathbfx)$$

Hàm lỗi tương ứng:$$J(mathbfw)=-frac1msum_i=1^mBig(y^(i)logsigma^(i) + (1-y^(i))log(1-sigma^(i))Big)+lambdafrac1mmathbfw^intercalmathbfw$$

Có đạo hàm:$$fracpartial J(mathbfw)partial w_j=frac1mmathbfX_j^intercalig(mathbfsigma_j-mathbfy_jig)+lambdafrac1mw_j$$

Trong thực tế, ta liên tiếp phải phân các loại nhiều nhóm. Vấn đề này rất có thể áp dụng bằng cách lấy team có tỷ lệ lớn độc nhất vô nhị hoặc sử dụng softmax để tính xác suất:$$p(y_k|mathbfx)=p_k=fracexp(a_k)sum_jexp(a_j)$$Với $a_j=mathbfw_j^intercalmathbfx$, trong số đó véc-tơ $mathbfw_j$ là trọng số tương ứng với mỗi nhóm.