吳恩達:機器學(xué)習(xí)的六個核心算法
來源:AI科技評論
最近,吳恩達在其創(chuàng)辦的人工智能周訊《The Batch》上更新了一篇博文,總結(jié)了機器學(xué)習(xí)領(lǐng)域多個基礎(chǔ)算法的歷史溯源。
文章開頭,吳恩達回憶他的研究歷程中曾有一次抉擇:
多年前,在一次項目中,選擇算法時,他不得不在神經(jīng)網(wǎng)絡(luò)與決策樹學(xué)習(xí)算法之間做選擇??紤]到計算預(yù)算,他最終選擇了神經(jīng)網(wǎng)絡(luò),在很長的一段時間內(nèi)棄用增強決策樹。
這是一個錯誤的決定,「幸好我的團隊很快修改了我的選擇,項目才成功。」吳恩達談道。
他由此感嘆,不斷學(xué)習(xí)與更新基礎(chǔ)知識是十分重要的。與其他技術(shù)領(lǐng)域一樣,隨著研究人員的增加、研究成果數(shù)量的增長,機器學(xué)習(xí)領(lǐng)域也在不斷發(fā)展。但有些基礎(chǔ)算法與核心思想的貢獻是經(jīng)得起時間考驗的:
- 算法:線性和邏輯回歸、決策樹等
- 概念:正則化、優(yōu)化損失函數(shù)、偏差/方差等
在吳恩達看來,這些算法與概念是許多機器學(xué)習(xí)模型的核心思想,包括房價預(yù)測器、文本-圖像生成器(如DALL·E)等。
在最新的這篇文章中,吳恩達與團隊調(diào)研了六種基礎(chǔ)算法的來源、用途、演變等,并提供了較為詳細的講解。
這六種算法分別是:線性回歸、邏輯回歸、梯度下降、神經(jīng)網(wǎng)絡(luò)、決策樹與k均值聚類算法。
1、線性回歸:直的&窄的
線性回歸是機器學(xué)習(xí)中的一個關(guān)鍵的統(tǒng)計方法,但它并非不戰(zhàn)而勝。它由兩位杰出的數(shù)學(xué)家提出,但200 年過去了,這個問題仍未解決。長期存在的爭議不僅證明了該算法具有出色的實用性,還證明了它的本質(zhì)十分簡單。
那么線性回歸到底是誰的算法呢?
1805 年,法國數(shù)學(xué)家 Adrien-Marie Legendre 發(fā)表了將一條線擬合到一組點的方法,同時試圖預(yù)測彗星的位置(天體導(dǎo)航是當時全球商業(yè)中最有價值的科學(xué)方向,就像今天的人工智能一樣)。
圖注:Adrien-Marie Legendre 的素描畫像
四年后,24 歲的德國神童 Carl Friedrich Gauss (高斯)堅稱他自 1795 年以來一直在使用它,但認為它太瑣碎了,無法寫。高斯的主張促使Legendre匿名發(fā)表了一份文章,稱“一位非常著名的幾何學(xué)家毫不猶豫地采用了這種方法。”
圖注:Carl Friedrich Gauss
斜率和偏差:當結(jié)果與影響它的變量之間的關(guān)系遵循直線時,線性回歸很有用。例如,汽車的油耗與其重量成線性關(guān)系。
- 汽車的油耗 y 與其重量 x 之間的關(guān)系取決于直線的斜率 w(油耗隨重量上升的幅度)和偏置項 b(零重量時的油耗):y=w*x+b。
- 在訓(xùn)練期間,給定汽車的重量,算法會預(yù)測預(yù)期的油耗。它比較了預(yù)期和實際的油耗。然后,它將平方差最小化,通常通過普通最小二乘技術(shù),磨練 w 和 b 的值。
- 考慮汽車的阻力可以生成更精確的預(yù)測。附加變量將線延伸到平面。通過這種方式,線性回歸可以容納任意數(shù)量的變量/維度。
普及的兩個步驟:該算法立即幫助航海者追蹤星星,以及幫助后來的生物學(xué)家(尤其是查爾斯·達爾文的堂兄Francis Galton)識別植物和動物的可遺傳特征。這兩項深入發(fā)展釋放了線性回歸的廣泛潛力。1922 年,英國統(tǒng)計學(xué)家 Ronald Fisher 和 Karl Pearson 展示了線性回歸如何適應(yīng)相關(guān)性和分布的一般統(tǒng)計框架,使其在所有科學(xué)中都有用。而且,近一個世紀后,計算機的出現(xiàn)提供了數(shù)據(jù)和處理能力,可以更大程度地利用它。
應(yīng)對歧義:當然,數(shù)據(jù)永遠不會被完美地衡量,有些變量比其他變量更重要。這些生活事實激發(fā)了更復(fù)雜的變體。例如,帶有正則化的線性回歸(也稱為「嶺回歸」,ridge regression)鼓勵線性回歸模型不要過多地依賴于任何一個變量,或者更確切地說,均勻地依賴于最重要的變量。如果為了簡單起見,另一種形式的正則化(L1 而不是 L2)會產(chǎn)生 lasso(壓縮估計),鼓勵盡可能多的系數(shù)為零。換句話說,它學(xué)會選擇具有高預(yù)測能力的變量并忽略其余的。彈性網(wǎng)絡(luò)結(jié)合了這兩種類型的正則化。當數(shù)據(jù)稀疏或特征看起來相關(guān)時,它很有用。
在每個神經(jīng)元中:現(xiàn)在,簡單的版本仍然非常有用。神經(jīng)網(wǎng)絡(luò)中最常見的神經(jīng)元類型是線性回歸模型,隨后是非線性激活函數(shù),使線性回歸成為深度學(xué)習(xí)的基本組成部分。
2、邏輯回歸:跟隨曲線
曾經(jīng)有一段時間,邏輯回歸只用于對一件事進行分類:如果你喝了一瓶毒****,你可能會被貼上的標簽是“活著”還是“死去”呢?時代變了,今天,不僅呼叫緊急服務(wù)為這個問題提供了更好的答案,而且邏輯回歸也成為了深度學(xué)習(xí)的核心。
毒物控制:
邏輯函數(shù)可以追溯到 1830 年代,當時比利時統(tǒng)計學(xué)家 P.F. Verhulst 發(fā)明它來描述人口動態(tài):隨著時間的推移,指數(shù)增長的初始爆炸隨著它消耗可用資源而趨于平緩,從而產(chǎn)生特征邏輯曲線。一個多世紀過去后,美國統(tǒng)計學(xué)家 E. B. Wilson 和他的學(xué)生 Jane Worcester 又設(shè)計了邏輯回歸來計算給定有害物質(zhì)有多少是致命的。
圖注:P.F. Verhulst
擬合函數(shù):邏輯回歸將邏輯函數(shù)擬合到數(shù)據(jù)集,以便預(yù)測給定事件(例如,攝入士的寧)發(fā)生特定結(jié)果(例如,過早死亡)的概率。
- 訓(xùn)練水平調(diào)整曲線的中心位置,垂直調(diào)整曲線的中間位置,以最大限度地減少函數(shù)輸出與數(shù)據(jù)之間的誤差。
- 將中心調(diào)整到右側(cè)或左側(cè)意味著殺死普通人需要或多或少的毒****。陡峭的坡度意味著確定性:在中途點之前,大多數(shù)人幸存下來;超過一半,「就只能說再見了」(死亡的意思)。緩坡更寬容:低于曲線中部,一半以上幸存;再往上,只有不到一半的人會幸存。
- 在一個結(jié)果和另一個結(jié)果之間設(shè)置一個閾值,比如 0.5,曲線就變成了一個分類器。只需在模型中輸入劑量,您就會知道您應(yīng)該計劃聚會還是葬禮。
更多結(jié)果:Verhulst 的工作發(fā)現(xiàn)了二元結(jié)果的概率,忽略了進一步的可能性,例如中毒受害者可能會進入來世的哪一邊。他的繼任者擴展了算法:
- 在 1960 年代后期,英國統(tǒng)計學(xué)家 David Cox 和荷蘭統(tǒng)計學(xué)家 Henri Theil 獨立工作,對具有兩種以上可能結(jié)果的情況進行了邏輯回歸。
- 進一步的工作產(chǎn)生了有序邏輯回歸,其中結(jié)果是有序值。
- 為了處理稀疏或高維數(shù)據(jù),邏輯回歸可以利用與線性回歸相同的正則化技術(shù)。
圖注:David Cox
多功能曲線:邏輯函數(shù)以相當準確的方式描述了廣泛的現(xiàn)象,因此邏輯回歸在許多情況下提供了有用的基線預(yù)測。在醫(yī)學(xué)上,它可以估計死亡率和疾病風(fēng)險。在政治學(xué)中,它預(yù)測選舉的贏家和輸家。在經(jīng)濟學(xué)中,它預(yù)測商業(yè)前景。更重要的是,它在各種各樣的神經(jīng)網(wǎng)絡(luò)中驅(qū)動一部分神經(jīng)元(其中非線性是 Sigmoid 函數(shù))。
3、梯度下降:一切都在下坡
想象一下黃昏后在山上徒步旅行,發(fā)現(xiàn)腳下什么都看不到。而且您的手機電池沒電了,因此您無法使用 GPS 應(yīng)用程序找到回家的路。您可能會通過梯度下降找到最快的路徑。小心不要從懸崖上走。
太陽和地毯:梯度下降比通過陡峭的地形下降更有利。1847年,法國數(shù)學(xué)家Augustin-Louis Cauchy發(fā)明了近似恒星軌道的算法。60 年后,他的同胞 Jacques Hadamard 獨立開發(fā)了它來描述薄而靈活的物體(如地毯)的變形,這可能會使膝蓋向下徒步更容易。然而,在機器學(xué)習(xí)中,它最常見的用途是找到學(xué)習(xí)算法損失函數(shù)的最低點。
圖注:Augustin-Louis Cauchy
向下爬:經(jīng)過訓(xùn)練的神經(jīng)網(wǎng)絡(luò)提供了一個函數(shù),該函數(shù)在給定輸入的情況下計算所需的輸出。訓(xùn)練網(wǎng)絡(luò)的一種方法是通過迭代計算實際輸出與期望輸出之間的差異,然后更改網(wǎng)絡(luò)的參數(shù)值以縮小差異,從而將輸出中的損失或誤差最小化。梯度下降縮小了差異,將計算損失的函數(shù)最小化。網(wǎng)絡(luò)的參數(shù)值相當于地形上的一個位置,損失的是當前高度。隨著你的下降,你可以提高網(wǎng)絡(luò)計算接近所需輸出的能力??梢娦允怯邢薜?,因為在典型的監(jiān)督學(xué)習(xí)情況下,該算法僅依賴于網(wǎng)絡(luò)的參數(shù)值和損失函數(shù)的梯度或斜率——即你在山上的位置和你腳下的斜率。
- 基本方法是向地形下降最陡的方向移動。訣竅是校準你的步幅。步幅太小,就需要很長時間才能取得進展;步幅太大,你就會跳入未知的領(lǐng)域,可能是上坡而不是下坡。
- 給定當前位置,算法通過計算損失函數(shù)的梯度來估計最快下降的方向。梯度指向上坡,那么該算法就是通過減去梯度的一小部分來以相反的方向前進。稱為學(xué)習(xí)率的分數(shù) α 決定了再次測量梯度之前的步長。
- 反復(fù)做這幾個步驟,希望你能到達一個山谷。恭喜!
卡在山谷里:太糟糕了,你的手機沒電了,因為算法可能沒有把你推到凸山的底部。你可能會陷入由多個山谷(局部最小值)、山峰(局部最大值)、鞍點(鞍點)和高原組成的非凸面景觀中。事實上,圖像識別、文本生成和語音識別等任務(wù)都是非凸的,并且已經(jīng)出現(xiàn)了梯度下降的許多變體來處理這種情況。例如,該算法可能具有幫助它放大小幅上漲和下跌的動量,從而使其更有可能到達底部。研究人員設(shè)計了如此多的變體,以至于看起來優(yōu)化器的數(shù)量與局部最小值一樣多。幸運的是,局部最小值和全局最小值往往大致相等。
最優(yōu)優(yōu)化器:梯度下降是尋找任一函數(shù)的最小值的明確選擇。在可以直接計算精確解的情況下——例如,具有大量變量的線性回歸任務(wù)中——它可以逼近一個值,而且通常速度更快、成本更低。但它確實在復(fù)雜的非線性任務(wù)中發(fā)揮了作用。憑借梯度下降和冒險精神,你可能可以及時趕出山區(qū)吃晚飯。
4、神經(jīng)網(wǎng)絡(luò):尋找函數(shù)
讓我們先把這個問題弄清楚:大腦不是一個圖形處理單元集,如果它是的話,那它運行的軟件要比典型的人工神經(jīng)網(wǎng)絡(luò)復(fù)雜得多。而神經(jīng)網(wǎng)絡(luò)的靈感來自大腦的結(jié)構(gòu):一層層相互連接的神經(jīng)元,每個神經(jīng)元根據(jù)其相鄰狀態(tài)來計算自己的輸出,由此產(chǎn)生的一連串活動形成了一個想法——或識別出一張貓的照片。
從生物到人工:大腦通過神經(jīng)元之間相互作用來學(xué)習(xí)的想法可以追溯到 1873 年,但直到 1943 年,美國神經(jīng)科學(xué)家 Warren McCulloch 和 Walter Pitts 才利用簡單的數(shù)學(xué)規(guī)則建立了生物神經(jīng)網(wǎng)絡(luò)模型。1958 年,美國心理學(xué)家Frank Rosenblatt開發(fā)出感測器——這是一種在打卡機上實現(xiàn)的單層視覺網(wǎng)絡(luò),旨在為美國海軍建立一個硬件版本。
圖注:Frank Rosenblatt
越大越好:Rosenblatt 的發(fā)明只能識別單線分類。之后,烏克蘭數(shù)學(xué)家 Alexey Ivakhnenko 和 Valentin Lapa 通過在任意層數(shù)中堆疊神經(jīng)元網(wǎng)絡(luò),克服了這一限制。1985 年,獨立工作的法國計算機科學(xué)家 Yann LeCun、David Parker 和美國心理學(xué)家 David Rumelhart 及其同事,描述了使用反向傳播來有效訓(xùn)練此類網(wǎng)絡(luò)。在新千年的第一個十年中,包括 Kumar Chellapilla、Dave Steinkraus 和 Rajat Raina(與吳恩達合作)在內(nèi)的研究人員通過使用圖形處理單元進一步推動了神經(jīng)網(wǎng)絡(luò)的發(fā)展,這使得越來越大的神經(jīng)網(wǎng)絡(luò)能從互聯(lián)網(wǎng)生成的海量數(shù)據(jù)中得到學(xué)習(xí)。
適合每項任務(wù):神經(jīng)網(wǎng)絡(luò)背后的原理很簡單:對于任何任務(wù),都有一個可執(zhí)行它的函數(shù)。一個神經(jīng)網(wǎng)絡(luò)通過組合多個簡單函數(shù)構(gòu)成可訓(xùn)練函數(shù),每個函數(shù)由單個神經(jīng)元執(zhí)行。一個神經(jīng)元的功能由稱為「權(quán)重」的可調(diào)參數(shù)決定。給定這些權(quán)重和輸入示例及其所需輸出的隨機值,就可以反復(fù)更改權(quán)重,直到可訓(xùn)練的函數(shù)能完成手頭的任務(wù)。
- 一個神經(jīng)元可接受各種輸入(例如,代表像素或單詞的數(shù)字,或前一層的輸出),將它們與權(quán)重相乘,乘積相加,并得出由開發(fā)人員選擇的非線性函數(shù)或激活函數(shù)的總和。期間要考慮到它是線性回歸、加上一個激活函數(shù)。
- 訓(xùn)練修改權(quán)重。對于每個示例輸入,網(wǎng)絡(luò)會計算一個輸出并將其與預(yù)期輸出進行比較。反向傳播可通過梯度下降來改變權(quán)重,以減少實際輸出和預(yù)期輸出間的差異。當有足夠多(好的)例子重復(fù)這個過程足夠多次,網(wǎng)絡(luò)就能學(xué)會執(zhí)行這個任務(wù)。
黑匣子:雖然運氣好的話,一個訓(xùn)練有素的網(wǎng)絡(luò)可以完成它的任務(wù),但最終你要閱讀一個函數(shù),往往會非常復(fù)雜——包含數(shù)千個變量和嵌套的激活函數(shù)——以至于解釋網(wǎng)絡(luò)是如何成功完成其任務(wù)也是非常困難的。此外, 一個訓(xùn)練有素的網(wǎng)絡(luò)只和它所學(xué)的數(shù)據(jù)一樣好。例如,如果數(shù)據(jù)集有偏差,那么網(wǎng)絡(luò)的輸出也會出現(xiàn)偏差。如果它只包含貓的高分辨率圖片,那它對低分辨率圖片的反應(yīng)就不得而知了。
一個常識:在報道 Rosenblatt 于1958年發(fā)明的感測器時,《紐約時報》開辟了人工智能炒作的道路,報道中提到“美國海軍期望擁有一臺會走路、說話、看、寫、自我復(fù)制和意識到自己存在的電子計算機雛形?!?雖然當時的感測器沒有達到這個要求,但它產(chǎn)生了許多令人印象深刻的模型:用于圖像的卷積神經(jīng)網(wǎng)絡(luò);文本的循環(huán)神經(jīng)網(wǎng)絡(luò);以及用于圖像、文本、語音、視頻、蛋白質(zhì)結(jié)構(gòu)等的transformers。它們已經(jīng)做出了令人驚嘆的事情,像下圍棋時的表現(xiàn)超過了人類水平,在診斷X射線圖像等實際任務(wù)中也接近人類水平。然而,它們在常識和邏輯推理方面的問題仍然較難應(yīng)對。
5、決策樹:從根到葉
亞里士多德是一個什么樣的「野獸」?這位哲學(xué)家的追隨者、第三世紀期間生活在敘利亞的 Porphyry 想出了一個合乎邏輯的方法來回答這個問題。他將亞里士多德提出的“存在類別”從一般到具體組合起來,將亞里士多德依次歸入到每個分類中:亞里士多德的存在是物質(zhì)的而不是概念或精神;他的身體是有生命的而不是無生命的;他的思想是理性的而不是非理性的。因此,他的分類是人類。中世紀的邏輯教師將這個序列繪制為垂直流程圖:一個早期的決策樹。
數(shù)字差異:快進到 1963 年,密歇根大學(xué)社會學(xué)家John Sonquist和經(jīng)濟學(xué)家James Morgan在將調(diào)查的受訪者分組時,首次在計算機中實行了決策樹。隨著自動訓(xùn)練算法軟件的出現(xiàn),這種工作變得很普遍,如今包括 scikit-learn 等在內(nèi)的各種機器學(xué)習(xí)庫也已經(jīng)使用決策樹。這套代碼是由斯坦福大學(xué)和加州大學(xué)伯克利分校的四位統(tǒng)計學(xué)家花費了10 年時間開發(fā)的。到今天,從頭開始編寫決策樹已經(jīng)成為了《機器學(xué)習(xí) 101》中的一項家庭作業(yè)。
空中的根:決策樹可以執(zhí)行分類或回歸。它向下生長,從根部到樹冠,將一個決策層次結(jié)構(gòu)的輸入示例分類為兩個(或更多)。想到德國醫(yī)學(xué)家和人類學(xué)家Johann Blumenbach的課題:大約在 1776 年,他首先將猴子與猿(撇開人類除外)區(qū)分開來,在此之前,猴子和猿是被歸為一類的。這種分類取決于各種標準,例如是否有尾巴、胸部狹窄或?qū)掗?、是直立還是蹲伏、還有智力的高低。使用經(jīng)訓(xùn)練的決策樹來為這類動物貼上標簽,逐一考慮每個標準,最終將這兩組動物分開。
- 這棵樹從一個可視為包含了所有案例的生物數(shù)據(jù)庫的根節(jié)點出發(fā)——黑猩猩、大猩猩和紅毛猩猩,以及卷尾猴、狒狒和狨猴。根會在兩個子節(jié)點間提供選擇,是否表現(xiàn)出某種特定特征,導(dǎo)致兩個子節(jié)點包含具有和不具有該特征的示例。以此類推,這個過程中以任意數(shù)量的葉節(jié)點結(jié)束,每個葉節(jié)點都包含大部分或全部屬于一個類別。
- 為了成長,樹必須找到根決策。要做選擇,則得考慮所有的特征及其價值——后附肢、桶狀胸等——并選擇能夠最大限度提高分割純度的那個特征?!缸罴鸭兌取贡欢x為一個類別示例會 100% 進入一個特定的子節(jié)點、而不進入另一個節(jié)點。分叉很少在只做了一個決定之后就百分之百純粹、且很可能永遠也達不到。隨著這個過程繼續(xù)進行,產(chǎn)生一個又一個層次的子節(jié)點,直至純度不會因為考慮更多的特征而增加多少。此時,這棵樹樹已經(jīng)完全訓(xùn)練好了。
- 在推理時,一個新的示例從上到下經(jīng)歷過決策樹,完成每個級別不同決策的評估。它會得到它所在葉節(jié)點所包含的數(shù)據(jù)標簽。
進入前 10 名:鑒于 Blumenbach 的結(jié)論(后來被Charles Darwin推翻),即人類與猿的區(qū)別在于寬闊的骨盆、手和緊牙的牙齒,如果我們想擴展決策樹以不僅分類猿和猴子,而是對人類進行分類,那會怎么樣呢?澳大利亞計算機科學(xué)家 John Ross Quinlan 在 1986 年通過 ID3 實現(xiàn)了這一可能,它擴展了決策樹,以支持非二元結(jié)果。2008 年, 在IEEE國際數(shù)據(jù)挖掘會議策劃的數(shù)據(jù)挖掘十大算法名單中,一項命名為 C4.5 的擴展細化算法名列前茅。在一個創(chuàng)新猖獗的世界里,這就是持久力。
扒開樹葉:決策樹確實有一些缺點。它們很容易通過增加多級別層次來過度擬合數(shù)據(jù),以至于葉節(jié)點只包括一個例子。更糟糕的是,它們很容易出現(xiàn)蝴蝶效應(yīng):更換一個例子,長出來的樹就大不相同。
走進森林:美國統(tǒng)計學(xué)家 Leo Breiman 和新西蘭統(tǒng)計學(xué)家 Adele Cutler 將這一特征轉(zhuǎn)化為優(yōu)勢,于 2001 年開發(fā)了隨機森林(random forest)——這是一個決策樹的集合,每個決策樹會處理不同的、重疊的示例選擇,并對最終結(jié)果進行投****。隨機森林和它的表親XGBoost不太容易過度擬合,這有助于使它們成為最受歡迎的機器學(xué)習(xí)算法之一。這就像讓亞里士多德、Porphyry、Blumenbach、Darwin、 Jane Goodall、Dian Fossey和其他 1000 位動物學(xué)家一起在房間里,確保你的分類是最好的。
6、K均值聚類:群體思維
如果你在聚會上與其他人站得很近,那么你們很可能有一些共同點。這就是使用 k 均值聚類將數(shù)據(jù)點分組的想法。無論是通過人類機構(gòu)還是其他力量形成的群體,這個算法都會找到它們。
從爆炸到撥號音:美國物理學(xué)家 Stuart Lloyd 是貝爾實驗室標志性創(chuàng)新工廠和發(fā)明原子彈的曼哈頓計劃的校友,他于 1957 年首次提出 k-means 聚類,以在數(shù)字信號中分配信息,但直到 1982 年才發(fā)表這個工作:
論文地址:https://cs.nyu.edu/~roweis/csc2515-2006/readings/lloyd57.pdf
與此同時,美國統(tǒng)計學(xué)家 Edward Forgy 在 1965 年描述了一種類似的方法,導(dǎo)致了它的替代名稱為「Lloyd-Forgy 算法」。
尋找中心:考慮將聚類分成志同道合的工作組。給定房間中參與者的位置和要形成的組數(shù),k-means 聚類可以將參與者分成大小大致相等的組,每個組都聚集在一個中心點或質(zhì)心周圍。
- 在訓(xùn)練期間,算法最初通過隨機選擇 k 人來指定 k 個質(zhì)心。(K 必須手動選擇,找到一個最優(yōu)值有時非常重要。)然后它通過將每個人與最近的質(zhì)心相關(guān)聯(lián)來增長 k 個集群。
- 對于每個集群,它計算分配到該組的所有人的平均位置,并將該平均位置指定為新的質(zhì)心。每個新的質(zhì)心可能都沒有被一個人占據(jù),但那又如何呢?人們傾向于聚集在巧克力和火鍋周圍。
- 計算出新的質(zhì)心后,算法將個體重新分配到離他們最近的質(zhì)心。然后它計算新的質(zhì)心,調(diào)整集群,等等,直到質(zhì)心(以及它們周圍的組)不再移動。之后,將新成員分配到正確的集群就很容易。讓他們在房間里就位并尋找最近的質(zhì)心。
- 預(yù)先警告:鑒于最初的隨機質(zhì)心分配,你可能最終不會與你希望與之相處的以數(shù)據(jù)為中心的可愛 AI 專家在同一組中。該算法做得很好,但不能保證找到最佳解決方案。
不同的距離:當然,聚類對象之間的距離不需要很大。兩個向量之間的任何度量都可以。例如,k-means 聚類可以根據(jù)他們的服裝、職業(yè)或其他屬性來劃分他們,而不是根據(jù)物理距離對參加派對的人進行分組。在線商店使用它根據(jù)客戶的喜好或行為來劃分客戶,天文學(xué)家也可以將相同類型的星星分在一組。
數(shù)據(jù)點的力量:這個想法產(chǎn)生了一些顯著的變化:
- K-medoids 使用實際數(shù)據(jù)點作為質(zhì)心,而不是給定集群中的平均位置。中心點是可以將到集群中所有點的距離最小化的點。這種變化更容易解釋,因為質(zhì)心始終是數(shù)據(jù)點。
- Fuzzy C-Means Clustering 使數(shù)據(jù)點能夠不同程度地參與多個集群。它根據(jù)與質(zhì)心的距離,用集群的度來代替硬簇分配。
n 維狂歡:盡管如此,原始形式的算法仍然廣泛有用——特別是因為作為一種無監(jiān)督算法,它不需要收集昂貴的標記數(shù)據(jù)。它的使用速度也越來越快。例如,包括 scikit-learn 在內(nèi)的機器學(xué)習(xí)庫受益于 2002 年添加的 kd-trees,這些 kd-trees 可以非??焖俚貏澐指呔S數(shù)據(jù)。
原文鏈接:
https://read.deeplearning.ai/the-batch/issue-146/
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。