機器學習 線性回歸

2022-05-06 21:48:08 字數 4065 閱讀 4889

線性回歸

人工智慧是機器學習的父類;機器學習是深度學習的父類

1. 怎麼做線性回歸?

2. 理解回歸 -- 最大似然函式

3. 應用正態分佈概率密度函式 -- 對數總似然

4. 推導出損失函式 -- 推導出解析解        

5. **實現解析解的方式求解 -- 梯度下降法的開始 -- sklearn模組使用線性回歸

線性: y = a * x         一次方的變化

回歸:回歸到平均值

簡單線性回歸

演算法 = 公式

一元一次方程組

一元:乙個x   影響y的因素,維度

一次:x的變化    沒有非線性的變化

y = a * x + b

x1,y1        x2,y2        x3,y3        x4,y4 ...

誤差最小的 -- 最優解

做機器學習,沒有完美解,只有最優解

做機器學習就是要以最快的速度,找到誤差最小的最優解

乙個樣本的誤差:

yi^ - yi

找到誤差最小的時刻;為了去找到誤差最小的時刻,需要反覆嘗試,a,b

根據 最小二乘法 去求得誤差

反過來誤差最小時刻的a,b就是最終最優解模型!!!

多元線性回歸

y = a*x+b

y = w0+w1*x1+w2*x2

向量轉置相乘x0=1

不止兩個特徵

截距(w0),什麼都不做,本身就存在那裡(物體本身就漂亮,不加修飾也漂亮)

x1...xn:n個特徵

本質上就是演算法(公式)變換為了多元一次方程組

y = w1 * x1 + w2 * x2 + w3 * x3 + ... +wn * xn + w0 * x0        (x0恒為1時可不寫)

最大似然估計:

是一種統計方法,用來求乙個樣本集的相關概率密度函式的引數

『似然』(likelihood):即『可能性』,通俗易懂叫法:『最大可能性估計』

likelihood 與 probability 同義詞

中心極限定理:

誤差(ε):

最小二乘法:

概率密度函式:

最簡單的概率密度函式:均勻分布的密度函式,

一維正態分佈

若隨機變數x服從乙個位置引數為μ、尺度引數為σ的概率分布,且其概率密度函式為

則這個隨機變數就稱為正態隨機變數,正態隨機變數服從的分布就稱為正態分佈

標準正態分佈

當μ=0,σ=1時,正態分佈就成為標準正態分佈:

求總似然:

因為連乘太麻煩,故想到用log函式使得連乘變成相加,log函式為單調遞增函式,故可以.

通過最大似然估計的思想,利用了正態分佈的概率密度函式,推導出了損失函式

誤差函式的另一種表達:

找損失最小的過程就是求極值的過程(導數為0)

解析解:

總結:(1) 為什麼求總似然的時候,要用正態分佈?

中心極限定理,如果假設樣本之間是獨立事件,誤差變數隨即產生,那麼就服從正太分布.

(2) 總似然不是概率相乘嗎?為什麼用了概率密度函式的f(xi)進行了相乘?

因為概率不好求,所以當我們可以找到概率密度相乘最大的時候,就相當於找到了概率相乘最大的時候.

(3) 概率為什麼不好求?

因為求的是面積,需要積分,麻煩。不用去管數學上如何根據概率密度函式去求概率.

(4) 總似然最大和最優解有什麼關係?

當我們找到可以使得總似然最大的條件,也就是可以找到我們的dataset資料集最吻合某個正態分佈,即找到了最優解

通過最大似然估計的思想,利用了正態分佈的概率密度函式,推導出了損失函式

(5) 什麼是損失函式?

乙個函式最小,就對應了模型是最優解,**歷史資料可以最準.

(6) 線性回歸的損失函式是什麼?

最小二乘法;mse(mean squared error)[平方均值損失函式,均方誤差]

(6) 線性回歸的損失函式有哪些假設?

樣本獨立;隨機變數;服從正態分佈

(7) ml學習特點:

不強調模型100%正確;

強調模型是有價值的,堪用的.

通過對損失函式求導,來找到最小值,求出θ的最優解;

**實現解析解的方式求解

import

numpy as np

import

matplotlib.pyplot as plt #

這裡相當於是隨機x維度x1,rand是隨機均勻分布

#rand():返回0-1之間的數

x=2*np.random.rand(100,1)#

100行1列

#人為的設定真實的y一列,np.random.randn(100,1)是設定error(方差),randn是標準正態分佈

#np.random.randn(100,1)返回標準正態分佈上的乙個隨機值,取0的概率比較大一些

#(4+3*x)是**值、np.random.randn(100,1)是誤差ε

#**值==w的轉置*x

#4==w0;3==w1

y=4+3*x+np.random.randn(100,1)#

100行1列

#整合x0和x1

#np.ones(100,1)輸出100行1列個1

x_b=np.c_[np.ones((100,1)),x]

print

(x_b) #

常規等式求解θ(theta)

#inv:求逆、dot:點乘、.t:轉置

建立測試集裡面的x1

標註x軸的範圍是0-2,y的範圍是0-15

實際上當資料特別多的時候,用上述方法求解特別慢

機器學習 線性回歸

可以說基本上是機器學習中最簡單的模型了,但是實際上其地位很重要 計算簡單 效果不錯,在很多其他演算法中也可以看到用lr作為一部分 先來看乙個小例子,給乙個 線性回歸是什麼 的概念。圖來自 2 假設有乙個房屋銷售的資料如下 面積 m 2 銷售價錢 萬元 123 250 150 320 87 160 1...

機器學習(線性回歸)

在機器學習中,回歸 分類和標註共同構成了監督學習技術。監督學習 supervised learning 是機器學習在工業界應用最廣的乙個領域分支。在學術界中也是研究最多的領域之一。大家都知道的資料探勘十大經典演算法中,監督學習技術佔據6席。方法 自變數 特徵 因變數 結果 關係 回歸演算法是試圖採用...

機器學習 線性回歸

line fitter linearregression 建立模型 line fitter.fit temperature,sales 傳入引數 sales predict line fitter.predict temperature 模型 直線 直線上會有loss 計算loss時 要使用平方距離...