非碼農(nóng)也能看懂的“機(jī)器學(xué)習(xí)”原理
我們先來(lái)說(shuō)個(gè)老生常談的情景:某天你去買芒果,小販攤了滿滿一車芒果,你一個(gè)個(gè)選好,拿給小販稱重,然后論斤付錢。
自然,你的目標(biāo)是那些最甜最成熟的芒果,那怎么選呢?你想起來(lái),啊外婆說(shuō)過(guò),明黃色的比淡黃色的甜。你就設(shè)了條標(biāo)準(zhǔn):只選明黃色的芒果。于是按顏色挑好、付錢、回家。啊哈,人生完整了?
呵呵呵。
告訴你吧人生就是各種麻煩
等你回到家,嘗了下芒果。有些確實(shí)挺甜,有些就不行了。額~顯然,外婆教的金科玉律還不夠用,光看顏色不靠譜哪。
閉關(guān)研究大半天以后,你得出結(jié)論:大個(gè)的明黃色芒果必然甜,小個(gè)的,就只有一半幾率會(huì)是甜的了。
于是下次,你滿意地帶著這個(gè)結(jié)論再去買芒果,卻發(fā)現(xiàn)你經(jīng)常光顧的那個(gè)小販關(guān)門度假去了。好吧,換家店,結(jié)果人家的進(jìn)貨渠道還不一樣,那芒果是另一個(gè)地方種的。你這套法則不管用了,又得從頭再來(lái)。好吧,這家店里每種芒果你都嘗了下,總結(jié)出來(lái)小個(gè)淡黃色的最甜。
還沒(méi)結(jié)束。你遠(yuǎn)房表妹又來(lái)找你玩了。要招待些好的吧?但她說(shuō)了,她無(wú)所謂芒果甜不甜,汁水多就行。好唄,你還得再做一次實(shí)驗(yàn),找到芒果越軟汁水越多的規(guī)律。
接著你又移民了。一嘗這邊的芒果,咦,新世界的大門打開(kāi)了。綠色的芒果居然比黃色的好吃……
最后,你結(jié)婚了,領(lǐng)導(dǎo)表示不愛(ài)吃芒果,要吃蘋(píng)果。于是你所有關(guān)于芒果的知識(shí)都沒(méi)用了。只能按老方法再重新研究遍蘋(píng)果的物理特征跟它味道好不好之間的關(guān)系。蘋(píng)果吃到吐?沒(méi)辦法,你愛(ài)老婆嘛。
有請(qǐng)碼農(nóng)
好了,現(xiàn)在想象下,這一路辛酸曲折的,你寫(xiě)了組程序幫忙減輕負(fù)擔(dān)。那程序邏輯基本應(yīng)該類似這樣:
預(yù)設(shè)變量 顏色、大小、店家、硬度
如 顏色=明黃
大小=大
店家=經(jīng)常光顧的小販
則 芒果=甜
如 硬度=軟
則 芒果=多汁
用著很爽吧,你甚至可以把這套玩意兒發(fā)給你小弟,他挑來(lái)的芒果也包你滿意。
但每做一次新實(shí)驗(yàn),你就得人肉改一次程序邏輯。而且你得首先保證自己已經(jīng)理解了選芒果那套錯(cuò)綜復(fù)雜的藝術(shù),才能把它寫(xiě)進(jìn)程序里。如果要求太復(fù)雜、芒果種類太多,那光把所有挑選規(guī)則翻譯成程序邏輯就夠你出一身大汗,相當(dāng)于讀個(gè)“芒果學(xué)”博士了。
不是所有人都有“讀博”的功夫的。
有請(qǐng)“機(jī)器學(xué)習(xí)”算法
機(jī)器學(xué)習(xí)算法其實(shí)就是普通算法的進(jìn)化版。通過(guò)自動(dòng)學(xué)習(xí)數(shù)據(jù)規(guī)律,讓你的程序變得更聰明些。
你從市場(chǎng)上隨機(jī)買一批芒果(訓(xùn)練數(shù)據(jù)),把每只芒果的物理屬性列一個(gè)表格出來(lái),比如顏色、大小、形狀、產(chǎn)地、店家,等等(特征),對(duì)應(yīng)芒果的甜度、汁水多少、成熟度,等等(輸出變量)。然后把這些數(shù)據(jù)扔給機(jī)器學(xué)習(xí)算法(分類/回歸),它就會(huì)自己計(jì)算出一個(gè)芒果物理屬性與其品質(zhì)之間的相關(guān)性模型。
等下一次你去采購(gòu)時(shí),輸入店里在賣的芒果的物理屬性(測(cè)試數(shù)據(jù)),機(jī)器學(xué)習(xí)算法就會(huì)根據(jù)上次計(jì)算出來(lái)的模型來(lái)預(yù)測(cè)這些芒果品質(zhì)如何。機(jī)器用的算法可能跟你人肉寫(xiě)的邏輯規(guī)則類似(比如決策樹(shù)),也有可能更先進(jìn),但反正基本上你不用多慮。
好啦,現(xiàn)在你可以信心滿滿去買芒果了,顏色大小啥的都是浮云,交給機(jī)器去操心唄。更妙的是,你的算法還會(huì)逐漸進(jìn)化(強(qiáng)化學(xué)習(xí)):根據(jù)其預(yù)測(cè)結(jié)果的正誤,算法會(huì)自行修正模型,那么隨著訓(xùn)練數(shù)據(jù)的積累,到后來(lái)它的預(yù)測(cè)就會(huì)越來(lái)越準(zhǔn)確。最妙的來(lái)了,用同一個(gè)算法,你可以做好幾個(gè)模型,蘋(píng)果桔子香蕉葡萄各給爺來(lái)上一套,不要說(shuō)老婆有令,就是七大姑八大嬸各有所好,也再不用發(fā)愁了。
用一句話總結(jié)機(jī)器學(xué)習(xí)就是:走自己的屌絲路,讓你的算法牛逼去吧。
來(lái)源:Quora