欧美free性护士vide0shd,老熟女,一区二区三区,久久久久夜夜夜精品国产,久久久久久综合网天天,欧美成人护士h版

首頁綜合 正文
目錄

柚子快報激活碼778899分享:人工智能 機器學習——線性回歸

柚子快報激活碼778899分享:人工智能 機器學習——線性回歸

http://yzkb.51969.com/

學習目標

了解線性回歸的應(yīng)用場景知道線性回歸的定義

1 線性回歸應(yīng)用場景

房價預(yù)測 銷售額度預(yù)測 貸款額度預(yù)測

舉例:

2 什么是線性回歸

2.1 定義與公式

線性回歸(Linear regression)是利用回歸方程(函數(shù))對一個或多個自變量(特征值)和因變量(目標值)之間關(guān)系進行建模的一種分析方式。

特點:只有一個自變量的情況稱為單變量回歸,多于一個自變量情況的叫做多元回歸

線性回歸用矩陣表示舉例

那么怎么理解呢?我們來看幾個例子

期末成績:0.7×考試成績+0.3×平時成績房子價格 = 0.02×中心區(qū)域的距離 + 0.04×城市一氧化氮濃度 + (-0.12×自住房平均房價) + 0.254×城鎮(zhèn)犯罪率

上面兩個例子,我們看到特征值與目標值之間建立了一個關(guān)系,這個關(guān)系可以理解為線性模型。

2.2 線性回歸的特征與目標的關(guān)系分析

線性回歸當中主要有兩種模型,一種是線性關(guān)系,另一種是非線性關(guān)系。在這里我們只能畫一個平面更好去理解,所以都用單個特征或兩個特征舉例子。

假設(shè)剛才的房子例子,真實的數(shù)據(jù)之間存在這樣的關(guān)系:

真實關(guān)系:真實房子價格 = 0.02×中心區(qū)域的距離 + 0.04×城市一氧化氮濃度 + (-0.12×自住房平均房價) + 0.254×城鎮(zhèn)犯罪率

那么現(xiàn)在呢,我們隨意指定一個關(guān)系(猜測)

隨機指定關(guān)系:預(yù)測房子價格 = 0.25×中心區(qū)域的距離 + 0.14×城市一氧化氮濃度 + 0.42×自住房平均房價 + 0.34×城鎮(zhèn)犯罪率

請問這樣的話,會發(fā)生什么?真實結(jié)果與我們預(yù)測的結(jié)果之間是不是存在一定的誤差呢?類似這樣樣子

?

既然存在這個誤差,那我們就將這個誤差給衡量出來

1 損失函數(shù)

總損失定義為:

?

如何去減少這個損失,使我們預(yù)測的更加準確些?既然存在了這個損失,我們一直說機器學習有自動學習的功能,在線性回歸這里更是能夠體現(xiàn)。這里可以通過一些優(yōu)化方法去優(yōu)化(其實是數(shù)學當中的求導功能)回歸的總損失?。?!

2 優(yōu)化算法

如何去求模型當中的W,使得損失最???(目的是找到最小損失對應(yīng)的W值)

?

2.1 正規(guī)方程

2.1.1 什么是正規(guī)方程

?

理解:X為特征值矩陣,y為目標值矩陣。直接求到最好的結(jié)果

缺點:當特征過多過復雜時,求解速度太慢并且得不到結(jié)果

?

2.1.2 正規(guī)方程求解舉例

以下表示數(shù)據(jù)為例:

?

即:

?

運用正規(guī)方程方法求解參數(shù):

?

2.1.3 正規(guī)方程的推導

把該損失函數(shù)轉(zhuǎn)換成矩陣寫法:

?

其中y是真實值矩陣,X是特征值矩陣,w是權(quán)重矩陣

對其求解關(guān)于w的最小值,起止y,X 均已知二次函數(shù)直接求導,導數(shù)為零的位置,即為最小值。

求導:

?

注:式(1)到式(2)推導過程中, X是一個m行n列的矩陣,并不能保證其有逆矩陣,但是右乘XT把其變成一個方陣,保證其有逆矩陣。

式(5)到式(6)推導過程中,和上類似。

正規(guī)方程的另一種推導方式

2.2 梯度下降(Gradient Descent)

2.2.1 什么是梯度下降

梯度下降法的基本思想可以類比為一個下山的過程。

假設(shè)這樣一個場景:

一個人被困在山上,需要從山上下來(i.e. 找到山的最低點,也就是山谷)。但此時山上的濃霧很大,導致可視度很低。

因此,下山的路徑就無法確定,他必須利用自己周圍的信息去找到下山的路徑。這個時候,他就可以利用梯度下降算法來幫助自己下山。

具體來說就是,以他當前的所處的位置為基準,尋找這個位置最陡峭的地方,然后朝著山的高度下降的地方走,(同理,如果我們的目標是上山,也就是爬到山頂,那么此時應(yīng)該是朝著最陡峭的方向往上走)。然后每走一段距離,都反復采用同一個方法,最后就能成功的抵達山谷。

?

梯度下降的基本過程就和下山的場景很類似。

首先,我們有一個可微分的函數(shù)。這個函數(shù)就代表著一座山。

我們的目標就是找到這個函數(shù)的最小值,也就是山底。

根據(jù)之前的場景假設(shè),最快的下山的方式就是找到當前位置最陡峭的方向,然后沿著此方向向下走,對應(yīng)到函數(shù)中,就是找到給定點的梯度?,然后朝著梯度相反的方向,就能讓函數(shù)值下降的最快!因為梯度的方向就是函數(shù)值變化最快的方向。 所以,我們重復利用這個方法,反復求取梯度,最后就能到達局部的最小值,這就類似于我們下山的過程。而求取梯度就確定了最陡峭的方向,也就是場景中測量方向的手段。

2.2.2 梯度的概念

梯度是微積分中一個很重要的概念

??在單變量的函數(shù)中,梯度其實就是函數(shù)的微分,代表著函數(shù)在某個給定點的切線的斜率;

??在多變量函數(shù)中,梯度是一個向量,向量有方向,梯度的方向就指出了函數(shù)在給定點的上升最快的方向;

這也就說明了為什么我們需要千方百計的求取梯度!我們需要到達山底,就需要在每一步觀測到此時最陡峭的地方,梯度就恰巧告訴了我們這個方向。梯度的方向是函數(shù)在給定點上升最快的方向,那么梯度的反方向就是函數(shù)在給定點下降最快的方向,這正是我們所需要的。所以我們只要沿著梯度的反方向一直走,就能走到局部的最低點!

2.2.3 梯度下降舉例

我們假設(shè)有一個單變量的函數(shù) :J(θ) = θ2

函數(shù)的微分:J、(θ) = 2θ

初始化,起點為: θ0?= 1

學習率:α = 0.4

我們開始進行梯度下降的迭代計算過程:

?

如圖,經(jīng)過四次的運算,也就是走了四步,基本就抵達了函數(shù)的最低點,也就是山底

?

我們假設(shè)有一個目標函數(shù) ::J(θ) = θ12?+ θ22

現(xiàn)在要通過梯度下降法計算這個函數(shù)的最小值。我們通過觀察就能發(fā)現(xiàn)最小值其實就是 (0,0)點。但是接下 來,我們會從梯度下降算法開始一步步計算到這個最小值! 我們假設(shè)初始的起點為: θ0?= (1, 3)

初始的學習率為:α = 0.1

函數(shù)的梯度為:▽:J(θ) =< 2θ1?,2θ2>

進行多次迭代:

?

我們發(fā)現(xiàn),已經(jīng)基本靠近函數(shù)的最小值點

?

2.2.4 梯度下降(Gradient Descent)公式

?

梯度前加一個負號,就意味著朝著梯度相反的方向前進!我們在前文提到,梯度的方向?qū)嶋H就是函數(shù)在此點上升最快的方向!而我們需要朝著下降最快的方向走,自然就是負的梯度的方向,所以此處需要加上負號

我們通過兩個圖更好理解梯度下降的過程

?

線性關(guān)系

? 導入模塊 from sklearn.linear_model import LinearRegression

構(gòu)造數(shù)據(jù)集 x = [[80, 86],

[82, 80],

[85, 78],

[90, 90],

[86, 82],

[82, 90],

[78, 80],

[92, 94]]

y = [84.2, 80.6, 80.1, 90, 83.2, 87.6, 79.4, 93.4]

機器學習-- 模型訓練 # 實例化API

estimator = LinearRegression()

# 使用fit方法進行訓練

estimator.fit(x,y)

estimator.coef_

estimator.predict([[100, 80]]) 2.4 線性回歸的損失和優(yōu)化 學習目標 知道線性回歸中損失函數(shù)知道使用正規(guī)方程對損失函數(shù)優(yōu)化的過程知道使用梯度下降法對損失函數(shù)優(yōu)化的過程yi為第i個訓練樣本的真實值h(xi)為第i個訓練樣本特征值組合預(yù)測函數(shù)又稱最小二乘法線性回歸經(jīng)常使用的兩種優(yōu)化算法

正規(guī)方程梯度下降法推導方式一:推導方式二【拓展】:1. 單變量函數(shù)的梯度下降**2.多變量函數(shù)的梯度下降 1) α是什么含義? α在梯度下降算法中被稱作為學習率或者步長,意味著我們可以通過α來控制每一步走的距離,以保證不要步子跨的太大扯著蛋,哈哈,其實就是不要走太快,錯過了最低點。同時也要保證不要走的太慢,導致太陽下山了,還沒有走到山下。所以α的選擇在梯度下降法中往往是很重要的!α不能太大也不能太小,太小的話,可能導致遲遲走不到最低點,太大的話,會導致錯過最低點! ? 2) 為什么梯度要乘以一個負號?

梯度下降法介紹

隨機平均梯度下降算法(SAG)

在SG方法中,雖然避開了運算成本大的問題,但對于大數(shù)據(jù)訓練而言,SG效果常不盡如人意,因為每一輪梯度更新都完全與上一輪的數(shù)據(jù)和梯度無關(guān)。

隨機平均梯度算法克服了這個問題,在內(nèi)存中為每一個樣本都維護一個舊的梯度,隨機選擇第i個樣本來更新此樣本的梯度,其他樣本的梯度保持不變,然后求得所有梯度的平均值,進而更新了參數(shù)。

如此,每一輪更新僅需計算一個樣本的梯度,計算成本等同于SG,但收斂速度快得多。

它們都是為了正確地調(diào)節(jié)權(quán)重向量,通過為每個權(quán)重計算一個梯度,從而更新權(quán)值,使目標函數(shù)盡可能最小化。其差別在于樣本的使用方式不同。

1 全梯度下降算法(FG)

計算訓練集所有樣本誤差,對其求和再取平均值作為目標函數(shù)。

權(quán)重向量沿其梯度相反的方向移動,從而使當前目標函數(shù)減少得最多。

因為在執(zhí)行每次更新時,我們需要在整個數(shù)據(jù)集上計算所有的梯度,所以批梯度下降法的速度會很慢,同時,批梯度下降法無法處理超出內(nèi)存容量限制的數(shù)據(jù)集。

批梯度下降法同樣也不能在線更新模型,即在運行的過程中,不能增加新的樣本。

其是在整個訓練數(shù)據(jù)集上計算損失函數(shù)關(guān)于參數(shù)θ的梯度:

?

2 隨機梯度下降算法(SG)

由于FG每迭代更新一次權(quán)重都需要計算所有樣本誤差,而實際問題中經(jīng)常有上億的訓練樣本,故效率偏低,且容易陷入局部最優(yōu)解,因此提出了隨機梯度下降算法。

其每輪計算的目標函數(shù)不再是全體樣本誤差,而僅是單個樣本誤差,即每次只代入計算一個樣本目標函數(shù)的梯度來更新權(quán)重,再取下一個樣本重復此過程,直到損失函數(shù)值停止下降或損失函數(shù)值小于某個可以容忍的閾值。

此過程簡單,高效,通??梢暂^好地避免更新迭代收斂到局部最優(yōu)解。其迭代形式為

?

其中,x(i)表示一條訓練樣本的特征值,y(i)表示一條訓練樣本的標簽值

但是由于,SG每次只使用一個樣本迭代,若遇上噪聲則容易陷入局部最優(yōu)解。

3 小批量梯度下降算法(mini-batch)

小批量梯度下降算法是FG和SG的折中方案,在一定程度上兼顧了以上兩種方法的優(yōu)點。

每次從訓練樣本集上隨機抽取一個小樣本集,在抽出來的小樣本集上采用FG迭代更新權(quán)重。

被抽出的小樣本集所含樣本點的個數(shù)稱為batch_size,通常設(shè)置為2的冪次方,更有利于GPU加速處理。

特別的,若batch_size=1,則變成了SG;若batch_size=n,則變成了FG.其迭代形式為

?

?

所以有了梯度下降這樣一個優(yōu)化算法,回歸就有了"自動學習"的能力

3 梯度下降和正規(guī)方程的對比

梯度下降正規(guī)方程需要選擇學習率不需要需要迭代求解一次運算得出特征數(shù)量較大可以使用需要計算方程,時間復雜度高O(n3)

3.1 算法選擇依據(jù):

小規(guī)模數(shù)據(jù):

正規(guī)方程:LinearRegression(不能解決擬合問題)嶺回歸大規(guī)模數(shù)據(jù):

梯度下降法:SGDRegressor

柚子快報激活碼778899分享:人工智能 機器學習——線性回歸

http://yzkb.51969.com/

參考文章

評論可見,查看隱藏內(nèi)容

本文內(nèi)容根據(jù)網(wǎng)絡(luò)資料整理,出于傳遞更多信息之目的,不代表金鑰匙跨境贊同其觀點和立場。

轉(zhuǎn)載請注明,如有侵權(quán),聯(lián)系刪除。

本文鏈接:http://gantiao.com.cn/post/18981404.html

發(fā)布評論

您暫未設(shè)置收款碼

請在主題配置——文章設(shè)置里上傳

掃描二維碼手機訪問

文章目錄