1.線性回歸
簡述:
在統計學中,線性回歸(Linear Regression)是利用稱為線性回歸方程的最小平方函數對一個或多個自變量和因變量之間關系進行建模的一種回歸分析。這種函數是一個或多個稱為回歸系數的模型參數的線性組合(自變量都是一次方)。只有一個自變量的情況稱為簡單回歸,大於一個自變量情況的叫做多元回歸。
1.1 舉個例子說明線性回歸
- 數據:工資和年齡(2個特征,即2個自變量)
- 目標:預測銀行會貸款給我多少錢(標簽)
- 考慮:工資和年齡都會影響最終銀行貸款的結果,那么它們各自有多大的影響呢?(參數)
通俗解釋:
- X1,X2就是我們的兩個特征(年齡、工資),Y是銀行最終會借給我們多少錢
- 找到最合適的一條線(想象一個高維)來最好的擬合我們的數據點
1.2 數學公式:
- 假設θ1是年齡X1的參數,θ2是工資X2的參數
- 擬合的平面:
(θ0是偏置項,即權重項)
- 整合:
,即hθ(x) = θ0x0 + θ1x1 + θ2x2 + ... + θnxn ,n指n個特征
1.3 誤差:
- 真實值和預測值之間肯定是要存在差異的(用ε來表示該誤差)
- 對於每個樣本:
,i指第i個樣本
- 誤差
是獨立並且具有相同的分布,並且服從均值為0、方差為
的高斯分布
注意:
①獨立指張三和李四一起來貸款,他倆沒關系;同分布指他倆都來的是我們假定的這家銀行;高斯分布指銀行可能會多給,也可能會少給,但是絕大多數情況下這個浮動不會太大,極小情況下浮動會比較大,符合正常情況。
②高斯分布又名正態分布,其概率密度函數為。
1.3.1 誤差公式、似然函數與目標函數推導:
這里主要通過最小二乘法作為切入點的。
- 真實值、預測值與誤差:
,y(i)是真實值,θTx(i)是預測值,ε(i)是誤差,i是第i個樣本。
- 由於誤差服從高斯分布:
,exp即為指數函數e。
- 將(1)式帶入(2)式:
,又可表達為
,i是第i個樣本。
- 似然函數:
,∏是累乘符號,i是第i個樣本
解釋:什么樣的參數跟我們的數據組合后恰好是真實值
-
對數似然:
解釋:乘法難解,加法就容易了,對數里面乘法可以轉換成加法,即累乘∏變成了累加∑
-
展開化簡:
-
目標:讓似然函數(對數變換后也一樣)越大越好
(最小二乘法)
解釋:是常量,
也是常量,要使似然函數越大,則
要最小,即得到目標函數
-
目標函數:
-
求偏導:
-
偏導等於0:
1.3.1.1 評估方法
- 最常用的評估項R2:
,
- R2的取值越接近於1,我們認為模型擬合的越好。
是預測值,yi是真實值,
是平均值,i為第i個樣本
解釋:要使R2越接近於1,而為常量值,則
要最小,同樣是最小二乘法
1.3.2 梯度下降
這里采用的是與最小二乘法不同的方式,即梯度下降。
- 引入:當我們得到了一個目標函數后,如何進行求解?直接求解?(並不一定可解,線性回歸可以當做是一個特例)
- 常規套路:機器學習的套路就是我交給機器一堆數據,然后告訴它什么樣的學習方式是對的(目標函數),然后讓它朝着這個方向去做
- 如何優化:一口吃不成個胖子,我們要靜悄悄的一步步的完成迭代(每次優化一點點,累積起來就是個大成績了)
- 目標函數:
-
尋找山谷的最低點,也就是我們的目標函數終點(什么樣的參數能使得目標函數達到極值點)
- 下山分幾步走呢?(更新參數)
- :找到當前最合適的方向
- :走那么一小步,走快了該“跌倒”了
- :按照方向與步伐去更新我們的參數
梯度下降,目標函數:
- 批量梯度下降:
,
(容易得到最優解,但是由於每次考慮所有樣本,速度很慢)
-
隨機梯度下降:
(每次找一個樣本,迭代速度快,但不一定每次都朝着收斂的方向)
-
小批量梯度下降法:
(每次更新選擇一小部分數據來算,實用!)
梯度下降:
- 學習率(步長):對結果會產生巨大的影響,一般小一些,為什么要有學習率?
- 如何選擇:從小的時候,不行再小
- 批處理數量:32,64,128都可以,很多時候還得考慮內存和效率
2.邏輯回歸Logistic regression
- 目的:分類還是回歸?經典的二分類算法!
- 機器學習算法選擇:先邏輯回歸再用復雜的,能簡單還是用簡單的
- 邏輯回歸的決策邊界:可以是非線性的
Sigmoid函數
- 公式:
- 自變量取值為任意實數,值域[0,1]
- 解釋:將任意的輸入映射到了[0,1]區間,我們在線性回歸中可以得到一個預測值,再將該值映射到Sigmoid函數中,這樣就完成了由值到概率的轉換,也就是分類任務。
- 預測函數:
,其中
-
分類任務:
,整合:
-
解釋:對於二分類任務(0,1),整合后y取0只保留
,y取1只保留
- 似然函數:
- 對數似然:
- 此時應用梯度上升求最大值,引入
轉換為梯度下降任務,批量梯度下降
- 求導過程:
- 參數更新:
,參數為什么要更新?
- 多分類的softmax:
- 總結:邏輯回歸真的真的很好很好用