日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Machine Learning(Stanford)| 斯坦福大学机(吴恩达)器学习笔记【汇总】

發(fā)布時間:2023/12/20 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Machine Learning(Stanford)| 斯坦福大学机(吴恩达)器学习笔记【汇总】 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

from:https://blog.csdn.net/m399498400/article/details/52556168

?

定義本課程常用符號

訓(xùn)練數(shù)據(jù):機(jī)器用來學(xué)習(xí)的數(shù)據(jù)
測試數(shù)據(jù):用來考察機(jī)器學(xué)習(xí)效果的數(shù)據(jù),相當(dāng)于考試。

m = 訓(xùn)練樣本的數(shù)量(訓(xùn)練集的個數(shù))
x = 輸入的特征(例如房屋面積)
y = 輸出結(jié)果(例如房屋售價)

(x(i),y(i)) = 表示訓(xùn)練集中第i個訓(xùn)練樣本

一.Cost Function(代價函數(shù))

一,什么是代價函數(shù)?
我在網(wǎng)上找了很長時間代價函數(shù)的定義,但是準(zhǔn)確定義并沒有,我理解的代價函數(shù)就是用于找到最優(yōu)解的目的函數(shù),這也是代價函數(shù)的作用。

二,代價函數(shù)作用原理?
對于回歸問題,我們需要求出代價函數(shù)來求解最優(yōu)解,常用的是平方誤差代價函數(shù)。

比如,對于下面的假設(shè)函數(shù):?

里面有θ0和θ1兩個參數(shù),參數(shù)的改變將會導(dǎo)致假設(shè)函數(shù)的變化,比如:?

現(xiàn)實(shí)的例子中,數(shù)據(jù)會以很多點(diǎn)的形式給我們,我們想要解決回歸問題,就需要將這些點(diǎn)擬合成一條直線,找到最優(yōu)的θ0和θ1來使這條直線更能代表所有數(shù)據(jù)。?

而如何找到最優(yōu)解呢,這就需要使用代價函數(shù)來求解了,以平方誤差代價函數(shù)為例。?
從最簡單的單一參數(shù)來看,假設(shè)函數(shù)為:?

平方誤差代價函數(shù)的主要思想就是將實(shí)際數(shù)據(jù)給出的值(x(i),y(i))與我們擬合出的線的對應(yīng)值做差,這樣就能求出我們擬合出的直線與實(shí)際的差距了。

為了使這個值不受個別極端數(shù)據(jù)影響而產(chǎn)生巨大波動,采用類似方差再取二分之一的方式來減小個別數(shù)據(jù)的影響。這樣,就產(chǎn)生了代價函數(shù):?

【平均數(shù):??(n表示這組數(shù)據(jù)個數(shù),x1、x2、x3……xn表示這組數(shù)據(jù)具體數(shù)值)

方差公式:?】

擬合出的線的對應(yīng)值—實(shí)際數(shù)據(jù)給出的值(x(i),y(i))】

而最優(yōu)解即為代價函數(shù)的最小值,根據(jù)以上公式多次計算可得到?
代價函數(shù)的圖像:?

可以看到該代價函數(shù)的確有最小值,這里恰好是橫坐標(biāo)為1的時候。

如果更多參數(shù)的話,就會更為復(fù)雜,兩個參數(shù)的時候就已經(jīng)是三維圖像了:?

高度即為代價函數(shù)的值,可以看到它仍然有著最小值的,而到達(dá)更多的參數(shù)的時候就無法像這樣可視化了,但是原理都是相似的。?
因此,對于回歸問題,我們就可以歸結(jié)為得到代價函數(shù)的最小值:?

?

二.Multivariate Linear regression(多元線性回歸)

現(xiàn)在起將開始介紹一種新的更為有效的線性回歸形式。這種形式適用于多個變量或者多特征量的情況。

在之前學(xué)習(xí)過的線性回歸中,都是只有一個單一的特征量--房屋面積 x,如圖1-1所示,

圖1-1

我們希望用房屋面積這個特征量來預(yù)測房子的價格。但是想象一下如果我們不僅有房屋面積作為預(yù)測房屋價格的特征量,我們還知道臥室的數(shù)量,樓層的數(shù)量以及房子的使用年限,如圖1-2所示,

圖1-2

這樣就給了我們更多可以用來預(yù)測房屋價格的信息了。接著我們先簡單介紹一下符號記法,一開始的時候就提到過我要用x1,x2,x3,x4來表示種情況下的四個特征量,然后仍然用 y來表示我們所想要預(yù)測的輸出變量 。除此之外,我們來看看更多的表示方式,如圖1-3

[第i個訓(xùn)練樣本;第i個訓(xùn)練樣本中第j個參數(shù)值]

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖1-3

?

首先介紹的是特征數(shù)量n,這里用小寫n來表示特征量的數(shù)目。因此在這個例子中,我們的n等于4(之前我們是用的“m”來表示樣本的數(shù)量,現(xiàn)在開始我們用n來表示特征量的數(shù)目)。

接著介紹的是第i個訓(xùn)練樣本的輸入特征值x(i)(這里一定要看清是上標(biāo),不要搞混了)。舉個具體的例子來說x(2)就是表示第二個訓(xùn)練樣本的特征向量,如圖1-4中用紅色框圈起來的位置,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖1-4

紅色框圈起來的這四個數(shù)字對應(yīng)了我用來預(yù)測第二個房屋價格的四個特征量,因此在這種記法中,這個上標(biāo)2就是訓(xùn)練集的一個索引,而不是x的2次方,這個2就對應(yīng)著你所看到的表格中的第二行,即我的第二個訓(xùn)練樣本,同時也是一個四維向量。事實(shí)上更普遍

地來說這是n維的向量。

最后介紹的是第i個訓(xùn)練樣本的第j個特征量,用來表示。舉個具體的例子來說:

,即對應(yīng)著圖1-4中第二個訓(xùn)練樣本的第三個數(shù)。

?

?

我們最初使用的假設(shè)函數(shù)只有一個唯一的特征量,如圖1-5黑色字體,

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖1-5

但現(xiàn)在我們有了多個特征量,我們就不能再使用這種簡單的表示方式了。取而代之的我們將把線性回歸的假設(shè)改成圖1-5中藍(lán)色字體那樣。如果我們有n個特征量,那么我們要將所有的n個特征量相加,而不僅僅是四個特征量,如圖1-6所示。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 圖1-6

接下來,要做的是簡化這個等式的表示方式,為了表示方便我要將x0的(看清楚這里是下標(biāo))值設(shè)為1。具體而言,這意味著對于第i個樣本,都有一個等于1。一開始的時候有n個特征量,由于另外定義了額外的第0個特征向量,并且它的取值總是1,所以我現(xiàn)在的特征向量x是一個從0開始標(biāo)記的n+1維的向量。同時,我也把我的參數(shù)θ也都看做一個n+1維的向量。如圖1-7所示

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?圖1-7

正是向量的引入,這里我們的假設(shè)函數(shù)可以換一種更加高效的方式來寫,如圖1-8,

圖1-8

這里我把假設(shè)函數(shù)等式寫成?θ轉(zhuǎn)置乘以X,這其實(shí)就是向量內(nèi)積。這就為我們提供了一個表示假設(shè)函數(shù)更加便利的形式,即用參數(shù)向量θ以及特征向量X的內(nèi)積。這樣的表示習(xí)慣就讓我們可以以這種緊湊的形式寫出假設(shè)。?

?

以上就是多特征量情況下的假設(shè)形式,另一個名字就是多元線性回歸。

?

二.Gradient Descent for Multiple Variables(多元線性回歸的梯度下降)

在之前我們談到的線性回歸的假設(shè)形式,是一種有多特征或者是多變量的形式。在這部分我們將會談到如何找到滿足這一假設(shè)的參數(shù)θ,尤其是如何使用梯度下降法來解決多特征的線性回歸問題。

現(xiàn)假設(shè)有多元線性回歸,并約定x0=1,該模型的參數(shù)是從θ0到θn,如圖2-1所示,

圖2-1

這里不要認(rèn)為這是n+1個單獨(dú)的參數(shù),我們要把這n+1個θ參數(shù)想象成一個n+1維的向量θ。

?

我們一開始的代價函數(shù)如圖2-2黑色字體所示,

圖2-2

但同樣地我們不要把函數(shù)J想成是一個關(guān)于n+1個自變量的函數(shù),而是看成帶有一個n+1維向量的函數(shù)。

-----------------------------------------------------------------------------

關(guān)于圖2-2的這個公式要深入理解下,見圖2-3的練習(xí)

圖2-3

一開始選了2和4,提交后得知應(yīng)該選擇1和2。分析如下:

選項1.其實(shí)這里的x(i)拆開后是,然后和θ的轉(zhuǎn)置相乘,結(jié)果與是一樣的。

?

選項2.將括號里的拆開后就是,可見選項2也是對的。

?

選項3.從1開始錯誤,我們規(guī)定了要從0開始。

?

選項4.,因?yàn)槲覀兊膟不像x有x0,x1,x2等等,y是沒有下標(biāo)只有上標(biāo)的,所以選項4錯誤。

?

-----------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------------------------

https://www.cnblogs.com/ooon/p/4947688.html

1 問題的引出

對于上篇中講到的線性回歸,先化一個為一個特征θ1,θ0為偏置項,最后列出的誤差函數(shù)如下圖所示:

手動求解

目標(biāo)是優(yōu)化J(θ1),得到其最小化,下圖中的×為y(i),下面給出TrainSet,{(1,1),(2,2),(3,3)}通過手動尋找來找到最優(yōu)解,由圖可見當(dāng)θ1取1時,與y(i)完全重合,J(θ1) = 0

下面是θ1的取值與對應(yīng)的J(θ1)變化情況

由此可見,最優(yōu)解即為0,現(xiàn)在來看通過梯度下降法來自動找到最優(yōu)解,對于上述待優(yōu)化問題,下圖給出其三維圖像,可見要找到最優(yōu)解,就要不斷向下探索,使得J(θ)最小即可。

2 梯度下降的幾何形式

下圖為梯度下降的目的,找到J(θ)的最小值。

其實(shí),J(θ)的真正圖形是類似下面這樣的,因?yàn)槠涫且粋€凸函數(shù),只有一個全局最優(yōu)解,所以不必?fù)?dān)心像上圖一樣找到局部最優(yōu)解

直到了要找到圖形中的最小值之后,下面介紹自動求解最小值的辦法,這就是梯度下降法

對參數(shù)向量θ中的每個分量θj,迭代減去速率因子a* (dJ(θ)/dθj)即可,后邊一項為J(θ)關(guān)于θj的偏導(dǎo)數(shù)

3 梯度下降的原理

導(dǎo)數(shù)的概念

由公式可見,對點(diǎn)x0的導(dǎo)數(shù)反映了函數(shù)在點(diǎn)x0處的瞬時變化速率,或者叫在點(diǎn)x0處的斜度。推廣到多維函數(shù)中,就有了梯度的概念,梯度是一個向量組合,反映了多維圖形中變化速率最快的方向。

下圖展示了對單個特征θ1的直觀圖形,起始時導(dǎo)數(shù)為正,θ1減小后并以新的θ1為基點(diǎn)重新求導(dǎo),一直迭代就會找到最小的θ1,若導(dǎo)數(shù)為負(fù)時,θ1的就會不斷增到,直到找到使損失函數(shù)最小的值。

?

?

有一點(diǎn)需要注意的是步長a的大小,如果a太小,則會迭代很多次才找到最優(yōu)解,若a太大,可能跳過最優(yōu),從而找不到最優(yōu)解。

另外,在不斷迭代的過程中,梯度值會不斷變小,所以θ1的變化速度也會越來越慢,所以不需要使速率a的值越來越小

下圖就是尋找過程

當(dāng)梯度下降到一定數(shù)值后,每次迭代的變化很小,這時可以設(shè)定一個閾值,只要變化小魚該閾值,就停止迭代,而得到的結(jié)果也近似于最優(yōu)解。

若損失函數(shù)的值不斷變大,則有可能是步長速率a太大,導(dǎo)致算法不收斂,這時可適當(dāng)調(diào)整a值

為了選擇參數(shù)a,就需要不斷測試,因?yàn)閍太大太小都不太好。

?

?

如果想跳過的a與算法復(fù)雜的迭代,可以選擇 Normal Equation。

4 隨機(jī)梯度下降

對于樣本數(shù)量額非常之多的情況,Batch Gradient Descent算法會非常耗時,因?yàn)槊看蔚家憷袠颖?#xff0c;可選用Stochastic Gradient Descent 算法,需要注意外層循環(huán)Loop,因?yàn)橹槐闅v一次樣本,不見得會收斂。

隨機(jī)梯度算法就可以用作在線學(xué)習(xí)了,但是注意隨機(jī)梯度的結(jié)果并非完全收斂,而是在收斂結(jié)果處波動的,可能由非線性可分的樣本引起來的:

可以有如下解決辦法:(來自MLIA)

1. 動態(tài)更改學(xué)習(xí)速率a的大小,可以增大或者減小

2. 隨機(jī)選樣本進(jìn)行學(xué)習(xí)?

-----------------------------------------------------------------------------------------------------------------------------

講完代價函數(shù),講梯度下降,如圖2-4所示,

圖2-4

同理這里把函數(shù)J想成是帶有一個n+1維向量的函數(shù)。當(dāng)我們實(shí)現(xiàn)梯度下降法后,我們可以仔細(xì)觀察一下它的偏導(dǎo)數(shù)項,圖2-5是我們當(dāng)特征個數(shù)n=1時梯度下降的情況。我們有兩條針對參數(shù)θ0和θ1不同的更新規(guī)則

圖2-5

圖2-5的兩個式子不同點(diǎn)在于對參數(shù)θ1我們有另一個更新規(guī)則,即在最后多了一項

X(i)。(http://blog.csdn.net/m399498400/article/details/52528722圖1-2中講解了這一項的推導(dǎo)過程)。

----------------------------推導(dǎo)過程------------------結(jié)合復(fù)合函數(shù)的求導(dǎo)(對什么參數(shù)求導(dǎo),其他的參數(shù)就當(dāng)做常數(shù))--------

-----------------------------------------------------------------------------------------------------------------------------

以上是特征數(shù)量只有1個的情況下的梯度下降法的實(shí)現(xiàn)。當(dāng)特征數(shù)量大于等于1個的時候,我們的梯度下降更新規(guī)則,變成了如圖2-6的形式。

圖2-6

其實(shí)圖2-5和圖2-6這兩種新舊算法實(shí)際上是一回事兒。考慮這樣一個情況,假設(shè)我們有3個特征數(shù)量,我們就會有對θ1、θ2、θ3的三條更新規(guī)則。如圖2-7所示,

圖2-7

仔細(xì)觀察θ0的更新規(guī)則,就會發(fā)現(xiàn)這跟之前圖2-5中n=1的情況是相同的。它們之所以是等價的是因?yàn)樵谖覀兊臉?biāo)記約定里有=1。

如果再仔細(xì)觀察θ1的更新規(guī)則,會發(fā)現(xiàn)這里的這一項是和圖2-5對參數(shù)θ1的更新項是等價的。在圖2-7中我們只是用了新的符號來表示我們的第一個特征。其實(shí)當(dāng)n=1的時候,和是一樣的。因?yàn)閳D2-7的新算法應(yīng)用更普遍,更廣泛,所以以后不管是單特征變量還是多特征變量我們都用圖2-7的算法來做梯度下降。

總結(jié)

以上是生活随笔為你收集整理的Machine Learning(Stanford)| 斯坦福大学机(吴恩达)器学习笔记【汇总】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。