@(機(jī)器學(xué)習(xí))
什么是機(jī)器學(xué)習(xí)?
機(jī)器學(xué)習(xí)主要是研究如何使計(jì)算機(jī)從給定的數(shù)據(jù)中學(xué)習(xí)規(guī)律,即從觀測(cè)數(shù)據(jù)(樣本)中尋找規(guī)律,并利用學(xué)習(xí)到的規(guī)律(模型)對(duì)位置或無(wú)法觀測(cè)的數(shù)據(jù)進(jìn)行預(yù)測(cè)。
機(jī)器學(xué)習(xí)基本概念
1、機(jī)器學(xué)習(xí)算法類(lèi)型
??根據(jù)訓(xùn)練數(shù)據(jù)提供的信息以及反饋方式的不同,可以分為:
* 有監(jiān)督學(xué)習(xí)(Supervised Learning):每組訓(xùn)練數(shù)據(jù)都有一個(gè)明確的標(biāo)簽和結(jié)果,利用這些已知的數(shù)據(jù)來(lái)學(xué)習(xí)模型的參數(shù),使得模型預(yù)測(cè)的目標(biāo)標(biāo)簽和真實(shí)標(biāo)簽盡可能接近。涉及的應(yīng)用:預(yù)測(cè)房屋的價(jià)格,股票的漲停,垃圾郵件檢測(cè)。神經(jīng)網(wǎng)絡(luò)也是一種監(jiān)督學(xué)習(xí)的方式。常見(jiàn)算法有邏輯回歸(Logistic Regression)和反向傳遞神經(jīng)網(wǎng)絡(luò)(Back Propagation Neural Network)。根據(jù)目標(biāo)標(biāo)簽的類(lèi)型不同,又可以分為:
* 回歸(Regression)問(wèn)題:目標(biāo)標(biāo)簽y是連續(xù)值(實(shí)數(shù)或連續(xù)整數(shù)),f(x)的輸出也是連續(xù)值。
* 分類(lèi)(Classification)問(wèn)題:目標(biāo)標(biāo)簽y是離散的類(lèi)別(符號(hào))。在此問(wèn)題中,通過(guò)學(xué)習(xí)得到的決策函數(shù)也叫分類(lèi)器。
- 無(wú)監(jiān)督學(xué)習(xí)(Unsupervised Learning):學(xué)習(xí)的數(shù)據(jù)不包含目標(biāo)標(biāo)簽,需要學(xué)習(xí)算法自動(dòng)學(xué)習(xí)到一些有價(jià)值的信息。一個(gè)典型的問(wèn)題就是聚類(lèi),常見(jiàn)算法包括Apriori算法以及k-Means算法。
- 半監(jiān)督學(xué)習(xí)(Semi-supervised Learning):少量有目標(biāo)標(biāo)簽的樣本和大量沒(méi)有目標(biāo)標(biāo)簽的樣本。先試圖對(duì)未標(biāo)識(shí)數(shù)據(jù)進(jìn)行建模,在此基礎(chǔ)上對(duì)標(biāo)識(shí)的數(shù)據(jù)進(jìn)行預(yù)測(cè),如圖論推理算法或者拉普拉斯支持向量機(jī)等。
- 強(qiáng)化學(xué)習(xí)(Reinforcement Learning):輸入數(shù)據(jù)直接反饋到模型,模型必須立刻做出調(diào)整。也就是常說(shuō)的從經(jīng)驗(yàn)中總結(jié)提升。常見(jiàn)的應(yīng)用場(chǎng)景包括動(dòng)態(tài)系統(tǒng)以及機(jī)器人控制等,Google的AlphaGo就是運(yùn)用了這種學(xué)習(xí)方式。算法本身會(huì)總結(jié)失敗和成功的經(jīng)驗(yàn)來(lái)達(dá)到很高的成功率。常見(jiàn)算法包括Q-Learning以及時(shí)間差學(xué)習(xí)(Temporal difference learning)。
- 遺傳算法(Genetic Algorithm):模擬進(jìn)化理論,適者生存不適者淘汰,通過(guò)淘汰機(jī)制選擇最優(yōu)化的模型。
??在企業(yè)數(shù)據(jù)應(yīng)用的場(chǎng)景下, 人們最常用的可能就是監(jiān)督式學(xué)習(xí)和非監(jiān)督式學(xué)習(xí)的模型。 在圖像識(shí)別等領(lǐng)域,由于存在大量的非標(biāo)識(shí)的數(shù)據(jù)和少量的可標(biāo)識(shí)數(shù)據(jù), 目前半監(jiān)督式學(xué)習(xí)是一個(gè)很熱的話題。 而強(qiáng)化學(xué)習(xí)更多的應(yīng)用在機(jī)器人控制及其他需要進(jìn)行系統(tǒng)控制的領(lǐng)域。
2、風(fēng)險(xiǎn)函數(shù)與損失函數(shù)
??我們需要建立一些準(zhǔn)則來(lái)衡量決策函數(shù)的好壞,一般是定義一個(gè)損失函數(shù)L(y,f(x,θ)),然后在所有的訓(xùn)練樣本上來(lái)評(píng)價(jià)決策函數(shù)的風(fēng)險(xiǎn)。
損失函數(shù)
??給定一個(gè)實(shí)例(x,y),真實(shí)目標(biāo)是y,機(jī)器學(xué)習(xí)模型預(yù)測(cè)的結(jié)果為f(x,θ),損失函數(shù)就是用來(lái)估量模型的預(yù)測(cè)值和真實(shí)值的不一致程度,它是一個(gè)非負(fù)實(shí)值函數(shù),損失函數(shù)越小,模型的魯棒性就越好。損失函數(shù)是經(jīng)驗(yàn)風(fēng)險(xiǎn)函數(shù)的核心部分,也是結(jié)構(gòu)風(fēng)險(xiǎn)函數(shù)的重要組成部分。
常見(jiàn)的損失函數(shù)有如下幾類(lèi):
* 0-1損失函數(shù):0-1損失函數(shù)(0-1 loss function)是
L(y,f(x,θ))=={01if y=f(x,θ)if y≠f(x,θ)I(y≠f(x,θ))
* 平方損失函數(shù):通常為線性回歸的損失函數(shù)。
L(y,y^)=(y?f(x,θ))2
??最小二乘法和梯度下降法都是通過(guò)求導(dǎo)來(lái)求損失函數(shù)的最小值。
* 最小二乘法:直接對(duì)L(y,f(x,θ))求導(dǎo)找出全局最小,是非迭代法;
* 梯度下降法:迭代法,先給定一個(gè),然后向下降最快的方向調(diào)整,在若干次迭代之后找到局部最小。其缺點(diǎn)是到最小點(diǎn)的時(shí)候收斂速度變慢,并且對(duì)初始點(diǎn)的選擇極為敏感。
* 交叉熵?fù)p失函數(shù):對(duì)于分類(lèi)問(wèn)題,預(yù)測(cè)目標(biāo)為y為離散的類(lèi)別,模型輸出f(x,θ)為每個(gè)類(lèi)的條件概率。
??假設(shè)y∈{1,...,C},模型預(yù)測(cè)的第i個(gè)類(lèi)的條件概率P(y=i∣x)=fi(x,θ),則f(x,θ)滿足
fi(x,θ)∈[0,1],∑i=1Cfi(x,θ)=1
??f_y(x,\theta)可以看做真實(shí)類(lèi)別y的似然函數(shù)。參數(shù)可以用最大似然估計(jì)來(lái)優(yōu)化??紤]到計(jì)算問(wèn)題,我們經(jīng)常使用最小化負(fù)對(duì)數(shù)似然,也就是負(fù)對(duì)數(shù)似然損失函數(shù)。
L(y,f(x,θ))=?logfy(x,θ)
??如果我們用one-hot向量y來(lái)表示目標(biāo)類(lèi)別c,其中只有yc=1,其余的向量元素都為0.
??負(fù)對(duì)數(shù)似然函數(shù)可以寫(xiě)為:
L(y,f(x,θ))=?∑i=1Cyilogfi(x,θ)
??yi也可以看成是真實(shí)類(lèi)別的分布,這樣上面的公式恰好是交叉熵的形式,因此,負(fù)對(duì)數(shù)似然函數(shù)也常叫做交叉熵?fù)p失函數(shù)。
* Hinge損失函數(shù):對(duì)于兩類(lèi)分類(lèi)問(wèn)題,假設(shè)y和f(x,θ)的取值為{?1,+1}。Hinge損失函數(shù)的定義如下:
L(y,f(x,θ))=max(0,1?yf(x,θ))=|1?yf(x,θ)|+.
風(fēng)險(xiǎn)函數(shù)
- 經(jīng)驗(yàn)風(fēng)險(xiǎn):Remp(θ),在已知的訓(xùn)練樣本(經(jīng)驗(yàn)數(shù)據(jù))上計(jì)算得來(lái)。用對(duì)參數(shù)θ求經(jīng)驗(yàn)風(fēng)險(xiǎn)來(lái)逐漸逼近理想的期望風(fēng)險(xiǎn)的最小值,這一原則我們稱(chēng)為經(jīng)驗(yàn)風(fēng)險(xiǎn)最小化原則。
- 結(jié)構(gòu)風(fēng)險(xiǎn):Rstruct(θ),在經(jīng)驗(yàn)風(fēng)險(xiǎn)最小化的原則上加上參數(shù)的正則化,叫做結(jié)構(gòu)風(fēng)險(xiǎn)最小化原則。
3、常見(jiàn)的基本概念
數(shù)據(jù)
??所有能由計(jì)算機(jī)程序處理的對(duì)象的總稱(chēng),可以是數(shù)字、字母和符號(hào)等。
特征
??在現(xiàn)實(shí)世界中,原始數(shù)據(jù)通常并不都是以連續(xù)變量或離散變量的形式存在的,我們首先需要抽取出一些可以表征這些數(shù)據(jù)的數(shù)值型特征,這些數(shù)值型特征可以表示為向量形式,也稱(chēng)為特征向量。
參數(shù)與超參數(shù)
??需要通過(guò)學(xué)習(xí)算法學(xué)習(xí)得來(lái)的就是參數(shù)。超參數(shù)是參數(shù)的參數(shù)。
特征學(xué)習(xí)
??如何自動(dòng)地學(xué)習(xí)有效的特征也成為機(jī)器學(xué)習(xí)中一個(gè)重要的研究?jī)?nèi)容,也就是特征學(xué)習(xí),也叫表示學(xué)習(xí)。特征學(xué)習(xí)分成兩種,一種是特征選擇,是在很多特征集合選取有效的子集;另一種是特征提取,是構(gòu)造一個(gè)新的特征空間,并將原始特征投影到新的空間中。
樣本
??按照一定的抽樣規(guī)則從從全部數(shù)據(jù)中取出的一部分?jǐn)?shù)據(jù),是實(shí)際觀測(cè)到的數(shù)據(jù)。
訓(xùn)練集和測(cè)試集
??一組樣本的集合就稱(chēng)為數(shù)據(jù)集。為了檢驗(yàn)機(jī)器學(xué)習(xí)算法的好壞,一般將數(shù)據(jù)集分成兩部分:訓(xùn)練集和測(cè)試集。訓(xùn)練集用來(lái)進(jìn)行模型學(xué)習(xí),測(cè)試集用來(lái)進(jìn)行模型驗(yàn)證。
正例和負(fù)例
??對(duì)于兩類(lèi)分類(lèi)問(wèn)題,常用正例和負(fù)例來(lái)分別表示屬于不同類(lèi)別的樣本。
判別函數(shù)
??經(jīng)過(guò)特征提取后,一個(gè)樣本可以表示為k維特征空間中的一個(gè)點(diǎn)。為了對(duì)這些點(diǎn)進(jìn)行分類(lèi),需要一些超平面來(lái)將這個(gè)特征空間分成一些互不重疊的子區(qū)域,使得不同類(lèi)別的點(diǎn)分布在不同的子區(qū)域中,這些超平面就是判別界面。
為了定義這些超平面,就需要引入判別函數(shù)。假設(shè)變量z∈Rm為特征空間中的點(diǎn),這個(gè)超平面由所有滿足函數(shù)f(z)=0的點(diǎn)組成。這里的的f(z)就是判別函數(shù)。
|