張?zhí)煨?/p>
近年來,機(jī)器學(xué)習(xí)在各個領(lǐng)域發(fā)揮出了出色的表現(xiàn),在自然語言處理,圖像識別,推薦系統(tǒng)等領(lǐng)域都發(fā)揮了巨大的作用,成為了當(dāng)前十分熱門的一個學(xué)科領(lǐng)域,這引起了筆者的關(guān)注和研究。本文主要介紹了機(jī)器學(xué)習(xí)領(lǐng)域的感知機(jī)算法,通過感知機(jī)算法的概念、思想,以及理論等方面,全面地介紹了感知機(jī)算法在解決線性可分的二分類問題中發(fā)揮的作用,并通過它的實(shí)際應(yīng)用以及算法自身的特點(diǎn),對它未來的發(fā)展和完善做出了展望。
【關(guān)鍵詞】感知機(jī) 線性分類器 機(jī)器學(xué)習(xí)
1 引言
隨著計(jì)算機(jī)技術(shù)的發(fā)展以及各種數(shù)據(jù)及資源的飛速增長。為了有效地管理和利用各種各樣的數(shù)據(jù),通過對大量數(shù)據(jù)的學(xué)習(xí)使機(jī)器具有認(rèn)識問題和解決問題的能力,這就是機(jī)器學(xué)習(xí)。
機(jī)器學(xué)習(xí)作為人工智能的核心內(nèi)容,已經(jīng)開始作為一個獨(dú)立的學(xué)科領(lǐng)域飛速發(fā)展,并滲透于生活中的各個領(lǐng)域。機(jī)器學(xué)習(xí)的整體思路是定義一個有效的目標(biāo)模型和一個可以衡量目標(biāo)模型優(yōu)劣程度的損失函數(shù),通過對數(shù)據(jù)的學(xué)習(xí)一步步地優(yōu)化目標(biāo)模型使得損失最小的方式來求出最優(yōu)模型,最終可以利用這個目標(biāo)模型來完成各種任務(wù)。
感知機(jī)是機(jī)器學(xué)習(xí)算法中第一個具有重要學(xué)術(shù)意義的基礎(chǔ)算法,它具有運(yùn)算簡單,收斂速度快,具有實(shí)用價值等特點(diǎn),是機(jī)器學(xué)習(xí)領(lǐng)域重要的算法之一,同時也是著名的機(jī)器學(xué)習(xí)算法支持向量機(jī)(SVM)的基礎(chǔ)。
2 概念
在McCulloch 與Pitts 模型的基礎(chǔ)上 Rosenblatt 首先提出了感知機(jī)算法。感知機(jī)模型是一個線性分類器,它的目標(biāo)是通過訓(xùn)練數(shù)據(jù)訓(xùn)練出能夠?qū)?shù)據(jù)進(jìn)行線性二分類的分離超平面。
感知機(jī)雖然結(jié)構(gòu)簡單,但能夠?qū)W習(xí)并解決多種復(fù)雜的問題。感知機(jī)主要的本質(zhì)缺陷是它不能直接處理線性不可分問題,以及解決方案的非最優(yōu)化。
3 感知機(jī)原理
3.1 感知機(jī)模型
感知機(jī)模型就f(x)=sign(w*x+b),即目標(biāo)模型,我們要做的就是通過已知的數(shù)據(jù)學(xué)習(xí)訓(xùn)練得出w和b這兩個未知參數(shù),得到了這兩個參數(shù)也就等同于訓(xùn)練出來我們的目標(biāo)模型。
如下由輸入空間x到輸出空間f(x)的函數(shù)稱為感知機(jī)的模型:
f(x)=sign(w.x+b)
其中w叫做權(quán)值(weight)或權(quán)值向量,w(w1,w2,w3,…,wn),來表示各個輸入對于輸出的重要程度,b叫做偏置(bias)用來調(diào)整整體結(jié)果和閾值之間的關(guān)系。
sign為符號函數(shù):
感知機(jī)模型的原理:每一組參數(shù)值
我們要初始化參數(shù)
3.2 感知機(jī)的學(xué)習(xí)策略
在數(shù)據(jù)集線性可分的前提下,感知機(jī)的學(xué)習(xí)目標(biāo)是通過已知數(shù)據(jù)訓(xùn)練出一個超平面,這個超平面需要具有如下特性:能夠?qū)⒂?xùn)練集中的兩類樣本點(diǎn)完全正確分類。為了找到這個超平面,即確定感知機(jī)模型參數(shù)w,b,需要確定一個學(xué)習(xí)策略,即定義一個損失函數(shù),來衡量目標(biāo)模型的優(yōu)劣,損失函數(shù)極小化的過程就是目標(biāo)模型優(yōu)化的過程。所以求解目標(biāo)模型,就可以轉(zhuǎn)換為求解損失函數(shù)的最小值。
如何定義損失函數(shù)?一個自然選擇是誤分類點(diǎn)的總數(shù),通過誤分類點(diǎn)的綜述來衡量當(dāng)前感知機(jī)模型的優(yōu)劣,但是這樣的損失函數(shù)存在一個嚴(yán)重的問題:對于數(shù)據(jù)量較小的訓(xùn)練集,我們可以通過這樣損失函數(shù)找到目標(biāo)模型,但是當(dāng)數(shù)據(jù)集的數(shù)據(jù)量較大時,我們需要通過計(jì)算來求出當(dāng)前損失函數(shù)的最小值,而此時的損失函數(shù)關(guān)于w,b不是連續(xù)可導(dǎo)函數(shù),這樣會嚴(yán)重影響我們求出損失函數(shù)最小值的效率。所以感知機(jī)的損失函數(shù)采用另一種形式來定義:計(jì)算所有點(diǎn)到超平面的總距離,這樣當(dāng)損失函數(shù)為最小值時,意味著所有樣本點(diǎn)分類正確,此時損失函數(shù)的參數(shù)
感知機(jī)f(x)=sign(w.x+b)模型的損失函數(shù)定義為(重點(diǎn)):
L(w,b) = -∑yi(w*xi+b)
首先我們需要初始化一組參數(shù)< w0,b0>,即初始化一個超平面,然后通過梯度下降法不斷地極小化目標(biāo)函數(shù),即對損失函數(shù)L(w,b) = -∑yi(w*xi+b)分別對w,b求偏導(dǎo),以求出損失函數(shù)最小值。
隨機(jī)選取一個誤分類點(diǎn) (xi,yi),對 w和b 進(jìn)行更新:
w←w+ηyixi
b←b+ηyi
其中 η 是步長,又稱為學(xué)習(xí)速率,用來控制w和b更新幅度的大小,η越大,需要更新的次數(shù)越少,但是可能跨過最小值,倒置反復(fù)更新,而η 越小,則需要更新的次數(shù)越多,所以選取適當(dāng)?shù)摩且彩且粋€重要的環(huán)節(jié)。
這種學(xué)習(xí)策略可以理解為當(dāng)一個樣本點(diǎn)被錯誤分類時,則更新w和b的值,直到該樣本點(diǎn)被正確分類。如此循環(huán),直至所有的樣本點(diǎn)都被正確分類
3.3 感知機(jī)學(xué)習(xí)算法
以二維空間為例,感知機(jī)的模型即為圖1中的藍(lán)色直線,也就是我們要找的可以將紅色點(diǎn)和藍(lán)色點(diǎn)區(qū)分開的目標(biāo)模型。例如圖1,紅色作為一類,藍(lán)色作為另一類,一旦我們找到了這條直線,那么根據(jù)一個點(diǎn)在這條直線的上側(cè)還是下側(cè)即可判斷該點(diǎn)的分類。如圖1所示。
感知機(jī)學(xué)習(xí)的過程是由訓(xùn)練集訓(xùn)練出目標(biāo)感知機(jī)模型的過程,即通過已知的數(shù)據(jù)x和y求得模型參數(shù)w,b,進(jìn)而得到感知機(jī)模型f(x)=sign(w*x+b),這里x和y分別是特征向量和類別(也稱為目標(biāo))。
感知機(jī)學(xué)習(xí)算法轉(zhuǎn)化為求解感知機(jī)損失函數(shù)的最優(yōu)化問題,最優(yōu)化的方法是隨機(jī)梯度下降法。
學(xué)習(xí)算法:
輸入:訓(xùn)練數(shù)據(jù)集T、學(xué)習(xí)率α
輸出:w,b;感知機(jī)模型f(x)=sign(w.x + b)
(1)初始參數(shù)w0,b0;
(2)依次選取訓(xùn)練集中所有的數(shù)據(jù)(xi,yi);
(3)如果yi(w.xi + b) <= 0,即分類錯誤,則使用隨機(jī)梯度下降法更新w和b;
(4)轉(zhuǎn)至(2),直至訓(xùn)練集中的所有樣本點(diǎn)均被正確分類。
4 展望
4.1 感知機(jī)的局限性
感知機(jī)最初被認(rèn)為有著良好的發(fā)展?jié)撃?,但感知機(jī)不能直接解決一些線性不可分問題,而且通過感知機(jī)算法找到的目標(biāo)模型有多個,每一個都能滿足需求,但這多個模型中有一個最優(yōu)模型,即為支持向量機(jī)模型。其次,感知機(jī)是面向二分類的任務(wù),目前對于多分類的任務(wù)只能簡單地轉(zhuǎn)換為多個二分類問題來處理。
4.2 感知機(jī)的優(yōu)勢
感知機(jī)算法是機(jī)器領(lǐng)域的一個基礎(chǔ)算法,對它的學(xué)習(xí)和能夠更深入的理解其他算法。同時其自身具有系統(tǒng)結(jié)構(gòu)簡單,模型易于訓(xùn)練,對于二分類問題分類效果十分顯著,學(xué)習(xí)和預(yù)測時間短,使得算法更加高效,其應(yīng)用也具有更廣闊的前景。
4.3 感知機(jī)的發(fā)展
感知機(jī)面向的是線性分類,但在現(xiàn)實(shí)中的分類問題通常是非線性的。簡單的感知機(jī)模型主要用于線性分類器,但在近年,在使用核技巧改進(jìn)感知機(jī)學(xué)習(xí)算法之后,愈來愈多的人對感知機(jī)學(xué)習(xí)算法產(chǎn)生興趣,完善感知機(jī)算法,使得多層感知機(jī)可用于非線性分器等更復(fù)雜的任務(wù)上。
感知機(jī)目前是針對二分類問題的算法,但是所有的分類問題都可以轉(zhuǎn)換為多層的二分類問題,也就是通過貴感知機(jī)算法的改進(jìn),升級,可以提升感知機(jī)的分類能力,從二分類改進(jìn)為可以進(jìn)行多分類,同時可以將多分類的改進(jìn)和非線性分類的改進(jìn)進(jìn)行結(jié)合,進(jìn)而處理更為復(fù)雜的分類任務(wù)。
參考文獻(xiàn)
[1]王驚曉.Budget感知機(jī)研究綜述[J].電腦知識與技術(shù),2012,8(14):3371-3373+3390.
[2]李紅霞.感知機(jī)學(xué)習(xí)算法模擬與改進(jìn)[J].信息與電腦(理論版),2009(10):98-99.
[3]劉華煜.基于支持向量機(jī)的機(jī)器學(xué)習(xí)研究[D].大慶石油學(xué)院,2005.
[4]丁世飛,齊丙娟,譚紅艷.支持向量機(jī)理論與算法研究綜述[J].電子科技大學(xué)學(xué)報(bào),2011,40(01):2-10.
[5]郭亞寧,馮莎莎.機(jī)器學(xué)習(xí)理論研究[J].中國科技信息,2010(14):208-209+214.
[6]張潤,王永濱.機(jī)器學(xué)習(xí)及其算法和發(fā)展研究[J].中國傳媒大學(xué)學(xué)報(bào)(自然科學(xué)版),2016,23(02):10-18+24.
[7]安增波,張彥.機(jī)器學(xué)習(xí)方法的應(yīng)用研究[J].長治學(xué)院學(xué)報(bào),2007(02):21-24.
[8]李運(yùn).機(jī)器學(xué)習(xí)算法在數(shù)據(jù)挖掘中的應(yīng)用[D].北京郵電大學(xué),2015.
[9]邴欣.機(jī)器學(xué)習(xí)在推薦系統(tǒng)中的應(yīng)用[D].山東大學(xué),2016.
[10]梁曉音.機(jī)器學(xué)習(xí)在數(shù)據(jù)挖掘中的應(yīng)用[J].廣西質(zhì)量監(jiān)督導(dǎo)報(bào),2008(11):38-39+42.
作者單位
北京師范大學(xué)第二附屬中學(xué) 北京市 100088endprint