Mô hình hồi quy logistic

     

Trong những phần trước ta đã tìm hiểu về phương thức hồi quy con đường tính để dự đân oán đầu ra liên tục, phần này ta vẫn xem thêm một thuật toán nữa vào học tập tất cả giám sát và đo lường là hồi quy logistic (Logistic Regression) nhằm mục đính phân các loại dữ liệu.

Bạn đang xem: Mô hình hồi quy logistic

Mục lục3. Ước lượng tsay mê số5. Phân các loại các nhóm1. Định nghĩa

Phương thơm pháp hồi quy logistic là 1 quy mô hồi quy nhằm mục tiêu dự đoán quý hiếm Áp sạc ra tránh rạc (discrete target variable) $y$ ứng với cùng 1 véc-tơ đầu vào $mathbfx$. Việc này tương tự với cthị trấn phân các loại những đầu vào $mathbfx$ vào các team $y$ tương xứng.

Ví dụ, xem một tấm hình gồm chứa một nhỏ mèo hay không. Thì ở đây ta coi áp ra output $y=1$ nếu bước ảnh tất cả một con mèo với $y=0$ nếu như tấm hình không tồn tại bé mèo làm sao. Đầu vào $mathbfx$ tại đây đã là những px một tấm hình nguồn vào.


Classification with 2 groupsClassification with 2 groups

Để đơn giản dễ dàng, trước tiên ta sẽ cùng đi kiếm gọi quy mô và cách giải quyết cho bài tân oán phân loại nhị phân Tức là $y=,1$. Sau đó ta không ngừng mở rộng mang lại ngôi trường hợp những nhóm sau.

2. Mô hình

Sử dụng phương thức những thống kê ta hoàn toàn có thể coi rằng tài năng một đầu vào $mathbfx$ nằm vào trong 1 đội $y_0$ là Tỷ Lệ team $y_0$ lúc biết $mathbfx$: $p(y_0|mathbfx)$. Dựa vào cách làm xác xuất hậu nghiệm ta có:

$$eginalignedp(y_0|mathbfx) &= dfracy_0)p(y_0)p(mathbfx)cr &= dfracp(mathbfxp(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)$ tại đây được Call là hàm sigmoid (logistic sigmoid function). Hình dạng chữ S bị chặn 2 đầu của nó rất đặt biệt tại phần dạng phân pân hận đa số ra cùng hết sức mượt.

Ở phía trên tôi không chứng tỏ, cơ mà vận dụng tmáu phân phối hận chuẩn, ta có thể chỉ ra rằng:$$a = mathbfw^intercalmathbfx + w_0$$Đặt: $mathbfx_0=<1,…,1>$, ta có thể viết gọn gàng lại thành:$$a = mathbfw^intercalmathbfx$$

Công thức tính xác suất lúc này:$$p(y_0|mathbfx)=dfrac11+exp(-a)=sigma(mathbfw^intercalmathbfx)$$

Trong số đó, $mathbfx$ là thuộc tính đầu vào còn $mathbfw$ là trọng số tương ứng.

Lưu ý rằng tương tự như phần hồi quy con đường tính thì $mathbfx$ tại đây ko tốt nhất thiết là đầu vào thô của tập tài liệu mà lại ta rất có thể thực hiện những hàm cơ phiên bản $phi(mathbfx)$ để tạo nên nó. Tuy nhiên, tại chỗ này để cho nhỏ gọn tôi ko viết $phi(mathbfx)$ nhỏng lần trước nữa.

Có bí quyết 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 đội tương xứng. Cụ thể:$$egincasesmathbfxin y_0 & extif p(y_0|mathbfx)geepsiloncrmathbfxin y_1 & extif p(y_0|mathbfx)ví dụ mẫu phần phần trăm, ta bắt buộc về tối tgọi hoá làm lỗi sau:$$J(mathbfw)=-frac1msum_i=1^mBig(y^(i)logsigma^(i) + (1-y^(i))log(1-sigma^(i))Big)$$

Trong số đó, $m$ là kích thước của tập dữ liệu, $y^(i)$ lớp tương ứng của tài liệu sản phẩm công nghệ $i$ trong tập tài liệu, $sigma^(i)=sigma(mathbfw^intercalmathbfx^(i))$ là xác suất khớp ứng khi tính với mô hình cho dữ liệu đồ vật $i$.

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

3.1. Pmùi hương pháp GD

Để về tối ưu hàm $J(mathbfw)$ bên trên, ta lại thực hiện các phương pháp Gradient Descent nhằm thực hiện. Ở phía trên, đạo hàm của hàm log bên trên rất có thể được xem nlỗi 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ụ như, theo phương pháp BGD, ta đang cập nhập tsay đắm số sau từng vòng lặp như sau:$$mathbfw=mathbfw-etafrac1mmathbfX^intercalig(mathbfsigma-mathbfyig)$$

3.2. Phương pháp Newton-Raphson

Phương pháp ngơi nghỉ bên trên ta chỉ sử dụng đạo hàm bậc nhất có thể chấp nhận được GD rất gần gũi, mặc dù sống bài xích toán thù này vấn đề sử dụng đạo hàm bậc 2 rước tại tốc độ giỏi rộng.

$$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)$. Hay có thể nói, $mathbfH$ là ma trận Jacobi của $ abla J(mathbfw)$.

Phương thơm pháp này mang tên phê chuẩn là Newton-Raphson. Phương pháp này không chỉ sử dụng riêng đến bài tân oán hồi quy logistic mà còn rất có thể áp dụng cho tất cả những bài tân oán hồi quy con đường tính. Tuy nhiên, câu hỏi triển khai với hồi quy tuyến đường tính không thực sự thông dụng.

Xem thêm: Xe Suzuki 7 Chỗ Đời 2004 Giá 90T, Suzuki 7 Chỗ Đời 2004

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ách làm cập nhập ttê mê số ta gồm tđắm say số sau những lần cập nhập là:$$mathbfw=(mathbfX^TmathbfX)^-1mathbfX^Tmathbfy$$

Bởi vậy, đối với cách đem đạo hàm bậc 1 thì biện pháp này tỏ ra dễ dàng với nhanh hơn.

4. Lập trình

Dựa vào các phân tích phía trên ta test thiết kế cùng với BGD xem sao. Trong bài viết này tôi chỉ để cập tới đoạn mã chủ yếu để tiến hành câu hỏi tối ưu, còn cục bộ mã nguồn chúng ta cũng có thể coi bên trên hoanglamcm.net.

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


DatasetDataset

Kết trái thu được:$$egincasesw_0=-7.45017822 crw_1=0.06550395 crw_2=0.05898701endcases$$

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

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

Tại phần bên trên ta vừa so sánh cách thức phân nhiều loại 2 nhóm $y=,1$, phụ thuộc vào đó ta có thể tổng thể hoá mang lại bài bác toán phân một số loại K đội $y=1,..,K$. Về cơ bản 2 gồm 2 phương thức chủ yếu là:

Dựa theo phương thức 2 nhómDựa theo quy mô Tỷ Lệ nhiều nhóm

Cụ thể thế nào, ta cùng xem cụ thể ngày phần dưới đây.

5.1. Dựa theo phương pháp 2 nhóm

Ta rất có thể thực hiện cách thức phân loại 2 nhóm để phân các loại nhiều đội bằng phương pháp tính xác xuất của tầng đội tương ứng rồi chọn team bao gồm Xác Suất lớn số 1 là đích:$$p(y_k|mathbfx)=max p(y_j|mathbfx)~~~,forall j=overline1,K$$

Đoạn ra quyết định đội dựa vào ngưỡng $epsilon$ vẫn hoàn toàn giống như những điều đó. Nếu $p(y_k|mathbfx)geepsilon$ thì $mathbfxin y_k$, còn không thì nó sẽ không nằm trong team $y_k$.

Pmùi hương pháp này tương đối đơn giản dễ dàng và dễ dàng nắm bắt tuy nhiên câu hỏi xúc tiến hoàn toàn có thể hết sức tốn kỉm thời gian bởi ta phải tính xác suất của khá nhiều team. do đó ta thuộc xem 1 phương án không giống công dụng hơn như dưới đây.

5.2. Dựa theo quy mô Tỷ Lệ những nhóm

Tương trường đoản cú nlỗi phân nhiều loại 2 nhóm, ta hoàn toàn có thể mở rộng ra thành các đội cùng với cùng cách thức thực hiện công thức Tỷ Lệ hậu nghiệm sẽ được hàm softmax sau:$$eginalignedp(y_k|mathbfx)=p_k&=fracp(mathbfxy_j)p(y_j)cr &=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 số đó, $mathbfw_j$ là trọng số tương xứng cùng với team $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ởi một ma trận trọng số $mathbfW$ cùng với từng cột tương xứng với trọng số của nhóm tương ứng.

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

vì thế, ta rất có thể tính Xác Suất hợp toàn tập với trả sử những tập tài liệu là chủ quyền đô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)$. Lấy log ta được hàm lỗi:$$J(mathbfW)=-sum_i=1^msum_k=1^KY_iklog p_ik$$

Vậy nên, ta có thể thấy đây là công thức bao quát của hàm lỗi trong ngôi trường vừa lòng 2 team. Công thức này còn mang tên gọi là cross-entropy error function.

Việc tối ưu hàm lỗi này cũng giống như nhỏng trường thích hợp 2 đội bằng phương pháp mang đạo hàm:$$ abla_w_jJ(mathbfW)=sum_i=1^mig(p_ij-Y_ijig)mathbfx_i$$

cross-entropy là phương pháp đo độ tương tự như duy trì 2 phân păn năn tỷ lệ với nhau. Nếu 2 phần phối càng giống nhau thì cross-entropy của chúng càng nhỏ dại. bởi thế nhằm tra cứu mô hình ngay gần với quy mô thực của tập dữ liệu, ta chỉ cần về tối tđọc hoá cross-entropy của chính nó.

6. Over-fitting

Tương từ như phần hồi quy tuyến đường tính, ta có thể cách xử lý overfitting bởi phương pháp thêm thông số chủ yếu 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 lúc này 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 sẽ tổng đặc lại phương pháp phân một số loại logistic regression phụ thuộc phương pháp tính Tỷ Lệ của mỗi team. Phương này khá đơn giản tuy vậy cho công dụng vô cùng khách quan và được áp dụng không hề ít vào cuộc sống đời thường.

Với phân một số loại nhị phân (2 nhóm), ta gồm phương pháp 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 thường xuyên nên phân loại nhiều đội. Việc này hoàn toàn có thể vận dụng bằng phương pháp mang team bao gồm Xác Suất lớn số 1 hoặc sử dụng softmax nhằm 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 những số đó véc-tơ $mathbfw_j$ là trọng số khớp ứng cùng với mỗi nhóm.