線性迴歸與邏輯迴歸
也可以配合這篇文章(CS229學習筆記)進行學習。
目錄
1 迴歸問題
分類:一元線性迴歸;多元線性(用曲面擬合);廣義線性迴歸(用線性迴歸方法處理非線性迴歸問題);非線性迴歸
關係:
相關係數:
相關係數的取值範圍為[-1,1],它的絕對值越接近於1,越適合用直線去擬合。
求各點到直線距離之和 -> 求平行於y軸的線段長度的平方和,稱為殘差和 -> 令殘差和最小
求解上圖中的二元一次方程組,解為:
2 虛擬變數
虛擬變數其實算不上一種變數型別(比如連續變數、分類變數等),確切地說,是一種將多分類變數轉換為二分變數的一種形式。
比如預測體重w,輸入的變數由身高h和性別、人種。其中性別(男or女,暫不考慮複雜情況0)、人種(黃or白or黑,暫不考慮混血等複雜情況)不是連續變數。此時的迴歸模型為:
w = a + b*h +c*is_man +d*is_yellow + e*is_white
該模型為加法模型。其中is_man,is_yellow,is_white都只能取0或1(能取n個值的變數,在式子中由n-1項表示;比如人種一共三類,則式子中用is_yellow,is_white兩個變量表示;否則會造成多重共線性)。
因此我們可以發現,三個啞變數在例子裡渠道的作用是調整截距。
如何讓啞變數對斜率也產生影響呢?——乘法模型
採用同樣的例子,此時迴歸模型為:
w = a + b*h +c*is_man*h +d*is_woman*h + e*is_yellow*h + f*is_white*h + g*is_black*h
對於乘法模型來說,必須把每個變數所有的情況表示在式子裡。
3 迴歸診斷
3.1 發現離群值
3.2 判斷線性假設是否合理
3.3 誤差是否滿足獨立、等方差、正態分佈?
首先,讓我們承認誤差的存在,當預測值加上一個誤差時,才能得到實際值:
第二,我們假設誤差服從正態分佈。這個假設有兩個原因,一個是影響誤差的因素有很多,這些因素都是隨機分佈的,但是它們在整體上會趨向於正態分佈,另一個是因為在把誤差假設為服從正態分佈後,相應的工作一般都能取得比較好的效果,雖然它們還是沒有非常精確,但是已經足夠了。
3.4 多重共線性
多重共線性是指線性迴歸模型中的解釋變數之間由於存在精確相關關係或高度相關關係而使模型估計失真或難以估計準確。
一般來說,由於經濟資料的限制使得模型設計不當,導致設計矩陣中解釋變數間存在普遍的相關關係。完全共線性的情況並不多見,一般出現的是在一定程度上的共線性,即近似共線性。
有的時候,當自變數彼此相關時,迴歸模型可能非常令人糊塗,估計的效應會隨著模型中的其他的自變數而改變數值,甚至是符號,所以我們在分析的時候,瞭解自變數間的關係的影響是很重要的,因此這個複雜的問題就常被稱之為共線性或多重共線性.
多重共線性的判別方法是:
1)相關係數,如果係數很大,比如0.8以上,高度相關的話,變數間就非常可能存在共線性。
2)kappa係數,對相關係數矩陣求k值,如果大於100是較強共線性,大於1000是嚴重共線性。再通過eigen看存在共線性的變數。
4 廣義線性迴歸
5 邏輯迴歸問題
解決分類問題——將樣本特徵和樣本發生的概率聯絡起來,而概率是一個數,所以稱為邏輯迴歸
邏輯迴歸得到的是一個概率。只能解決二分類問題。
直接使用線性迴歸的方法,沒有值域的限制,而概率是有值域限制的:
所以我們可以把線性迴歸的解經過一個特殊的函式:
5.1 Sigmoid函式
5.2 損失函式
合併後的損失函式為
其中y=1時的損失函式:
p越小,懲罰越大;p=1時,懲罰為0。
y=0時的損失函式:
該損失函式沒有公式解,只能用梯度下降的方法求解;同時由於是凸函式,可以求到全域性最優解。
5.3 梯度下降
其中X_j^i是X_b的第i行j列的元素
經過化簡後:
(注意前面的係數不一樣!)
邏輯迴歸的向量化: