機器學習的有監督算法分為分類和回歸兩種。
- 回歸:通過輸入的數據,預測出一個值,如銀行貸款,預測銀行給你貸多少錢。
- 分類:通過輸入的數據,得到類別。如,根據輸入的數據,銀行判斷是否給你貸款。
一、線性回歸
現在這里有一個例子
數據:工資和年齡(2個特征)
目標:預測銀行會貸款給我多少錢(標簽)
考慮:工資和年齡都會影響最終銀行貸款的結果那么它們各自有多大的影響呢?(參數)
工資 | 年齡 | 額度 |
4000 | 25 | 20000 |
8000 | 30 | 70000 |
5000 | 28 | 35000 |
7500 | 33 | 50000 |
12000 | 40 | 85000 |
輸入為工資和年齡,輸出為銀行貸款的額度。那么輸入和輸出到底有什么關系呢?
假設X1,X2就是我們的兩個特征(年齡,工資),Y是銀行最終會借給我們多少錢
線性回歸呢就是找到最合適的一條線(想象一個高維)來最好的擬合我們的數據點,那么這個地方因為自變量涉及兩個,所以最終目的就是找出一個擬合平面。
那么現在繼續假設θ1是年齡的參數, θ2是工資的參數。那么擬合的平面表達式為(θ0為偏置項,θ1、θ2為權重參數):
這里的話總共有兩個特征,那么當有n個特征的時候的表達式為(θ0對應的X0全為1):
二、誤差
真實值和預測值之間肯定是要存在差異的(用 ε 來表示該誤差),而對於每個樣本來說,真實值等於預測值加上誤差值,公式表達為:
- 誤差ε(i)是獨立並且具有相同的分布,並且服從均值為0方差為θ2的高斯分布(正態分布)。
- 獨立:張三和李四一起來貸款,他倆沒關系。
- 同分布:他倆都來得是我們假定的這家銀行。
- 高斯分布:銀行可能會多給,也可能會少給,但是絕大多數情況下這個浮動不會太大,極小情況下浮動會比較大,符合正常情況。
預測值與誤差:
由於誤差服從高斯分布:
將兩個式子整合得到:
似然函數(什么樣的參數跟我們的數據組合后(這個組合后的值就是預測值)恰好是真實值),最大似然估計(參數跟數據組合后恰好是真實值的概率是最大的),下面兩個豎線數學符號的意思是進行累乘。
對數似然(乘法理解,加法就容易了,對數里面乘法可以轉化成加法):
三、推導
對上面的對數似然進行整合可以得到:
我們的最終目標就是讓似然函數(對數似然也是一樣)越大越好,因為上面這個式子,前半部分是恆大於0的且是常數,后半部分也是恆大於0的,所以要保持整個式子最大,就只有讓后半部分越小越好。於是可以得到:
那下面的過程就是怎么樣才能求解使得上面這個式子的值越小越好呢?
這上面的推導過程表示並沒有看得太懂哈哈哈。但是結果表示當θ取這個值的時候,整體的偏導等於0,而偏導等於0是極小值點,至於為什么是極小值點,涉及機器學習中的凸優化問題。