吳恩達預熱新課!萬(wàn)字博客回顧機器學(xué)習算法起源

發(fā)布時(shí)間:2022-6-10 16:12    發(fā)布者:eechina
關(guān)鍵詞: 機器學(xué)習 , 吳恩達


吳恩達的來(lái)信

親愛(ài)的朋友們,

幾年前,我們計劃在有限的計算量預算內將該算法應用于一個(gè)龐大的用戶(hù)群,所以有必要選擇一個(gè)高效的算法。

神經(jīng)網(wǎng)絡(luò )和決策樹(shù)學(xué)習算法之間,我選擇了神經(jīng)網(wǎng)絡(luò )。

因為我已經(jīng)有一段時(shí)間沒(méi)有使用提升決策樹(shù)了,我直覺(jué)上認為它們需要的計算量比實(shí)際要多,但選擇神經(jīng)網(wǎng)絡(luò )是一個(gè)錯誤的決定。

幸運的是,我的團隊很快就指出了錯誤,并修正了我的決定,而這個(gè)項目最后也獲得了成功。

這次經(jīng)歷給我上了一課,告訴我學(xué)習和不斷刷新基礎知識的重要性。如果我重新熟悉了提升樹(shù),我就會(huì )做出更好的決定。



機器學(xué)習和其他技術(shù)領(lǐng)域一樣,隨著(zhù)研究人員社區在彼此工作的基礎上不斷發(fā)展,一些貢獻經(jīng)過(guò)時(shí)間的考驗后,長(cháng)盛不衰,并成為進(jìn)一步發(fā)展的基礎。

從住房?jì)r(jià)格預測器到文本、圖像生成器,一切新算法都建立在基礎算法上(例如線(xiàn)性和邏輯回歸、決策樹(shù)等)和基礎概念(如正則化、優(yōu)化損失函數、偏差/方差等)的核心思想上。

堅實(shí)的、時(shí)刻更新的基礎知識是成為一名高效的機器學(xué)習工程師的一個(gè)關(guān)鍵。許多團隊在日常工作中都會(huì )用到這些想法,而博客文章和研究論文也常常假定你對這些思想很熟悉,這些常識基礎對于我們近年來(lái)看到的機器學(xué)習的快速進(jìn)步至關(guān)重要。

這也是為什么我把原來(lái)的機器學(xué)習課程進(jìn)行了更新。



我的團隊花了很多時(shí)間來(lái)討論最核心的教學(xué)概念,為各種主題制定了廣泛的教學(xué)大綱,并在其中設計了課程單元的原型。

這個(gè)過(guò)程幫助我們認識到,主題的多樣性比細節的知識更重要,所以我們又重新制作了一份大綱。

我希望最后的結果是一套易于理解的課程,能夠幫助任何人掌握當今機器學(xué)習中最重要的算法和概念,包括深度學(xué)習,但也包括很多其他東西,并能夠建立有效的學(xué)習系統。

本著(zhù)這種精神,我們決定探討一些領(lǐng)域內最重要的算法,解釋了它們是如何工作的,并介紹它們不為人知的起源。

如果你是一個(gè)初學(xué)者,我希望它能幫助你揭開(kāi)機器學(xué)習核心的一些方法的神秘面紗。

對于那些老手來(lái)說(shuō),你會(huì )在熟悉的領(lǐng)域中發(fā)現一些鮮為人知的觀(guān)點(diǎn)。

學(xué)無(wú)止境,保持學(xué)習!

吳恩達

線(xiàn)性回歸

線(xiàn)性回歸(Linear regression)可能是機器學(xué)習中的最重要的統計方法,至于誰(shuí)發(fā)明了這個(gè)算法,一直爭論了200年,仍未解決。

1805年,法國數學(xué)家勒讓德(Adrien-Marie Legendre)在預測一顆彗星的位置時(shí),發(fā)表了將一條線(xiàn)擬合到一組點(diǎn)上的方法。天體導航是當時(shí)全球商業(yè)中最有價(jià)值的科學(xué),就像今天的人工智能一樣。

四年后,24歲的德國天才數學(xué)家高斯(Carl Friedrich Gauss)堅持認為,他自1795年以來(lái)一直在使用這種方法,但他認為這種方法太過(guò)瑣碎,無(wú)法寫(xiě)出來(lái)。高斯的說(shuō)法促使Legendre發(fā)表了一份匿名的附錄,指出「一位非常有名的幾何學(xué)家毫不猶豫地采用了這種方法」。

這類(lèi)長(cháng)期存在發(fā)明爭議的算法都有兩個(gè)特點(diǎn):好用,且簡(jiǎn)單!

線(xiàn)性回歸的本質(zhì)上就是斜率(slopes)和截距(biases,也稱(chēng)偏置)。

當一個(gè)結果和一個(gè)影響它的變量之間的關(guān)系是一條直線(xiàn)時(shí),線(xiàn)性回歸就很有用。

例如,一輛汽車(chē)的油耗與它的重量呈線(xiàn)性關(guān)系。



一輛汽車(chē)的油耗y和它的重量x之間的關(guān)系取決于直線(xiàn)的斜率w(油耗隨重量上升的陡峭程度)和偏置項b(零重量時(shí)的油耗):y=w*x+b。

在訓練期間,給定汽車(chē)的重量,算法預測預期的燃料消耗。它比較了預期和實(shí)際的燃料消耗。然后通過(guò)最小二乘法,使平方差最小化,從而修正w和b的值。

考慮到汽車(chē)的阻力,有可能產(chǎn)生更精確的預測。額外的變量將直線(xiàn)延伸到一個(gè)平面。通過(guò)這種方式,線(xiàn)性回歸可以接收任何數量的變量/維度作為輸入。

線(xiàn)性回歸算法在當年可以幫助航海家追蹤星星,后來(lái)幫助生物學(xué)家(特別是查爾斯-達爾文的表弟弗朗西斯-高爾頓)識別植物和動(dòng)物的遺傳性狀,進(jìn)一步的發(fā)展釋放了線(xiàn)性回歸的潛力。

1922年,英國統計學(xué)家羅納德-費舍爾和卡爾-皮爾遜展示了線(xiàn)性回歸如何融入相關(guān)和分布的一般統計框架,再次擴大了其適用范圍。

近一個(gè)世紀后,計算機的出現為其提供了數據和處理能力,使其得到更大的利用。

當然,數據從來(lái)沒(méi)有被完美地測量過(guò),而且多個(gè)變量之間也存在不同的重要程度,這些事實(shí)也刺激了線(xiàn)性回歸產(chǎn)生了更復雜的變體。

例如,帶正則化的線(xiàn)性回歸(也稱(chēng)為嶺回歸)鼓勵線(xiàn)性回歸模型不要過(guò)多地依賴(lài)任何一個(gè)變量,或者說(shuō)要均勻地依賴(lài)最重要的變量。如果你要追求簡(jiǎn)化,使用L1的正則化就是lasso回歸,最終的系數更稀疏。換句話(huà)說(shuō),它學(xué)會(huì )了選擇具有高預測能力的變量,而忽略了其他的變量。

Elastic net結合了兩種類(lèi)型的正則化,當數據稀少或特征出現關(guān)聯(lián)時(shí),它很有用。

神經(jīng)網(wǎng)絡(luò )中最常見(jiàn)的一種神經(jīng)元就是線(xiàn)性回歸模型,往往后面再跟著(zhù)一個(gè)非線(xiàn)性激活函數,所以線(xiàn)性回歸是深度學(xué)習的基本構件。

Logistic回歸

Logistic函數可以追溯到19世紀30年代,當時(shí)比利時(shí)統計學(xué)家P.F. Verhulst發(fā)明了該函數來(lái)描述人口動(dòng)態(tài)。

隨著(zhù)時(shí)間的推移,最初的爆炸性指數增長(cháng)在消耗可用資源時(shí)趨于平緩,從而形成了Logistic曲線(xiàn)。



一個(gè)多世紀后,美國統計學(xué)家威爾遜(E. B. Wilson)和他的學(xué)生簡(jiǎn)-伍斯特(Jane Worcester)設計了邏輯回歸算法,以計算出多少給定的危險物質(zhì)會(huì )致命。

Logistic回歸將logistic函數擬合到數據集上,以預測在某一事件(例如,攝入馬錢(qián)子)發(fā)生特定結果(例如,過(guò)早死亡)的概率。



1、訓練時(shí)水平地調整曲線(xiàn)的中心位置,垂直地調整其中間位置,以使函數的輸出和數據之間的誤差最小。

2、將中心向右或向左調整意味著(zhù)需要更多或更少的毒藥來(lái)殺死普通人。陡峭的坡度意味著(zhù)確定性:在中間點(diǎn)之前,大多數人都能活下來(lái);超過(guò)中間點(diǎn),那就說(shuō)得再見(jiàn)了。一個(gè)平緩的斜率更寬容:低于曲線(xiàn)的中間點(diǎn),超過(guò)一半的人可以存活;更遠的地方,不到一半。

3、設置一個(gè)閾值,比如說(shuō)0.5,曲線(xiàn)就成了一個(gè)分類(lèi)器。只要把劑量輸入模型,你就會(huì )知道你應該計劃一個(gè)聚會(huì )還是一個(gè)葬禮。

Verhulst的工作發(fā)現了二元結果的概率,后來(lái)英國統計學(xué)家David Cox和荷蘭統計學(xué)家Henri Theil在20世紀60年代末獨立工作,將邏輯回歸法用于有兩個(gè)以上類(lèi)別的情況。

Logistic函數可以描述多種多樣的現象,并具有相當的準確性,因此Logistic回歸在許多情況下提供了可用的基線(xiàn)預測。

在醫學(xué)上,它可以估計死亡率和疾病的風(fēng)險;在政治中,它可以預測選舉的贏(yíng)家和輸家;在經(jīng)濟學(xué)中,它可以預測商業(yè)前景。

在神經(jīng)網(wǎng)絡(luò )中,有一部分神經(jīng)元為L(cháng)ogistic回歸,其中非線(xiàn)性函數為sigmoid。

梯度下降

想象一下,在黃昏過(guò)后的山區徒步旅行,你會(huì )發(fā)現除了你的腳以外看不到什么。而你的手機沒(méi)電了,所以你無(wú)法使用GPS應用程序來(lái)尋找回家的路。

你可能會(huì )發(fā)現梯度下降的方向是最快路徑,只是要小心不要走下懸崖。

1847年,法國數學(xué)家Augustin-Louis Cauchy發(fā)明了近似恒星軌道的算法。60年后,他的同胞雅克-哈達瑪德(Jacques Hadamard)獨立開(kāi)發(fā)了這一算法,用來(lái)描述薄而靈活的物體的變形。

不過(guò),在機器學(xué)習中,它最常見(jiàn)的用途是找到學(xué)習算法損失函數的最低點(diǎn)。

神經(jīng)網(wǎng)絡(luò )通常是一個(gè)函數,給定一個(gè)輸入,計算出一個(gè)期望的輸出。

訓練網(wǎng)絡(luò )的一種方法是,通過(guò)反復計算實(shí)際輸出和期望輸出之間的差異,然后改變網(wǎng)絡(luò )的參數值來(lái)縮小該差異,從而使損失最小化,或其輸出中的誤差最小。

梯度下降縮小了誤差,使計算損失的函數最小化。

網(wǎng)絡(luò )的參數值相當于景觀(guān)上的一個(gè)位置,而損失是當前的高度。隨著(zhù)你的下降,你提高了網(wǎng)絡(luò )的能力,以計算出接近所需的輸出。

不過(guò)可見(jiàn)性是有限的,因為在監督學(xué)習下,算法完全依賴(lài)于網(wǎng)絡(luò )的參數值和梯度,也就是當前損失函數的斜率。



使用梯度下降,你也有可能被困在一個(gè)由多個(gè)山谷(局部最小值)、山峰(局部最大值)、馬鞍(馬鞍點(diǎn))和高原組成的非凸形景觀(guān)中。事實(shí)上,像圖像識別、文本生成和語(yǔ)音識別這樣的任務(wù)都是非凸的,而且已經(jīng)出現了許多梯度下降的變體來(lái)處理這種情況。

K-means聚類(lèi)

如果你在派對上與其他人站得很近,那么你們之間很可能有一些共同點(diǎn)。

K-means的聚類(lèi)就是基于這種先驗想法,將數據點(diǎn)分為多個(gè)group,無(wú)論這些group是通過(guò)人類(lèi)機構還是其他力量形成的,這種算法都會(huì )找到它們之間的關(guān)聯(lián)。



美國物理學(xué)家斯圖爾特-勞埃德(Stuart Lloyd)是貝爾實(shí)驗室標志性創(chuàng )新工廠(chǎng)和發(fā)明原子彈的曼哈頓項目的校友,他在1957年首次提出了k-means聚類(lèi),以分配數字信號中的信息,不過(guò)他直到1982年才發(fā)表。

與此同時(shí),美國統計學(xué)家愛(ài)德華-福吉(Edward Forgy)在1965年描述了一種類(lèi)似的方法——勞埃德-福吉算法。

K-means聚類(lèi)首先會(huì )尋找group的中心,然后將數據點(diǎn)分配到志同道合的group內?紤]到數據量在空間里的位置和要組成的小組數量,k-means聚類(lèi)可以將與會(huì )者分成規模大致相同的小組,每個(gè)小組都聚集在一個(gè)中心點(diǎn)或中心點(diǎn)周?chē)?br />
在訓練過(guò)程中,算法最初需要隨機選擇k個(gè)人來(lái)指定k個(gè)中心點(diǎn),其中k必須手動(dòng)選擇,而且找到一個(gè)最佳的k值并不容易。

然后通過(guò)將每個(gè)人與最接近的中心點(diǎn)聯(lián)系起來(lái)形成k個(gè)聚類(lèi)簇。

對于每個(gè)聚類(lèi)簇,它計算所有被分配到該組的人的平均位置,并將平均位置指定為新的中心點(diǎn)。每個(gè)新的中心點(diǎn)可能都不是由一個(gè)具體的人占據的。

在計算出新的中心點(diǎn)后,算法將所有人重新分配到離他們最近的中心點(diǎn)。然后計算新的中心點(diǎn),調整集群,以此類(lèi)推,直到中心點(diǎn)(以及它們周?chē)娜后w)不再移動(dòng)。

將新人分配到正確的群組很容易,讓他們在房間里找到自己的位置,然后尋找最近的中心點(diǎn)。

K-means算法的原始形式仍然在多個(gè)領(lǐng)域很有用,特別是因為作為一種無(wú)監督的算法,它不需要收集潛在的昂貴的標記數據,它的運行速度也越來(lái)越快。

例如,包括scikit-learn在內的機器學(xué)習庫都得益于2002年增加的kd-trees,它能極快地分割高維數據。

參考資料:

https://read.deeplearning.ai/the-batch/issue-146/

本文地址:http://selenalain.com/thread-792636-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页