机器学习线性回归_机器学习-线性回归
生活随笔
收集整理的這篇文章主要介紹了
机器学习线性回归_机器学习-线性回归
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
簡單說明
線性回歸
最小二乘法,也叫最小二乘估計,具體概念自行查詢,下面我舉個比較通俗的例子
可以解決的問題
如果給你一個人(18~22歲)的體重,讓你預測他(她)的身高,你會怎么做?
- 第一步:從身邊的人收集一些數據,并觀察規律;
- 第二步:繪制散點圖,并找到一條合適的線
接下來,根據感覺,找到幾條比較合適的線,并最終選擇y2(后續會提供兩種優化方式) y1 = 1.1 * x + 100y2 = 0.8 * x + 120y3 = 0.5 * x + 140
- 第三步:將上述樣本帶入,求解
- 總結:上面描述的只是一種方法,其中存在一些問題,比如:
選擇合適的方程
上面的的問題:假設樣本 和 估計值真的是線性關系,那么我們如何選擇一條合適的線性方程?也就是
中 a 和 b 的值?- 梯度下降
- 標準方程
梯度下降
這里只是簡單介紹一下梯度下降,具體細節自行查詢通過梯度下降的方式計算 函數
中, 的最小值- 第一步:隨機選取一個點,作為初始值 A(1,3),并計算這個點的導數
- 第二步:選取合適的學習率 ,并重復計算n次(迭代次數)
這里我們選擇 ,
計算公式
根據梯度下降算法,第五次計算出
,帶入公式,計算出結論:
- 由于此函數是凸函數,所以我們可以根據 ,來計算出最小值
- 通過梯度下降算法,推算出 函數,最小值
1. 梯度下降是推算最小值的一種方式,還需要合適的參數 才能計算出最小值
2. 可以在非凸函數中尋找到局部最小值
線性回歸 - 梯度下降
假設數據
樣本1:身高 150cm 體重 45kg 樣本2:身高 161cm 體重 54kg 樣本3:身高 171cm 體重 65kg 樣本4:身高 185cm 體重 78kg 樣本5:身高 156cm 體重 46kg 樣本6:身高 165cm 體重 50kg 樣本7:身高 180cm 體重 80kg 樣本8:身高 160cm 體重 67kg 樣本9:身高 175cm 體重 66kg設方程為
,求解a 和 b?損失函數 (預測值
真實值: )計算a 和 b的值
偏導數設初始值學習率
迭代次數
標準方程
數據:
假設數據為 n行p列(p維)的數據- 數據格式定義:如果不理解,后續可以不用看了。
- 某個人的特征
- 特征+身高 集合變換
- 參數W
- 推導
矩陣求導,令
- 驗證
設函數
等價于帶入上述公式:
結論:
和我們上面肉眼估計出來的值
相差不大標準方程和梯度下降的區別
標準方程- 優點:不需要 、不需要迭代、不需要特征縮放,少量數據時可以直接計算出結果。
- 缺點:
- 運算量大,當訓練集很大時速度非常慢。
- 當樣本數<特征數量時, 不可逆,無法求解(可以通過正則化來解決)
- 優點:大批量數據也可以較快的計算出結果
- 缺點:
- 屬于優化算法,需要選擇合適的 ,迭代次數等;
- 雖然線性回歸的損失函數是凸函數,但是梯度下降很大概率只能計算出最小值的近似點;
總結
以上是生活随笔為你收集整理的机器学习线性回归_机器学习-线性回归的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python实现ping某一ip_Pyt
- 下一篇: python把字符串放到列表_pytho