機(jī)器學(xué)習(xí)是研究和工業(yè)中的熱門話題,新方法一直在發(fā)展。該領(lǐng)域的速度和復(fù)雜性使得即使對(duì)于專家而言也難以跟上新技術(shù) - 并且對(duì)于初學(xué)者而言可能是壓倒性的難度。 為了揭開機(jī)器學(xué)習(xí)的神秘面紗并為剛接觸核心概念的人提供學(xué)習(xí)途徑,讓我們看看十種不同的方法,包括簡(jiǎn)單描述,可視化和每個(gè)方法的示例。 機(jī)器學(xué)習(xí)算法(也稱為模型)是表示問(wèn)題上下文中的數(shù)據(jù)的數(shù)學(xué)表達(dá)式,通常是業(yè)務(wù)問(wèn)題。目標(biāo)是從數(shù)據(jù)到洞察。例如,如果在線零售商想要預(yù)測(cè)下一季度的銷售額,他們可能會(huì)使用機(jī)器學(xué)習(xí)算法,根據(jù)過(guò)去的銷售額和其他相關(guān)數(shù)據(jù)預(yù)測(cè)這些銷售額。類似地,風(fēng)車制造商可以通過(guò)視覺(jué)監(jiān)控重要設(shè)備并通過(guò)訓(xùn)練識(shí)別危險(xiǎn)裂縫的算法來(lái)提供視頻數(shù)據(jù)。 所描述的十種方法提供了一個(gè)概述 - 以及您在磨練機(jī)器學(xué)習(xí)知識(shí)和技能時(shí)可以建立的基礎(chǔ): 1 回歸 回歸方法屬于有監(jiān)督的ML類別。它們有助于基于一組先前數(shù)據(jù)預(yù)測(cè)或解釋特定數(shù)值,例如基于類似屬性的先前定價(jià)數(shù)據(jù)來(lái)預(yù)測(cè)房產(chǎn)的價(jià)格。 最簡(jiǎn)單的方法是線性回歸,其中我們使用直線的數(shù)學(xué)方程(y = m * x + b)來(lái)模擬數(shù)據(jù)集。我們通過(guò)計(jì)算線的位置和斜率來(lái)訓(xùn)練具有許多數(shù)據(jù)對(duì)(x,y)的線性回歸模型,該直線最小化所有數(shù)據(jù)點(diǎn)和線之間的總距離。換句話說(shuō),我們計(jì)算最接近數(shù)據(jù)中觀測(cè)值的線的斜率(m)和y截距(b)。 讓我們考慮更多線性回歸的具體例子。我曾經(jīng)使用線性回歸來(lái)預(yù)測(cè)某些建筑物的能耗(以千瓦時(shí)為單位),將建筑物的年齡,樓層數(shù),平方英尺和堵墻設(shè)備的數(shù)量匯總在一起。由于有多個(gè)輸入(年齡,平方英尺等),我使用了多變量線性回歸。原理與簡(jiǎn)單的一對(duì)一線性回歸相同,但在這種情況下,我創(chuàng)建的“線”基于變量的數(shù)量發(fā)生在多維空間中。 下圖顯示了線性回歸模型與建筑物實(shí)際能耗的匹配程度。現(xiàn)在想象一下,您可以訪問(wèn)建筑物的特征(年齡,平方英尺等),但您不知道能耗。在這種情況下,我們可以使用擬合線來(lái)估算特定建筑物的能耗。 請(qǐng)注意,您還可以使用線性回歸來(lái)估計(jì)每個(gè)因素的權(quán)重,這有助于最終預(yù)測(cè)消耗的能量。例如,一旦有了公式,就可以確定年齡,大小或身高是否最重要。 ▲建筑能耗(kWh)的線性回歸模型估計(jì) 回歸技術(shù)的范圍從簡(jiǎn)單(如線性回歸)到復(fù)雜(如正則化線性回歸,多項(xiàng)式回歸,決策樹和隨機(jī)森林回歸,神經(jīng)網(wǎng)絡(luò)等)。但不要陷入困境:首先研究簡(jiǎn)單的線性回歸,掌握基礎(chǔ),然后繼續(xù)前進(jìn)。 2 分類 另一類有監(jiān)督的ML,分類方法預(yù)測(cè)或解釋類值。例如,他們可以幫助預(yù)測(cè)在線客戶是否會(huì)購(gòu)買產(chǎn)品。輸出可以是是或否:買方或非買方。但分類方法不限于兩類。例如,分類方法可以幫助評(píng)估給定圖像是否包含汽車或卡車。在這種情況下,輸出將是3個(gè)不同的值:1)圖像包含汽車,2)圖像包含卡車,或3)圖像既不包含汽車也不包含卡車。 最簡(jiǎn)單的分類算法是邏輯回歸 - 這使得它聽起來(lái)像一個(gè)回歸方法,但事實(shí)并非如此。邏輯回歸基于一個(gè)或多個(gè)輸入估計(jì)事件發(fā)生的概率。 例如,邏輯回歸可以將學(xué)生的兩個(gè)考試分?jǐn)?shù)作為輸入,以便估計(jì)學(xué)生將被錄取到特定大學(xué)的概率。因?yàn)楣烙?jì)是概率,所以輸出是介于0和1之間的數(shù)字,其中1表示完全確定性。對(duì)于學(xué)生,如果估計(jì)的概率大于0.5,那么我們預(yù)測(cè)他或她將被錄取。如果估計(jì)的概率小于0.5,我們預(yù)測(cè)他或她將被拒絕。 下圖顯示了之前學(xué)生的分?jǐn)?shù)以及他們是否被錄取。Logistic回歸允許我們繪制一條代表決策邊界的線。 ▲Logistic回歸決策邊界:是否入讀大學(xué)? 因?yàn)檫壿嫽貧w是最簡(jiǎn)單的分類模型,所以它是開始分類的好地方。隨著您的進(jìn)步,您可以深入研究非線性分類器,例如決策樹,隨機(jī)森林,支持向量機(jī)和神經(jīng)網(wǎng)絡(luò)等。 3 聚類 使用聚類方法,我們進(jìn)入無(wú)監(jiān)督ML的類別,因?yàn)樗鼈兊哪繕?biāo)是對(duì)具有相似特征的觀察進(jìn)行分組或聚類。聚類方法不使用輸出信息進(jìn)行訓(xùn)練,而是讓算法定義輸出。在聚類方法中,我們只能使用可視化來(lái)檢查解決方案的質(zhì)量。 最流行的聚類方法是K-Means,其中“K”表示用戶選擇創(chuàng)建的聚類數(shù)。(注意,有多種技術(shù)可以選擇K的值,例如彎頭法。) 粗略地說(shuō),K-Means對(duì)數(shù)據(jù)點(diǎn)的作用如下:
下一個(gè)圖將K-Means應(yīng)用于建筑物的數(shù)據(jù)集。圖中的每一列都表明了每棟建筑的效率。這四項(xiàng)測(cè)量涉及空調(diào),插入式設(shè)備(微波爐,冰箱等),家用燃?xì)夂图訜釟怏w。我們選擇K = 2進(jìn)行聚類,這樣可以很容易地將其中一個(gè)聚類解釋為高效建筑群,將另一個(gè)聚類解釋為低效建筑群。在左側(cè),您可以看到建筑物的位置,在右側(cè),您可以看到我們用作輸入的四個(gè)尺寸中的兩個(gè):插入式設(shè)備和加熱氣體。 ▲將建筑物聚類為高效(綠色)和低效(紅色)組。 在探索聚類時(shí),您將遇到非常有用的算法,例如基于密度的噪聲應(yīng)用空間聚類(DBSCAN),均值偏移聚類,凝聚層次聚類,使用高斯混合模型的期望最大化聚類等。 4 降維 顧名思義,我們使用降維來(lái)從數(shù)據(jù)集中刪除最不重要的信息(有時(shí)是冗余列)。在實(shí)踐中,我經(jīng)??吹桨瑪?shù)百甚至數(shù)千列(也稱為特征)的數(shù)據(jù)集,因此減少總數(shù)至關(guān)重要。例如,圖像可以包含數(shù)千個(gè)像素,而不是所有像素對(duì)您的分析都很重要?;蛘?,在制造過(guò)程中測(cè)試微芯片時(shí),可能會(huì)對(duì)每個(gè)芯片應(yīng)用數(shù)千個(gè)測(cè)量和測(cè)試,其中許多芯片提供冗余信息。在這些情況下,您需要降維算法以使數(shù)據(jù)集易于管理。 最流行的降維方法是主成分分析(PCA),它通過(guò)找到最大化數(shù)據(jù)線性變化的新向量來(lái)減小特征空間的維數(shù)。當(dāng)數(shù)據(jù)的線性相關(guān)性很強(qiáng)時(shí),PCA可以顯著減小數(shù)據(jù)的維度,而不會(huì)丟失太多信息。(事實(shí)上,您還可以衡量信息丟失的實(shí)際程度并進(jìn)行相應(yīng)調(diào)整。) 另一種流行的方法是t-Stochastic Neighbor Embedding(t-SNE),它可以減少非線性維數(shù)。人們通常使用t-SNE進(jìn)行數(shù)據(jù)可視化,但您也可以將其用于機(jī)器學(xué)習(xí)任務(wù),例如減少特征空間和聚類,僅舉幾例。 下一個(gè)圖顯示了手寫數(shù)字的MNIST數(shù)據(jù)庫(kù)的分析。MNIST包含數(shù)千個(gè)從0到9的數(shù)字圖像,研究人員用它們來(lái)測(cè)試它們的聚類和分類算法。數(shù)據(jù)集的每一行是原始圖像的矢量化版本(大小28×28 = 784)和每個(gè)圖像的標(biāo)簽(零,一,二,三,......,九)。請(qǐng)注意,我們因此將維度從784(像素)減少到2(我們的可視化中的維度)。投影到兩個(gè)維度允許我們可視化高維原始數(shù)據(jù)集。 ▲MNIST手寫數(shù)字?jǐn)?shù)據(jù)庫(kù)的t-SNE迭代。 5 集成算法 想象一下,你決定制造一輛自行車,因?yàn)槟銓?duì)商店和網(wǎng)上的選擇感到不滿意。您可以從找到所需的每個(gè)部件的最佳部分開始。一旦你組裝了所有這些偉大的部件,最終的自行車將超越所有其他選項(xiàng)。 集成使用相同的想法,結(jié)合幾個(gè)預(yù)測(cè)模型(監(jiān)督ML),以獲得比每個(gè)模型本身可以提供的更高質(zhì)量的預(yù)測(cè)。例如,隨機(jī)森林算法是一種集成算法,它結(jié)合了許多用不同數(shù)據(jù)集樣本訓(xùn)練的決策樹。因此,隨機(jī)森林的預(yù)測(cè)質(zhì)量高于使用單個(gè)決策樹估計(jì)的預(yù)測(cè)質(zhì)量。 將集成算法視為減少單個(gè)機(jī)器學(xué)習(xí)模型的方差和偏差的一種方法。這很重要,因?yàn)槿魏谓o定的模型在某些條件下可能是準(zhǔn)確的,但在其他條件下可能不準(zhǔn)確。使用另一個(gè)模型,相對(duì)精度可能會(huì)相反。通過(guò)組合這兩個(gè)模型,可以平衡預(yù)測(cè)的質(zhì)量。 Kaggle比賽的絕大多數(shù)頂級(jí)獲勝者都使用某種方式的合奏方法。最流行的集成算法是隨機(jī)森林,XGBoost和LightGBM。 6 神經(jīng)網(wǎng)絡(luò)與深度學(xué)習(xí) 與被認(rèn)為是線性模型的線性和邏輯回歸相比,神經(jīng)網(wǎng)絡(luò)的目標(biāo)是通過(guò)向模型添加參數(shù)層來(lái)捕獲數(shù)據(jù)中的非線性模式。在下圖中,簡(jiǎn)單神經(jīng)網(wǎng)絡(luò)有四個(gè)輸入,一個(gè)帶有五個(gè)參數(shù)的隱藏層和一個(gè)輸出層。 實(shí)際上,神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)足夠靈活,可以構(gòu)建我們眾所周知的線性回歸和邏輯回歸。術(shù)語(yǔ)深度學(xué)習(xí)來(lái)自具有許多隱藏層的神經(jīng)網(wǎng)絡(luò)(見(jiàn)下圖),并封裝了各種各樣的體系結(jié)構(gòu)。 特別難以跟上深度學(xué)習(xí)的發(fā)展,部分原因是研究和行業(yè)社區(qū)的深度學(xué)習(xí)成果翻了一番,每天產(chǎn)生全新的方法論。 具有一個(gè)隱藏層的神經(jīng)網(wǎng)絡(luò)。 ▲深度學(xué)習(xí):具有多個(gè)隱藏層的神經(jīng)網(wǎng)絡(luò)。 為了獲得最佳性能,深度學(xué)習(xí)技術(shù)需要大量數(shù)據(jù) - 以及大量計(jì)算能力,因?yàn)樵摲椒梢栽诖笮图軜?gòu)中自我調(diào)整許多參數(shù)。很快就會(huì)清楚為什么深度學(xué)習(xí)從業(yè)者需要使用GPU(圖形處理單元)增強(qiáng)的非常強(qiáng)大的計(jì)算機(jī)。 特別是,深度學(xué)習(xí)技術(shù)在視覺(jué)(圖像分類),文本,音頻和視頻領(lǐng)域非常成功。最常見(jiàn)的深度學(xué)習(xí)軟件包是Tensorflow和PyTorch。 7 遷移學(xué)習(xí) 讓我們假裝您是零售行業(yè)的數(shù)據(jù)科學(xué)家。您花了幾個(gè)月的時(shí)間訓(xùn)練高質(zhì)量的模型,將圖像分類為襯衫,T恤和馬球。你的新任務(wù)是建立一個(gè)類似的模型,將服裝圖像分類為牛仔褲,貨物,休閑褲和正裝褲。您是否可以將內(nèi)置的知識(shí)轉(zhuǎn)移到第一個(gè)模型中并將其應(yīng)用到第二個(gè)模型中?是的,您可以使用遷移學(xué)習(xí)。 轉(zhuǎn)移學(xué)習(xí)是指重新使用先前訓(xùn)練的神經(jīng)網(wǎng)絡(luò)的一部分并使其適應(yīng)新的但類似的任務(wù)。具體來(lái)說(shuō),一旦您使用任務(wù)數(shù)據(jù)訓(xùn)練神經(jīng)網(wǎng)絡(luò),您可以傳輸一小部分訓(xùn)練過(guò)的圖層,并將它們與您可以使用新任務(wù)的數(shù)據(jù)訓(xùn)練的幾個(gè)新圖層組合在一起。通過(guò)添加幾個(gè)層,新的神經(jīng)網(wǎng)絡(luò)可以快速學(xué)習(xí)并適應(yīng)新任務(wù)。 遷移學(xué)習(xí)的主要優(yōu)點(diǎn)是你需要更少的數(shù)據(jù)來(lái)訓(xùn)練神經(jīng)網(wǎng)絡(luò),這一點(diǎn)尤為重要,因?yàn)樯疃葘W(xué)習(xí)算法的訓(xùn)練在時(shí)間和金錢(計(jì)算資源)方面都是昂貴的 - 當(dāng)然,通常很難找到足夠的標(biāo)記數(shù)據(jù)用于訓(xùn)練。 讓我們回到我們的例子,并假設(shè)對(duì)于襯衫模型,你使用一個(gè)有20個(gè)隱藏層的神經(jīng)網(wǎng)絡(luò)。經(jīng)過(guò)一些實(shí)驗(yàn)后,您意識(shí)到您可以轉(zhuǎn)移18個(gè)襯衫模型層,并將它們與一個(gè)新的參數(shù)層相結(jié)合,以訓(xùn)練褲子的圖像。因此褲子模型將有19個(gè)隱藏層。兩個(gè)任務(wù)的輸入和輸出是不同的,但是可重復(fù)使用的層可以概括與兩者相關(guān)的信息,例如布料,緊固件和形狀的方面。 遷移學(xué)習(xí)變得越來(lái)越流行,現(xiàn)在有許多可靠的預(yù)訓(xùn)練模型可用于常見(jiàn)的深度學(xué)習(xí)任務(wù),如圖像和文本分類。 8 強(qiáng)化學(xué)習(xí) 想象一下,迷宮中的老鼠試圖找到隱藏的奶酪片。我們將老鼠暴露在迷宮中的次數(shù)越多,找到奶酪就越好。起初,老鼠可能會(huì)隨機(jī)移動(dòng),但經(jīng)過(guò)一段時(shí)間后,老鼠的體驗(yàn)有助于它實(shí)現(xiàn)哪些動(dòng)作更接近奶酪。 老鼠的過(guò)程反映了我們使用強(qiáng)化學(xué)習(xí)(RL)來(lái)訓(xùn)練系統(tǒng)或游戲。一般來(lái)說(shuō),RL是一種機(jī)器學(xué)習(xí)方法,可以幫助代理人從經(jīng)驗(yàn)中學(xué)習(xí)。通過(guò)在設(shè)定環(huán)境中記錄操作并使用試錯(cuò)法,RL可以最大化累積獎(jiǎng)勵(lì)。在我們的示例中,老鼠是代理,迷宮是環(huán)境。老鼠的可能操作集是:前移,后移,左移或右移。獎(jiǎng)勵(lì)是奶酪。 當(dāng)您幾乎沒(méi)有關(guān)于問(wèn)題的歷史數(shù)據(jù)時(shí),可以使用RL,因?yàn)樗恍枰孪忍峁┬畔ⅲㄅc傳統(tǒng)的機(jī)器學(xué)習(xí)方法不同)。在RL框架中,您可以隨時(shí)了解數(shù)據(jù)。毫不奇怪,RL在游戲方面尤其成功,特別是像國(guó)際象棋和圍棋這樣的“ 完美信息 ” 游戲。通過(guò)游戲,來(lái)自代理和環(huán)境的反饋很快得以實(shí)現(xiàn),使模型能夠快速學(xué)習(xí)。RL的缺點(diǎn)是,如果問(wèn)題很復(fù)雜,可能需要很長(zhǎng)時(shí)間才能進(jìn)行訓(xùn)練。 正如IBM的Deep Blue在1997年擊敗了最好的人類國(guó)際象棋選手一樣,基于RL算法的AlphaGo在2016年擊敗了最佳的圍棋玩家。目前RL的先驅(qū)者是英國(guó)DeepMind的團(tuán)隊(duì)。更多關(guān)于AlphaGo和DeepMind的信息。 在2019年4月,OpenAI Five團(tuán)隊(duì)是第一個(gè)擊敗世界冠軍電子競(jìng)技Dota 2的人工智能團(tuán)隊(duì),這是一個(gè)非常復(fù)雜的視頻游戲,OpenAI Five團(tuán)隊(duì)之所以選擇,因?yàn)闆](méi)有RL算法可以贏得它時(shí)間。擊敗Dota 2冠軍人類團(tuán)隊(duì)的同一個(gè)AI團(tuán)隊(duì)也開發(fā)了一個(gè)機(jī)器人手,可以重新定位一個(gè)塊。 你可以說(shuō)強(qiáng)化學(xué)習(xí)是一種特別強(qiáng)大的人工智能形式,我們肯定會(huì)看到這些團(tuán)隊(duì)取得更多進(jìn)展,但同樣值得記住方法的局限性。 9 自然語(yǔ)言處理 世界上很大一部分?jǐn)?shù)據(jù)和知識(shí)都是某種形式的人類語(yǔ)言。你能想象能在幾秒鐘內(nèi)閱讀和理解成千上萬(wàn)的書籍,文章和博客嗎?顯然,計(jì)算機(jī)還不能完全理解人類文本,但我們可以訓(xùn)練他們完成某些任務(wù)。例如,我們可以訓(xùn)練手機(jī)自動(dòng)填寫短信或糾正拼寫錯(cuò)誤的單詞。我們甚至可以教一臺(tái)機(jī)器與人進(jìn)行簡(jiǎn)單的對(duì)話。 自然語(yǔ)言處理(NLP)本身不是一種機(jī)器學(xué)習(xí)方法,而是一種廣泛使用的技術(shù),用于為機(jī)器學(xué)習(xí)準(zhǔn)備文本。想想各種格式的大量文本文檔(單詞,在線博客,......)。大多數(shù)這些文本文檔將充滿拼寫錯(cuò)誤,缺少字符和其他需要過(guò)濾的單詞。目前,最流行的文本處理包是由斯坦福大學(xué)的研究人員創(chuàng)建的NLTK(自然語(yǔ)言工具包)。 將文本映射到數(shù)字表示的最簡(jiǎn)單方法是計(jì)算每個(gè)文本文檔中每個(gè)單詞的頻率。考慮一個(gè)整數(shù)矩陣,其中每行代表一個(gè)文本文檔,每列代表一個(gè)單詞。字頻率的這種矩陣表示通常稱為術(shù)語(yǔ)頻率矩陣(TFM)。從那里,我們可以通過(guò)將矩陣上的每個(gè)條目除以每個(gè)單詞在整個(gè)文檔集中的重要程度的權(quán)重來(lái)創(chuàng)建文本文檔的另一種流行矩陣表示。我們將此方法稱為術(shù)語(yǔ)頻率反向文檔頻率(TFIDF),它通常更適用于機(jī)器學(xué)習(xí)任務(wù)。 10 詞嵌入 TFM和TFIDF是文本文檔的數(shù)字表示,它們只考慮頻率和加權(quán)頻率來(lái)表示文本文檔。相比之下,Word嵌入可以捕獲文檔中單詞的上下文。對(duì)于單詞上下文,嵌入可以量化單詞之間的相似性,這反過(guò)來(lái)又允許我們對(duì)單詞進(jìn)行算術(shù)。 Word2vec是一種基于神經(jīng)網(wǎng)絡(luò)的方法,它將語(yǔ)料庫(kù)中的單詞映射成一個(gè)數(shù)字向量。然后,我們可以使用這些向量查找同義詞,對(duì)單詞執(zhí)行算術(shù)操作,或者表示文本文檔(取文檔中所有單詞向量的平均值)。例如,假設(shè)我們使用足夠大的文本文檔來(lái)估計(jì)單詞嵌入。我們還假設(shè)王, 皇后, 男子漢和女是語(yǔ)料庫(kù)的一部分。就這么說(shuō)吧向量(字)表示單詞的數(shù)字向量。“字”..估計(jì)向量(“婦女”),我們可以使用向量執(zhí)行算術(shù)操作: 向量(“King”)+向量(“婦女”) — 向量(‘man’)~向量(‘皇后’) ▲用Word(向量)嵌入算術(shù) 單詞表示允許通過(guò)計(jì)算兩個(gè)單詞的向量表示之間的余弦相似性來(lái)找到單詞之間的相似性。余弦相似度測(cè)量?jī)蓚€(gè)矢量之間的角度。 我們使用機(jī)器學(xué)習(xí)方法計(jì)算單詞嵌入,但這通常是在頂部應(yīng)用機(jī)器學(xué)習(xí)算法的前提步驟。例如,假設(shè)我們可以訪問(wèn)數(shù)千名Twitter用戶的推文。還假設(shè)我們知道這些Twitter用戶中哪些人買了房子。為了預(yù)測(cè)新Twitter用戶購(gòu)買房屋的概率,我們可以將Word2Vec與邏輯回歸結(jié)合起來(lái)。 總結(jié) 我試圖涵蓋十種最重要的機(jī)器學(xué)習(xí)方法:從最基本的到最前沿的。很好地研究這些方法并充分理解每個(gè)方法的基礎(chǔ)知識(shí)可以作為進(jìn)一步研究更先進(jìn)的算法和方法的堅(jiān)實(shí)起點(diǎn)。 |
|
來(lái)自: 星光閃亮圖書館 > 《機(jī)器學(xué)習(xí)與人工智能》