0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

教你如何利用二位交互圖理解機器學(xué)習(xí)

算法與數(shù)據(jù)結(jié)構(gòu) ? 來源:未知 ? 作者:佚名 ? 2017-11-11 08:29 ? 次閱讀

來自:naughty 的博客

https://my.oschina.net/taogang/blog/1544709

每當(dāng)提到機器學(xué)習(xí),大家總是被其中的各種各樣的算法和方法搞暈,覺得無從下手。確實,機器學(xué)習(xí)的各種套路確實不少,但是如果掌握了正確的路徑和方法,其實還是有跡可循的,這里我推薦SAS的Li Hui的這篇博客,講述了如何選擇機器學(xué)習(xí)的各種方法。

另外,Scikit-learn 也提供了一幅清晰的路線圖給大家選擇:

其實機器學(xué)習(xí)的基本算法都很簡單,下面我們就利用二維數(shù)據(jù)和交互圖形來看看機器學(xué)習(xí)中的一些基本算法以及它們的原理。(另外向Bret Victor致敬,他的 Inventing on principle 深深的影響了我)

所有的代碼即演示可以在我的Codepen的這個Collection中找到。

首先,機器學(xué)習(xí)最大的分支的監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí),簡單說數(shù)據(jù)已經(jīng)打好標(biāo)簽的是監(jiān)督學(xué)習(xí),而數(shù)據(jù)沒有標(biāo)簽的是無監(jiān)督學(xué)習(xí)。從大的分類上看,降維和聚類被劃在無監(jiān)督學(xué)習(xí),回歸和分類屬于監(jiān)督學(xué)習(xí)。

無監(jiān)督學(xué)習(xí)

如果你的數(shù)據(jù)都沒有標(biāo)簽,你可以選擇花錢請人來標(biāo)注你的數(shù)據(jù),或者使用無監(jiān)督學(xué)習(xí)的方法

首先你可以考慮是否要對數(shù)據(jù)進行降維。

降維

降維顧名思義就是把高維度的數(shù)據(jù)變成為低維度。常見的降維方法有PCA, LDA, SVD等。

主成分分析 PCA

降維里最經(jīng)典的方法是主成分分析PCA,也就是找到數(shù)據(jù)的主要組成成分,拋棄掉不重要的成分。

這里我們先用鼠標(biāo)隨機生成8個數(shù)據(jù)點,然后繪制出表示主成分的白色直線。這根線就是二維數(shù)據(jù)降維后的主成分,藍色的直線是數(shù)據(jù)點在新的主成分維度上的投影線,也就是垂線。主成分分析的數(shù)學(xué)意義可以看成是找到這根白色直線,使得投影的藍色線段的長度的和為最小值。

聚類

因為在非監(jiān)督學(xué)習(xí)的環(huán)境下,數(shù)據(jù)沒有標(biāo)簽,那么能對數(shù)據(jù)所做的最好的分析除了降維,就是把具有相同特質(zhì)的數(shù)據(jù)歸并在一起,也就是聚類。

層級聚類 Hierachical Cluster

該聚類方法用于構(gòu)建一個擁有層次結(jié)構(gòu)的聚類

如上圖所示,層級聚類的算法非常的簡單:

1、初始時刻,所有點都自己是一個聚類

2、找到距離最近的兩個聚類(剛開始也就是兩個點),形成一個聚類

3、兩個聚類的距離指的是聚類中最近的兩個點之間的距離

4、重復(fù)第二步,直到所有的點都被聚集到聚類中。

KMeans

KMeans中文翻譯K均值算法,是最常見的聚類算法。

1、隨機在圖中取K(這里K=3)個中心種子點。

2、然后對圖中的所有點求到這K個中心種子點的距離,假如點P離中心點S最近,那么P屬于S點的聚類。

3、接下來,我們要移動中心點到屬于他的“聚類”的中心。

4、然后重復(fù)第2)和第3)步,直到,中心點沒有移動,那么算法收斂,找到所有的聚類。

KMeans算法有幾個問題:

1、如何決定K值,在上圖的例子中,我知道要分三個聚類,所以選擇K等于3,然而在實際的應(yīng)用中,往往并不知道應(yīng)該分成幾個類

2、由于中心點的初始位置是隨機的,有可能并不能正確分類,大家可以在我的Codepen中嘗試不同的數(shù)據(jù)

3、如下圖,如果數(shù)據(jù)的分布在空間上有特殊性,KMeans算法并不能有效的分類。中間的點被分別歸到了橙色和藍色,其實都應(yīng)該是藍色。

DBSCAN

DBSCAN(Density-Based Spatial Clustering of Applications with Noise)中文是基于密度的聚類算法。

DBSCAN算法基于一個事實:一個聚類可以由其中的任何核心對象唯一確定。

算法的具體聚類過程如下:

1、掃描整個數(shù)據(jù)集,找到任意一個核心點,對該核心點進行擴充。擴充的方法是尋找從該核心點出發(fā)的所有密度相連的數(shù)據(jù)點(注意是密度相連)。

2、遍歷該核心點的鄰域內(nèi)的所有核心點(因為邊界點是無法擴充的),尋找與這些數(shù)據(jù)點密度相連的點,直到?jīng)]有可以擴充的數(shù)據(jù)點為止。最后聚類成的簇的邊界節(jié)點都是非核心數(shù)據(jù)點。

3、之后就是重新掃描數(shù)據(jù)集(不包括之前尋找到的簇中的任何數(shù)據(jù)點),尋找沒有被聚類的核心點,再重復(fù)上面的步驟,對該核心點進行擴充直到數(shù)據(jù)集中沒有新的核心點為止。數(shù)據(jù)集中沒有包含在任何簇中的數(shù)據(jù)點就構(gòu)成異常點。

如上圖所示,DBSCAN可以有效的解決KMeans不能正確分類的數(shù)據(jù)集。并且不需要知道K值。

當(dāng)然,DBCSAN還是要決定兩個參數(shù),如何決定這兩個參數(shù)是分類效果的關(guān)鍵因素:

1、一個參數(shù)是半徑(Eps),表示以給定點P為中心的圓形鄰域的范圍;

2、另一個參數(shù)是以點P為中心的鄰域內(nèi)最少點的數(shù)量(MinPts)。如果滿足:以點P為中心、半徑為Eps的鄰域內(nèi)的點的個數(shù)不少于MinPts,則稱點P為核心點。

監(jiān)督學(xué)習(xí)

監(jiān)督學(xué)習(xí)中的數(shù)據(jù)要求具有標(biāo)簽。也就是說針對已有的結(jié)果去預(yù)測新出現(xiàn)的數(shù)據(jù)。如果要預(yù)測的內(nèi)容是數(shù)值類型,我們稱作回歸,如果要預(yù)測的內(nèi)容是類別或者是離散的,我們稱作分類。

其實回歸和分類本質(zhì)上是類似的,所以很多的算法既可以用作分類,也可以用作回歸。

回歸

線性回歸

線性回歸是最經(jīng)典的回歸算法。

在統(tǒng)計學(xué)中,線性回歸(Linear regression)是利用稱為線性回歸方程的最小二乘函數(shù)對一個或多個自變量和因變量之間關(guān)系進行建模的一種回歸分析。

這種函數(shù)是一個或多個稱為回歸系數(shù)的模型參數(shù)的線性組合。 只有一個自變量的情況稱為簡單回歸,大于一個自變量情況的叫做多元回歸。

如上圖所示,線性回歸就是要找到一條直線,使得所有的點預(yù)測的失誤最小。也就是圖中的藍色直線段的和最小。這個圖很像我們第一個例子中的PCA。仔細觀察,分辨它們的區(qū)別。

如果對于算法的的準(zhǔn)確性要求比較高,推薦的回歸算法包括:隨機森林,神經(jīng)網(wǎng)絡(luò)或者Gradient Boosting Tree。

如果要求速度優(yōu)先,建議考慮決策樹和線性回歸。

分類

支持向量機 SVM

如果對于分類的準(zhǔn)確性要求比較高,可使用的算法包括Kernel SVM,隨機森林,神經(jīng)網(wǎng)絡(luò)以及Gradient Boosting Tree。

給定一組訓(xùn)練實例,每個訓(xùn)練實例被標(biāo)記為屬于兩個類別中的一個或另一個,SVM訓(xùn)練算法創(chuàng)建一個將新的實例分配給兩個類別之一的模型,使其成為非概率二元線性分類器。

SVM模型是將實例表示為空間中的點,這樣映射就使得單獨類別的實例被盡可能寬的明顯的間隔分開。然后,將新的實例映射到同一空間,并基于它們落在間隔的哪一側(cè)來預(yù)測所屬類別。

如上圖所示,SVM算法就是在空間中找到一條直線,能夠最好的分割兩組數(shù)據(jù)。使得這兩組數(shù)據(jù)到直線的距離的絕對值的和盡可能的大。

上圖示意了不同的核方法的不同分類效果。

決策樹

如果要求分類結(jié)果是可以解釋的,可以考慮決策樹或者邏輯回歸。

決策樹(decision tree)是一個樹結(jié)構(gòu)(可以是二叉樹或非二叉樹)。

其每個非葉節(jié)點表示一個特征屬性上的測試,每個分支代表這個特征屬性在某個值域上的輸出,而每個葉節(jié)點存放一個類別。

使用決策樹進行決策的過程就是從根節(jié)點開始,測試待分類項中相應(yīng)的特征屬性,并按照其值選擇輸出分支,直到到達葉子節(jié)點,將葉子節(jié)點存放的類別作為決策結(jié)果。

決策樹可以用于回歸或者分類,下圖是一個分類的例子。

如上圖所示,決策樹把空間分割成不同的區(qū)域。

邏輯回歸

邏輯回歸雖然名字是回歸,但是卻是個分類算法。因為它和SVM類似是一個二分類,數(shù)學(xué)模型是預(yù)測1或者0的概率。所以我說回歸和分類其實本質(zhì)上是一致的。

這里要注意邏輯回歸和線性SVM分類的區(qū)別

樸素貝葉斯

當(dāng)數(shù)據(jù)量相當(dāng)大的時候,樸素貝葉斯方法是一個很好的選擇。

15年我在公司給小伙伴們分享過bayers方法,可惜speaker deck被墻了,如果有興趣可以自行想辦法。

如上圖所示,大家可以思考一下左下的綠點對整體分類結(jié)果的影響。

KNN

KNN分類可能是所有機器學(xué)習(xí)算法里最簡單的一個了。

如上圖所示,K=3,鼠標(biāo)移動到任何一個點,就找到距離該點最近的K個點,然后,這K個點投票,多數(shù)表決獲勝。就是這么簡單。

總結(jié)

本文利用二維交互圖幫助大家理解機器學(xué)習(xí)的基本算法,希望能增加大家對機器學(xué)習(xí)的各種方法有所了解。所有的代碼可以在參考中找到。歡迎大家來和我交流。


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標(biāo)題:圖解機器學(xué)習(xí)

文章出處:【微信號:TheAlgorithm,微信公眾號:算法與數(shù)據(jù)結(jié)構(gòu)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    【「具身智能機器人系統(tǒng)」閱讀體驗】2.具身智能機器人大模型

    ,能夠利用\"思維鏈\"的技術(shù)將復(fù)雜任務(wù)分解為多個子任務(wù),以漸進的方式解決問題。這不僅提高了任務(wù)的成功率,也顯著增強了系統(tǒng)的魯棒性,使得機器人可以更高效地應(yīng)對復(fù)雜環(huán)境和多樣化需求
    發(fā)表于 12-29 23:04

    【「具身智能機器人系統(tǒng)」閱讀體驗】1.全書概覽與第一章學(xué)習(xí)

    簡單的具身智能機器人的應(yīng)用案例。具體目錄如下: 第一章學(xué)習(xí) 具身智能機器人是指能夠在無人工干預(yù)下自主執(zhí)行任務(wù)的機器人。相較于傳統(tǒng)非具身智能機器
    發(fā)表于 12-27 14:50

    【「具身智能機器人系統(tǒng)」閱讀體驗】+數(shù)據(jù)在具身人工智能中的價值

    嵌入式人工智能(EAI)將人工智能集成到機器人等物理實體中,使它們能夠感知、學(xué)習(xí)環(huán)境并與之動態(tài)交互。這種能力使此類機器人能夠在人類社會中有效地提供商品及服務(wù)。 數(shù)據(jù)是一種貨幣化工具 數(shù)
    發(fā)表于 12-24 00:33

    什么是機器學(xué)習(xí)?通過機器學(xué)習(xí)方法能解決哪些問題?

    來源:Master編程樹“機器學(xué)習(xí)”最初的研究動機是讓計算機系統(tǒng)具有人的學(xué)習(xí)能力以便實現(xiàn)人工智能。因為沒有學(xué)習(xí)能力的系統(tǒng)很難被認為是具有智能的。目前被廣泛采用的
    的頭像 發(fā)表于 11-16 01:07 ?440次閱讀
    什么是<b class='flag-5'>機器</b><b class='flag-5'>學(xué)習(xí)</b>?通過<b class='flag-5'>機器</b><b class='flag-5'>學(xué)習(xí)</b>方法能解決哪些問題?

    具身智能與機器學(xué)習(xí)的關(guān)系

    (如機器人、虛擬代理等)通過與物理世界或虛擬環(huán)境的交互來獲得、發(fā)展和應(yīng)用智能的能力。這種智能不僅包括認知和推理能力,還包括感知、運動控制和環(huán)境適應(yīng)能力。具身智能強調(diào)智能體的身體和環(huán)境在智能發(fā)展中的重要性。 2. 機器
    的頭像 發(fā)表于 10-27 10:33 ?397次閱讀

    【《時間序列與機器學(xué)習(xí)》閱讀體驗】+ 時間序列的信息提取

    本人有些機器學(xué)習(xí)的基礎(chǔ),理解起來一點也不輕松,加油。 作者首先說明了時間序列的信息提取是時間序列分析的一個重要環(huán)節(jié),目標(biāo)是從給定的時間序列數(shù)據(jù)中提取出有用的信息和特征,以支持后續(xù)的分析和預(yù)測任務(wù),可以
    發(fā)表于 08-14 18:00

    【「時間序列與機器學(xué)習(xí)」閱讀體驗】+ 簡單建議

    細微差異導(dǎo)致的錯誤,這無疑增加了調(diào)試的難度。因此,我個人建議,書中若能在關(guān)鍵代碼段旁邊添加維碼,鏈接到可在線運行或驗證的代碼環(huán)境,將極大地提升讀者的學(xué)習(xí)效率和體驗。這樣一來,讀者不僅可以快速驗證代碼的正確性,還能在互動中加深對知識的
    發(fā)表于 08-12 11:21

    【《時間序列與機器學(xué)習(xí)》閱讀體驗】+ 了解時間序列

    。 可以探索現(xiàn)象發(fā)展變化的規(guī)律,對某些社會經(jīng)濟現(xiàn)象進行預(yù)測。 利用時間序列可以在不同地區(qū)或國家之間進行對比分析,這也是統(tǒng)計分析的重要方法之一。 而《時間序列與機器學(xué)習(xí)》一書的后幾章分別介紹了時間序列在廣告
    發(fā)表于 08-11 17:55

    如何理解機器學(xué)習(xí)中的訓(xùn)練集、驗證集和測試集

    理解機器學(xué)習(xí)中的訓(xùn)練集、驗證集和測試集,是掌握機器學(xué)習(xí)核心概念和流程的重要一步。這三者不僅構(gòu)成了模型學(xué)習(xí)
    的頭像 發(fā)表于 07-10 15:45 ?4254次閱讀

    Al大模型機器

    和迭代來不斷改進自身性能。它們可以從用戶交互學(xué)習(xí)并根據(jù)反饋進行調(diào)整,以提高對話質(zhì)量和準(zhǔn)確性??啥ㄖ菩耘c整合性: AI大模型機器人可以根據(jù)特定需求進行定制和整合,以滿足不同場景和應(yīng)用的要求。它們可以與其
    發(fā)表于 07-05 08:52

    深度學(xué)習(xí)與傳統(tǒng)機器學(xué)習(xí)的對比

    在人工智能的浪潮中,機器學(xué)習(xí)和深度學(xué)習(xí)無疑是兩大核心驅(qū)動力。它們各自以其獨特的方式推動著技術(shù)的進步,為眾多領(lǐng)域帶來了革命性的變化。然而,盡管它們都屬于機器
    的頭像 發(fā)表于 07-01 11:40 ?1422次閱讀

    機器學(xué)習(xí)入門:基本概念介紹

    機器學(xué)習(xí)(GraphMachineLearning,簡稱GraphML)是機器學(xué)習(xí)的一個分支,專注于
    的頭像 發(fā)表于 05-16 08:27 ?521次閱讀
    <b class='flag-5'>圖</b><b class='flag-5'>機器</b><b class='flag-5'>學(xué)習(xí)</b>入門:基本概念介紹

    深入探討機器學(xué)習(xí)的可視化技術(shù)

    機器學(xué)習(xí)可視化(簡稱ML可視化)一般是指通過圖形或交互方式表示機器學(xué)習(xí)模型、數(shù)據(jù)及其關(guān)系的過程。目標(biāo)是使
    發(fā)表于 04-25 11:17 ?428次閱讀
    深入探討<b class='flag-5'>機器</b><b class='flag-5'>學(xué)習(xí)</b>的可視化技術(shù)

    機器學(xué)習(xí)怎么進入人工智能

    人工智能(Artificial Intelligence,AI)是一門涉及計算機、工程、數(shù)學(xué)、哲學(xué)和認知科學(xué)等多個領(lǐng)域的交叉學(xué)科,旨在構(gòu)建智能化計算機系統(tǒng),使之能夠自主感知、理解、學(xué)習(xí)和決策。如今
    的頭像 發(fā)表于 04-04 08:41 ?342次閱讀

    二位通電磁閥工作原理 二位五通和三五通的區(qū)別

    二位通電磁閥工作原理: 二位通電磁閥是指該電磁閥只有兩個工作狀態(tài),在關(guān)閉狀態(tài)時,兩個通道被切斷,流體無法通過;在開啟狀態(tài)時,兩個通道連通,流體可以通過。其工作原理是通過一個由電磁鐵
    的頭像 發(fā)表于 01-24 17:11 ?8388次閱讀