技術(shù)熱點(diǎn):白話機(jī)器學(xué)習(xí)
從去年開始,陸陸續(xù)續(xù)學(xué)習(xí)了大半年的機(jī)器學(xué)習(xí),現(xiàn)在是時(shí)候做個(gè)總結(jié)了。
在以往的編程經(jīng)驗(yàn)里面,我們需要對(duì)于輸入有一個(gè)精確的,可控制的,可以說(shuō)明的輸出。例如,將1 + 1作為輸入,其結(jié)果就是一個(gè)精確的輸出 2 。并且不論怎么調(diào)整參數(shù),都希望結(jié)果是2,并且能夠很清楚的說(shuō)明,為什么結(jié)果是2,不是3。這樣的理念在傳統(tǒng)的IT界,非常重要,所有的東西就像時(shí)鐘一般精確,一切都是黑白分明的。由于這種嚴(yán)格的輸入輸出,衍生出很多對(duì)于程序的自動(dòng)測(cè)試工具,你的程序無(wú)論怎么運(yùn)行,都應(yīng)該在相同輸入情況下,得到相同的,準(zhǔn)確的,精確的輸出。
但是,如果你進(jìn)入機(jī)器學(xué)習(xí)的世界,則一切都是基于一個(gè)準(zhǔn)確率。換句話說(shuō),你的模型,允許是不***的,1 + 1,結(jié)果可以是 2.01,也可以是1.98。有時(shí)候,如果你的模型要追求***,則可能出現(xiàn)過擬合的可能性。也就是說(shuō),由于你的模型太過于***,使得模型可以很好的匹配訓(xùn)練用數(shù)據(jù),反而失去了通用性,在數(shù)據(jù)發(fā)生變化的時(shí)候,發(fā)生錯(cuò)誤。
舉個(gè)例子來(lái)說(shuō)吧,如果一個(gè)男孩子說(shuō)喜歡某個(gè)女孩子,這個(gè)女孩子身高178,籍貫是遼寧撫順,專業(yè)是計(jì)算機(jī)。如果機(jī)器學(xué)習(xí)發(fā)生過擬合的時(shí)候,它就會(huì)輸出這樣一個(gè)模型
如果 身高 = 178 ,籍貫 = 撫順 ,專業(yè) = 計(jì)算機(jī) 則喜歡。
這個(gè)模型如果用來(lái)匹配一個(gè)個(gè)例,則這個(gè)模型是***的!
但是,如果這個(gè)女孩子身高是179呢,這個(gè)模型會(huì)告訴你,這個(gè)男孩子不喜歡她。其實(shí),對(duì)于男孩子來(lái)說(shuō),178和179其實(shí)沒有什么很大的區(qū)別。但是由于計(jì)算機(jī)想精確給出男孩子喜歡女孩子的模型,所以,計(jì)算機(jī)做出了過擬合的模型。
當(dāng)然,一般來(lái)說(shuō),計(jì)算機(jī)的模型應(yīng)該是有彈性的。
身高在 【175,185】之間
籍貫是 東北
專業(yè)是 IT相關(guān)的
這樣的話,模型雖然會(huì)把一些男孩子不喜歡的女孩子也錯(cuò)誤的標(biāo)識(shí)出來(lái),但是大部分的樣本還是可以比較好的預(yù)測(cè)出來(lái)的。
機(jī)器學(xué)習(xí)追求的不是100%的正確,而是一個(gè)可以容忍的正確率。
當(dāng)然,在某些時(shí)候,還需要一些風(fēng)險(xiǎn)策略的,例如,在人工智能判斷一個(gè)用戶是否能夠發(fā)給信用卡的時(shí)候,并不是說(shuō),這個(gè)人51%的可能性是一個(gè)講信用的人,就發(fā)卡,而是這個(gè)人95%是講信用的人的時(shí)候,才發(fā)卡的。機(jī)器給出的只是一個(gè)估計(jì)值,***還是要人工控制風(fēng)險(xiǎn)的。
機(jī)器學(xué)習(xí),很多人認(rèn)為是一個(gè)高科技的IT技能,其實(shí),一個(gè)好的機(jī)器學(xué)習(xí)模型,領(lǐng)域里的業(yè)務(wù)知識(shí)還是很需要的。而且現(xiàn)在很多工具可以幫助大家建立程序,完全不需要什么編程的技能,只需要給機(jī)器“喂”數(shù)據(jù),調(diào)節(jié)參數(shù),就可以獲得結(jié)果了。
給機(jī)器“喂”什么數(shù)據(jù),那些數(shù)據(jù)的特征值是有用的,那些特征值沒有價(jià)值,這個(gè)就是領(lǐng)域?qū)<宜伎嫉膯栴}了。
男孩子喜歡女孩子,這時(shí)候 顏值,身材,脾氣 可能是比較關(guān)鍵的特征值,喜歡可口可樂還是百事可樂則變得基本沒有什么價(jià)值。如果你的數(shù)據(jù)里面,都是女孩子喜歡那個(gè)牌子的可樂,這樣的數(shù)據(jù)訓(xùn)練出來(lái)的模型沒有任何意義。當(dāng)然,如果你有很多特征值,還是有一些自動(dòng)化的計(jì)算幫你挑選用那些特征值的(主成因分析)。
在機(jī)器學(xué)習(xí)中,有一些復(fù)雜的概念,往往都是由一個(gè)簡(jiǎn)單的概念擴(kuò)展開來(lái)的。
卷積神經(jīng)網(wǎng)絡(luò)為首的一些神經(jīng)網(wǎng)絡(luò)的概念,都是從感知機(jī)這個(gè)小家伙來(lái)的。
感知機(jī)的輸出,是由輸入和權(quán)重決定的,在監(jiān)督學(xué)習(xí)中,輸入和輸出是已知的,然后機(jī)器學(xué)習(xí)通過不停的調(diào)整權(quán)重,使得感知機(jī)的輸出(模型)和實(shí)際的輸出(樣本)盡量一致。這個(gè)過程中,學(xué)習(xí)結(jié)果就是這些權(quán)重,權(quán)重知道了,模型就定下來(lái)了。一個(gè)最簡(jiǎn)單的感知機(jī)的應(yīng)用就是線性單元。
單個(gè)感知機(jī)是弱小的,但是,如果感知機(jī)有成千上萬(wàn)個(gè),然后一層一層一層疊加起來(lái)呢。。這些小家伙就變成強(qiáng)大的神經(jīng)網(wǎng)絡(luò)了
貝葉斯,馬爾科夫同志則共享了很多關(guān)于概率的機(jī)器學(xué)習(xí)。
貝葉斯***貢獻(xiàn)如下。
在“你家隔壁住著老王(B)”的前提下,“你的孩子長(zhǎng)得像隔壁老王(A)”的概率
等于“你的孩子長(zhǎng)得像隔壁老王(A)”的前提下,“你家隔壁住著老王(B)”
乘以:“你的孩子長(zhǎng)得像隔壁老王(A)”的概率(和隔壁是否住著老王無(wú)關(guān))
除以:“你家隔壁住著老王(B)”的概率
當(dāng)然這個(gè)正統(tǒng)說(shuō)法要牽涉到先驗(yàn)概率,后驗(yàn)概率。
從最簡(jiǎn)單的伯努利分布,到關(guān)于分布的分布的變態(tài)級(jí)別的狄利克雷分布,很多機(jī)器學(xué)習(xí)都在追求模型***抽樣的分布概率。換句話說(shuō),就是希望從概率學(xué)上看,我們做出來(lái)的模型,和我們看到的樣本之間,看上去是最相似。(***似然)
例如,我們要做一個(gè)模型,表示拋一枚硬幣有多大概率正面向上。如果我們的樣本告訴我們,10次里面,有7次正面向上,則我們說(shuō)這枚硬幣70%會(huì)出現(xiàn)正面向上。這個(gè)模型的結(jié)論和樣本之間,從概率學(xué)上看是最有可能的。
我們做的模型,就是追求和實(shí)際樣本的結(jié)果,在概率學(xué)上看,是最有可能發(fā)生的情況。
最快梯度下降則幾乎出現(xiàn)在所有的迭代算法中。
為什么梯度下降特別重要,因?yàn)榇蟛糠值乃惴ǘ际潜M可能將損失函數(shù)降低,怎么才能將損失函數(shù)降低,就是不停調(diào)整參數(shù)(權(quán)重),權(quán)重調(diào)整的方向,和梯度下降的方向是一致的。當(dāng)然,最快梯度下降有可能不會(huì)收斂到全局***點(diǎn)。(能否收斂到全局***點(diǎn),和初始位置有關(guān))
機(jī)器學(xué)習(xí)和自然語(yǔ)言處理也是密不可分的。在很多自然語(yǔ)言處理中,將大量使用機(jī)器學(xué)習(xí)的概念。馬爾可夫鏈和條件隨機(jī)場(chǎng),狄利克雷分布這些都是自然語(yǔ)言處理的基礎(chǔ)理論。