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

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

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

编程问答

机器学习基石HOW部分(2)

發(fā)布時(shí)間:2023/12/18 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 机器学习基石HOW部分(2) 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

機(jī)器學(xué)習(xí)基石HOW部分(2)


標(biāo)簽:機(jī)器學(xué)習(xí)基石

第十章

gradient descent on cross-entropy error to get good logistic hypothesis

從方程的形式、誤差的衡量方式、如何最小化Ein的角度出發(fā)

之前提過(guò)的二元分類(lèi)器如PLA,其目標(biāo)函數(shù)為, f(x)=sign(wTx)?1,+1輸出要么是-1要么是+1,是一個(gè)“硬”的分類(lèi)器。而Logistic Regression是一個(gè)“軟”的分類(lèi)器,它的輸出是y=+1的概率,因此Logistic Regression的目標(biāo)函數(shù)是 f(x)=P(+1|x)[0,1]

方程的形式

logistic hypothesis: h(x)=θ(wTx)
logistic regression:h(x)=11+exp(?wTx)

有一組病人的數(shù)據(jù),我們需要預(yù)測(cè)他們?cè)谝欢螘r(shí)間后患上心臟病的“可能性”,就是我們要考慮的問(wèn)題。
通過(guò)二值分類(lèi),我們僅僅能夠預(yù)測(cè)病人是否會(huì)患上心臟病,不同于此的是,現(xiàn)在我們還關(guān)心患病的可能性,即 f(x) = P(+1|x),取值范圍是區(qū)間 [0,1]。
然而,我們能夠獲取的訓(xùn)練數(shù)據(jù)卻與二值分類(lèi)完全一樣,x是病人的基本屬性,y 是+1(患心臟病)或-1(沒(méi)有患心臟病)。輸入數(shù)據(jù)并沒(méi)有告訴我們有關(guān)“概率” 的信息。
在二值分類(lèi)中,我們得到一個(gè)”score” 后(s=i=0dwixi=wTx),通過(guò)取符號(hào)運(yùn)算sign 來(lái)預(yù)測(cè)y 是+1 或 -1。而對(duì)于當(dāng)前問(wèn)題,我們?nèi)缤軌驅(qū)⑦@個(gè)score 映射到[0,1] 區(qū)間,問(wèn)題似乎就迎刃而解了。

θ(s)=es1+es=11+e?s

誤差的衡量

Cross Entropy Error:err(w,x,y)=ln(1+exp(?ywx))

為什么不用上一章用到的平方誤差,其實(shí)是因?yàn)?span id="MathJax-Element-9-Frame" class="MathJax">Ein(w)=err就是一個(gè)關(guān)于w的非凸函數(shù)(non-convex),非凸函數(shù)由于存在很多個(gè)局部最小點(diǎn),因此很難去做最優(yōu)化(解全局最小)。所以L(fǎng)ogistic Regression沒(méi)有使用平方誤差來(lái)定義error,而是使用極大似然法來(lái)估計(jì)模型的參數(shù)。


極大似然法基本思想:當(dāng)從模型總體隨機(jī)抽取n組樣本觀(guān)測(cè)值后,最合理的參數(shù)估計(jì)量應(yīng)該使得從模型中抽取該n組樣本觀(guān)測(cè)值的概率最大,而不是像最小二乘估計(jì)法旨在得到使得模型能最好地?cái)M合樣本數(shù)據(jù)的參數(shù)估計(jì)量。

講講從視頻中理解到的likelihood。一開(kāi)始不懂,后來(lái)來(lái)來(lái)回回看了三遍,就完全理解了。
target function是f(x) = P(+1|x)
那么P(y|x)當(dāng)y=+1和-1的時(shí)候,就有

P(y|x)={f(x)1?f(x)forfory=+1y=?1

現(xiàn)在假設(shè)有一個(gè)數(shù)據(jù)集D,D=(x1,+1),(x2,?1),,(xN,?1).
f生成這個(gè)數(shù)據(jù)集的可能性是

P(x1)P(+1|x1)×P(x2)P(?1|x2)×...P(xN)P(?1|xN)


因?yàn)?span id="MathJax-Element-13-Frame" class="MathJax">P(y|x)可以寫(xiě)成f(x)和1-f(x)的形式。
所以上式又可以變成

P(x1)f(x1)×P(x2)(1?f(x2))×...P(xN)(1?f(xN))


h生成這個(gè)數(shù)據(jù)集的likelihood是

P(x1)h(x1)×P(x2)(1?h(x2))×...P(xN)(1?h(xN))


假如hf,那根后兩個(gè)式子可以得出 likelihood(h) probability using f
g就是取likelihood最大的h。

logistic:h(x)=θ(wTx)那么就有1?h(x)=h(?x)
likelihood可以這樣表達(dá):

likelihood(h)=P(x1)h(x1)×P(x2)(?h(x2))×...P(xN)(?h(xN))

likelihood(logistic h) n=1Nh(ynxn)
令上式最大,就可以得到最小的Ein,得到最好的g。

上面提到了h(x)=θ(wTx),那likelihood(logistic h)n=1Nθ(ynwTxn)

我們不喜歡連乘,我們喜歡累加。我們不喜歡求最大值,我們熱愛(ài)求最小值。
于是,把最大值取個(gè)對(duì)數(shù),再添個(gè)負(fù)號(hào),我們就可以愉快的求累加項(xiàng)的最小值了。

minw1Nn=1N?lnθ(ynwTxn)

因?yàn)?span id="MathJax-Element-26-Frame" class="MathJax">θ(s)=11+exp(s)所以

minw1Nn=1N11+exp(ynwTxn)=minw1Nn=1Nerr(w,xn,yn)

logistic regression的誤差衡量–cross-entropy error終于出現(xiàn)了err(w,x,y) = ln(1 + exp(?ywx))

如何最小化Ein

Ein(w)=1Nn=1Nln(1+exp(ynwTxn))


可以看出cost function是連續(xù),可微的凸函數(shù)。按照之前Linear Regression的邏輯,由于它是凸函數(shù),如果我們能解出一階微分(梯度)為0的點(diǎn),這個(gè)問(wèn)題就解決了。

對(duì)權(quán)值向量w的單個(gè)分量求偏微分過(guò)程

最終出來(lái)?Ein(w)=1NNn=1θ(?ynwTxn)(?ynxn)
離目標(biāo)又近了一步,只要把上面式子=0,然后就可以得到最小的Ein了。
壞了,這個(gè)不是線(xiàn)性的。
和之前的Linear Regression不同,它不是一個(gè)線(xiàn)性的式子,要求解?Ein(w)=0這個(gè)式子,是困難的。那么該使用何種方法實(shí)現(xiàn)Ein(w)最小化呢?
這里可以使用類(lèi)似PLA當(dāng)中的,通過(guò)迭代的方式來(lái)求解,這種方法又稱(chēng)為梯度下降法(Gradient Descent)。
For t = 0,1,…

wt+1wt+ηv


when stop, return last w as g
其中η為每步更新的大小(step size),v是單位向量,表示每次更新的方向。

就好像有一個(gè)小球,從山上往下滾。當(dāng)小球滾到谷底的時(shí)候,我們就有了最小的Ein
小球滾動(dòng),需要我們明確兩點(diǎn),一是滾動(dòng)的方向,二是滾動(dòng)的步長(zhǎng)。
方向很容易就可以確定了。因?yàn)槲覀円∏驖L到谷底,當(dāng)然方向要向著谷底啊。但是我們不知道谷底在哪里,所以就需要小球往海拔低的方向,也就是,小球在每一點(diǎn)的方向就是該點(diǎn)一階微分后的向量所指的方向:

v=?farc?Ein(wt)||?Ein(wt)||

步長(zhǎng)η比較難決定,太小了,更新太慢,太大了,一下子越過(guò)谷底,往對(duì)面走了。

一個(gè)比較好的做法是讓η與 ||▽Ein(wt)|| 成一定的比例,讓新的和||▽Ein(wt)||成比例的斜體的 η 來(lái)代替原來(lái)粗體的 η
我們稱(chēng)這個(gè)斜體的η為 fixed learning rate
wt+1wt?η ?Ein(wt)||?Ein(wt)||

wt+1wt?η?Ein(wt)

最后再來(lái)完整的梳理下梯度下降法(Gradient Descent):
??initialize w0
??For t = 0, 1, …
??1. compute
?????Ein(w)=1NNn=1θ(?ynwTxn)(?ynxn)
??2. update by
????wt+1wt?η?Ein(wt)
??…until Ein(wt+1)=0or enough iterations
??return last wt+1 as g

?

轉(zhuǎn)載于:https://www.cnblogs.com/huang22/p/5401163.html

總結(jié)

以上是生活随笔為你收集整理的机器学习基石HOW部分(2)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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