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