是Classification method
他的名稱會讓人誤會以為是regression method,事實上是classification。但是logistic regression可以output一個機率值,也就是符合regressor的定義,但是因為機率只能是 0 ~ 1之間的實數,可以根據機率來做classification thresholding 的依據,所以本質上是一個classifier。
這類的data由於被label成categorical variable (例如0, 1 或是+1, -1),不適合直接用linear regression來做,因為linear regression是要找出能代表此data set的線性方程式,但是對categorical variable來說,data會有明顯分群現象,不可能找出代表性線性方程式。
例如以下標示銀行存款與客戶信用違約的training set,如果用linear regression是很差的predictor:
Linear model
logistic regression也是一個linear model:事實上,f(x) 是一個conditional Bernoulli RV:
一個看起來符合probability distribution定義的function是sigmoid function:
當然g的input z就是我們的linear combination f(x),所以事實上我們是把f(x)的結果再map到0~1之間的實數。也可以直接把f(x)寫成以下:
d-維度 x的通式如下:
事實上,並不只限於sigmoid function,只要能把linear combination map到0~1之間的實數的function都可以使用。
對剛剛範例中的銀行信用違約data來說,右邊為logistic regression結果:
Prediction
如果找到所有的beta weights,其實就把linear combination帶入sigmoid function就能得到條件機率:如果要map到categorical variable的話,就對此機率做thresholding即可。
Learn the model
我們仍然可以用least square error當作learning的方法,所以loss function 和Risk function:不過我們不能用gradient descent來找出minima,為什麼?
因為 f(x)是sigmoid function的形式,所以已經不是多項式,更不是二次多項式,所以不會是一個灣口向上的convex幾何體,而是可能會有多個local optima的幾何體。
有趣的是,就像我們用sigmoid function來包裹linear combination使得其數值落在0~1之間,我們也可以把這個Risk function變成一個convex! 稱作convexify:
我也忘了log(f(x)) 為什麼會變成這樣兩個cases,代數應該要複習了!!!!!!!
我們可以將這兩個case合併成一個function(因為y不是0就是1):
這樣就可以apply gradient descent去找一個唯一的minimum。
其餘詳請請洽ML老師!!
沒有留言:
張貼留言