分類:
欠擬合與過擬合概念 本次課程大綱: 1、 局部加權回歸:線性回歸的變化版本 2、 概率解釋:另一種可能的對于線性回歸的解釋 3、 Logistic回歸:基于2的一個分類算法 4、 感知器算法:對于3的延伸,簡要講
復習:
令
n為特征數(shù)量
定義成本函數(shù)J,定義為:
m為訓練樣本 通過正規(guī)方程組推導的結論:
1、 過擬合與欠擬合
通常,你選擇交給學習算法處理的特征的方式對算法的工作過程有很大影響。
例:上次課的例子中,用x1表示房間大小。通過線性回歸,在橫軸為房間大小,縱軸為價格的圖中,畫出擬合曲線?;貧w的曲線方程為:
若定義特征集合為:x1表示房子大小,x2表示房子大小的平方,使用相同的算法,擬合得到一個二次函數(shù),在圖中即為一個拋物線,即: 以此類推,若訓練集有7個數(shù)據(jù),則可擬合出最高6次的多項式,可以找到一條完美的曲線,該曲線經(jīng)過每個數(shù)據(jù)點。但是這樣的模型又過于復雜,擬合結果僅僅反映了所給的特定數(shù)據(jù)的特質,不具有通過房屋大小來估計房價的普遍性。而線性回歸的結果可能無法捕獲所有訓練集的信息。
所以,對于一個監(jiān)督學習模型來說,過小的特征集合使得模型過于簡單,過大的特征集合使得模型過于復雜。
對于特征集過小的情況,稱之為欠擬合(underfitting); 對于特征集過大的情況,稱之為過擬合(overfitting)
解決此類學習問題的方法: 1) 特征選擇算法:一類自動化算法,在這類回歸問題中選擇用到的特征 2) 非參數(shù)學習算法:緩解對于選取特征的需求,引出局部加權回歸
參數(shù)學習算法(parametric learning algorithm)
定義:參數(shù)學習算法是一類有固定數(shù)目參數(shù),以用來進行數(shù)據(jù)擬合的算法。設該固定的參數(shù)集合為
非參數(shù)學習算法(Non-parametric learning algorithm) 定義:一個參數(shù)數(shù)量會隨m(訓練集大小)增長的算法。通常定義為參數(shù)數(shù)量雖m線性增長。換句話說,就是算法所需要的東西會隨著訓練集合線性增長,算法的維持是基于整個訓練集合的,即使是在學習以后。
2、 局部加權回歸(Locally Weighted Regression) 一種特定的非參數(shù)學習算法。也稱作Loess。
算法思想: 假設對于一個確定的查詢點x,在x處對你的假設h(x)求值。
對于線性回歸,步驟如下:
1) 擬合出
2) 返回
對于局部加權回歸,當要處理x時: 1) 檢查數(shù)據(jù)集合,并且只考慮位于x周圍的固定區(qū)域內(nèi)的數(shù)據(jù)點 2) 對這個區(qū)域內(nèi)的點做線性回歸,擬合出一條直線 3) 根據(jù)這條擬合直線對x的輸出,作為算法返回的結果
用數(shù)學語言描述即:
1) 擬合出 2) w為權值,有很多可能的選擇,比如:
- 其意義在于,所選取的x(i)越接近x,相應的w(i)越接近1;x(i)越遠離x,w(i)越接近0。直觀的說,就是離得近的點權值大,離得遠的點權值小。 - 這個衰減函數(shù)比較具有普遍意義,雖然它的曲線是鐘形的,但不是高斯分布。
-
3) 返回
總結:對于局部加權回歸,每進行一次預測,都要重新擬合一條曲線。但如果沿著x軸對每個點都進行同樣的操作,你會得到對于這個數(shù)據(jù)集的局部加權回歸預測結果,追蹤到一條非線性曲線。
*局部加權回歸的問題: 由于每次進行預測都要根據(jù)訓練集擬合曲線,若訓練集太大,每次進行預測的用到的訓練集就會變得很大,有方法可以讓局部加權回歸對于大型數(shù)據(jù)集更高效,詳情參見Andrew Moore的關于KD-tree的工作。
3、 概率解釋
概率解釋所解決的問題: 在線性回歸中,為什么選擇最小二乘作為計算參數(shù)的指標,使得假設預測出的值和真正y值之間面積的平方最小化?
我們提供一組假設,證明在這組假設下最小二乘是有意義的,但是這組假設不唯一,還有其他很多方法可以證明其有意義。
(1) 假設1:
假設輸入與輸出為線性函數(shù)關系,表示為:
其中,
假設 高斯分布的概率密度函數(shù):
根據(jù)上述兩式可得:
即,在給定了特征與參數(shù)之后,輸出是一個服從高斯分布的隨機變量,可描述為:
*為什么選取高斯分布? 1) 便于數(shù)學處理 2) 對絕大多數(shù)問題,如果使用了線性回歸模型,然后測量誤差分布,通常會發(fā)現(xiàn)誤差是高斯分布的。 3) 中心極限定律:若干獨立的隨機變量之和趨向于服從高斯分布。若誤差有多個因素導致,這些因素造成的效應的總和接近服從高斯分布。
注意:
假設每個 為IID(independently and identically distributed)獨立同分布 即誤差項彼此之間是獨立的,并且他們服從均值和方差相同的高斯分布
(2) 假設2:
設
由于
(3) 假設3:
極大似然估計:選取
定義對數(shù)似然函數(shù)為
上式兩個加項,前一項為常數(shù)。所以,使似然函數(shù)最大,就是使后一項最小,即:
這一項就是之前的
注意:高斯分布的方差對最終結果沒有影響,由于方差一定為正數(shù),所以無論取什么值,最后結果都相同。這個性質會在下節(jié)課講到。
4、 Logistic回歸
這是我們要學習的第一個分類算法。之前的回歸問題嘗試預測的變量y是連續(xù)變量,在這個分類算法中,變量y是離散的,y只取{0,1}兩個值。
一般這種離散二值分類問題用線性回歸效果不好。比如x<=3,y=0;x>3,y=1,那么當x>3的樣本占得比例很大是,線性回歸的直線斜率就會越來越小,y=0.5時對應的x判決點就會比3大,造成預測錯誤。
若y取值{0,1},首先改變假設的形式,使假設得到的值總在[0,1]之間,即: 所以,選取如下函數(shù):
其中:
g函數(shù)一般被稱為logistic函數(shù),圖像如下:
z很小時,g(z)趨于0,z很大時,g(z)趨于1,z=0時,g(z)=0.5
對假設的概率解釋: 假設給定x以為參數(shù)的y=1和y=0的概率:
可以簡寫成:
參數(shù)的似然性:
求對數(shù)似然性:
為了使似然性最大化,類似于線性回歸使用梯度下降的方法,求對數(shù)似然性對
因為求最大值,此時為梯度上升。 偏導數(shù)展開:
則:
即類似上節(jié)課的隨機梯度上升算法,形式上和線性回歸是相同的,只是符號相反,
5、 感知器算法
在logistic方法中,g(z)會生成[0,1]之間的小數(shù),但如何是g(z)只生成0或1? 所以,感知器算法將g(z)定義如下:
同樣令
盡管看起來和之前的學習算法類似,但感知器算法是一種非常簡便的學習算法,臨界值和輸出只能是0或1,是比logistic更簡單的算法。后續(xù)講到學習理論是,會將其作為基本的構造步驟。 |
|
|