如何用初中知識理解機器學(xué)習(xí)到底在干什么事情
前言
百度百科搜索“機器學(xué)習(xí)”,映入眼簾的是我無法企及的高度:
- 機器學(xué)習(xí)是一門多領(lǐng)域交叉學(xué)科,涉及概率論、統(tǒng)計學(xué)、逼近論、凸分析、算法復(fù)雜度理論等多門學(xué)科。專門研究計算機怎樣模擬或?qū)崿F(xiàn)人類的學(xué)習(xí)行為,以獲取新的知識或技能,重新組織已有的知識結(jié)構(gòu)使之不斷改善自身的性能。
讓我在懷疑自己智商的同時也在思考:這段話除了闡述了機器學(xué)習(xí)很牛X,能夠模擬人類學(xué)習(xí)行為以外,好像并沒有讓我明白這四個詞的含義,反而加重了我的思想負擔,帶著我越加沉重的大腦繼續(xù)往下看,找到了我認為本詞條最為重要的定義:

然而并卵!!!
就像是看著笑傲江湖里的《葵花寶典》,由于沒有自宮,看了再怎么高深的劍法招式,也只是流于片面,除了牛批,還是牛批。至此我終于明白,原來是打開方式不對,從一開始就錯了(要自宮)!
所以,需要換個方式,這一次我們用初中數(shù)學(xué)打開:
從一次函數(shù)說起
在初中的數(shù)學(xué)中,我們常常遇到類似這樣題目:
- 給定平面內(nèi)的三個點坐標(x,y): A(1,3)、B(2,5)、C(3,7)求x=5時,y的值。
面對如此問題,我們可以先把三個點放到坐標軸上看看,如圖:

可以發(fā)現(xiàn)三個點在一條直線上,符合一次函數(shù)的性質(zhì),那我們只需要求出這條直線的方程式,將x=5代入方程式,就可以求出此時y的值。
此時,問題就變成了:
- 已知A(1,3)、B(2,5)、C(3,7)三個點,橫坐標和縱坐標的關(guān)系符合一次函數(shù)

求x=5時,y的值。
問題到此就進入了我初中知識水平的層面,只需要將A、B、C三個點代入y=kx+b得到關(guān)于k和b的一個方程組,求解可得:

那么x=5時,y等于2*5+1=11(放著我來,這個我會算)。
問題思考
機器學(xué)習(xí)無非就是類似于上面的一個過程,在給定一定量的輸入(x)和輸出(y)數(shù)據(jù)的前提下,找出一個函數(shù)來表示這些x和y之間的關(guān)系,根據(jù)這個函數(shù),我們可以在知道x的條件下輕松求出y,例如我們在網(wǎng)購之后輸入評論,系統(tǒng)就能自動識別出是好評還是差評。
上述案例的這個函數(shù)我們可以稱之為模型,x稱之為特征,y就是機器學(xué)習(xí)要預(yù)測的結(jié)果,而已知的x和y的組合稱之為訓(xùn)練數(shù)據(jù),訓(xùn)練的過程也就是找出x和y的關(guān)系的過程(而不是用皮鞭抽的過程)。
然而真實的機器學(xué)習(xí)案例中往往沒這么簡單,只有一個特征x的函數(shù)怎么滿足更為復(fù)雜的業(yè)務(wù)需求呢?
“一個不行就兩個,兩個不行就三個,三個不行還可以加呀,只要給錢,不好意思,扯遠了!”
當特征數(shù)量為多個,我們依舊可以基于上面的一次函數(shù)基礎(chǔ),進行模型假設(shè)

那么問題也可以得到解決,這就是機器學(xué)習(xí)里面較為基礎(chǔ)的線性回歸。
如果你覺得這些函數(shù)都只能求出一個值,沒啥意思,能否幫我識別出評論區(qū)里哪些是好評,哪些是差評呢?
“當然是沒問題的!只需要把y的結(jié)果映射到0-1之間,然后對y進行判斷,y>=0.5表示好評,y<0.5表示差評就行,然后這個映射函數(shù)我們稱之為激活函數(shù),怎么實現(xiàn)的先不管,理解為主”

這樣就實現(xiàn)了機器學(xué)習(xí)中分類任務(wù)邏輯回歸。
如果你覺得一個特征對應(yīng)一個權(quán)重有點low,而且很多事情都并非是線性相關(guān),如何解決這個問題呢?
“一層權(quán)重不夠,那就加唄,如果再不夠,那就再加!”

你還要嗎?我再加點
上面的過程跑得有點遠,一不小心已經(jīng)到了深度學(xué)習(xí)的層面,路漫漫其修遠兮,我的智商有點跟不上...(所以用省略號代替)
總結(jié)
以上案例僅僅是機器學(xué)習(xí)中監(jiān)督學(xué)習(xí)的過程,真正的機器學(xué)習(xí)往往比這個復(fù)雜得多,還分為非監(jiān)督學(xué)習(xí),半監(jiān)督學(xué)習(xí),在此不做多余贅述,有機會再寫,再見!