Basic Data Science : Logistic Regression

Logistic function หรือ Sigmoid function [1]

Sigmoid curve



\(\large f(x) = \frac{L}{1-e^{-k(x-x_0)}}\dashrightarrow(1)\)


เมื่อ
\( \large e\) คือ  Euler's number [2]
k คือ ความชัน
\(\large x_0\) ค่าที่อยู่ตรงกลางของ Sigmoid (Sigmoid midpoint)
\(x \) คือจำนวนจริง มีค่าระหว่าง \( -\infty,+\infty\)
L คือ maximum value

standard Logistic function คือ Logistic function ที่มีค่าของ  L = 1,\( x_0 = 0\) และ k = 1 ได้สมการคือ

\(\large f(x) = \frac{1}{1+e^{-x}}\dashrightarrow(2)\)

หรือ
\( \large f(x) = \frac{e^x}{1+e^x} \dashrightarrow(3)\)


Logistic Regression

Logistic regression คือ classification algorithm  เทียบกับ Linear Regression , \(\large h(x) = X \cdot \beta^T\) แล้ว Logistic Regression ไม่ใช้ค่าของ Response variable (h(x)) โดยตรง แต่ใช้ค่าความน่าจะเป็น ของ Response variable ผ่าน Logistic function

\(\large h_{\beta}(x) = g(z)  = \frac{e^{z}}{1+e^{z}} \)


เมื่อ \( g(z) \) คือ Logistic function หรือ Sigmoid function ของ \( h(x) \) และ \( z = X \cdot \beta \)

จะตีความ \( h_{\beta}(x)\) ที่ได้ว่าเป็น "probability" ของ Response variable (y) จะมีค่าเป็น "1"

\( h_{\beta}(x) = P(y = 1 \mid x;\beta)\) (probability ของ y ที่จะมีค่าเป็น 1 เมื่อ x ใช้ parameter \( \beta \) ในทางตรงข้ามจะได้ \( P(y = 0 \mid x;\beta) = 1 - P(y=1 \mid x;\beta)\)

การแบ่งกลุ่มสามารถอาศัยค่าความน่าจะเป็นเหมือนกับการใช้คำตอบ "ใช่" กับ "ไม่ใช่" หรือ "1" กับ "0" 

Update rule (Stochastic gradient descent) [4][5]

\(\large \beta_{j} = \beta_{j} + \alpha(y^{(i)} - h_{\beta}(x^{i}))x_{j}^{(i)} \dashrightarrow(1) \)

เมื่อ \(\large \alpha \) คือ Learning rate

[Download Code ]

เอกสารอ้างอิง
[1] https://en.wikipedia.org/wiki/Logistic_function
[2] https://en.wikipedia.org/wiki/E_(mathematical_constant)
[3] https://en.wikipedia.org/wiki/Logistic_regression
[4] http://thegrandjanitor.com/2015/08/20/gradient-descent-for-logistic-regression/
[5] http://www.holehouse.org/mlclass/06_Logistic_Regression.html



ความคิดเห็น