機器學習 --- 線性迴歸與邏輯迴歸
線性迴歸和邏輯迴歸在機器學習上是一種監督式學習。在預測類問題上,我們希望能通過一個對映關係 ,當給定變數 ,能得到一個較為滿意的預測結果 ,迴歸方法旨在找到能表示樣本空間分佈的對映關係。
一、線性迴歸的基本形式
假設一個描述的示例: ,表示第 個樣本具備 個特徵。對於 個樣本,每個樣本都有 個特徵,線性模型試圖建立預測函式:
寫成向量的形式:
,使得
二、線性迴歸的代價函式
為了能滿足 ,問題轉變成如何確立引數 和 ,這點需要從預測值 與真實值 差距入手,因此需要引入代價函式來反映這種差距。這裡使用均方誤差函式:
三、正規方程求解線性迴歸
上述方程是針對第 個樣本。對於 個樣本, 每個樣本個特徵。同時為了統一格式,需要加入 的情況,令 ,寫成矩陣形式:
,
令 ,整個問題轉變成:
很自然的想到通過求導的方式來尋找最小值。對 求導並令導數為零,則有:
觀察上式的 ,當 不可逆時(說明 的某些特徵存在冗餘,即某些特徵線性相關),無法求得該關係式的逆。這時候需要引入正則化。同樣地,當矩陣 規模過於龐大,求解逆將會帶來巨大的時間開銷。這時會考慮使用梯度下降法來求解。
四、梯度下降法求解
梯度下降法的思想是:從某點開始,求出該點的梯度向量,給定學習率 。沿著梯度向量的反方向,以步長
為了方便用圖形說明,設成本函式: ,下圖是整個迭代的過程。
觀察上圖會發現,函式可能會陷入區域性最優解。但對於凸函式來說,則一定會收斂到全域性最優解。需要注意的是,當學習率取得過大,函式可能會難以收斂到最優解。反之,迭代收斂速度會變得緩慢。本例中所使用的均方誤差函式,直觀地說明影象就好比一個開口朝上地碗似的,因此必定會收斂到全域性最有點
一般情況下,每次迭代過程中有:
迭代過程中,成本函式的值會逐漸減小,反應在該模型中就是 ,即預測值相對於真實值的差距會逐步縮小。最終可以在 個樣本的集合中,擬合出較為合適的近似函式。
五、邏輯迴歸基本形式
上述過程可以得到連續區間的值,對於分類問題來說。需要將結果對映到一個離散的空間中,自然地想到,通過給定閾值可以很好地將結果歸類。邏輯迴歸比較常用於這種問題。以二分類問題為例,其 ,通過sigmoid函式可以將輸出結果是連續值對映到 概率值 上。
當z的值很大時,y的值趨近於1。當z值很小時,y值趨近於0
將之前的線性迴歸函式與sigmoid函式聯立中:
如果使用均方誤差代價函式,會出現,當sigmoid函式逐步趨近於0/1時,函式的梯度變得平緩,因此所求導數值會非常小,所以每次梯度下降的步長會很小,導致整個收斂過程變得非常緩慢。下面進行一個簡單的推導來說明這種現象:
為了簡單起見,以單個樣本為例,考慮輸入的特徵屬性僅為1,則有:
, ,
推導:
觀察上述式子,當 很大或者很小時, 值也會保持一個很小的值,因此會導致收斂速度緩慢。
六、邏輯迴歸中的交叉熵函式
對於二分類問題,交叉熵函式(此處的log以e為底)可以很好的避免上述的問題:
接著開始推導交叉熵函式。由於整個樣本的分佈滿足引數為 的伯努利分佈,在樣本空間 上:
因此樣本 的分佈律是:
由似然函式:
為了構建近似樣本真實的概率分佈,需要取似然函式的最大值,因此對似然函式兩邊取對數並乘以-1,即最小化下面的式子:
通過最小化代價函式,可以得到一個近似於訓練樣本的概率分佈。
七、多分類問題
對於多分類問題,可以訓練多個二分類模型來。最簡單的例子就是對A,B,C三種類別進行分類。分別訓練用於分別A、B和C的模型,B、A和C的模型,C、A和B的模型。
參考文獻:
1.周志華. 機器學習[M]. 清華大學出版社, 2016.
2.Ian Goodfellow,Yoshua Bengio,Aaron Courville.深度學習[M].人民郵電出版社,2017
3.Andrew Ng 機器學習系列課程