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

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

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

機器學習算法的無監(jiān)督學習的詳細介紹

lviY_AI_shequ ? 來源:未知 ? 作者:易水寒 ? 2018-05-01 17:43 ? 次閱讀

????Content:

9.1 Supervised Learning and Unsupervised Learning

9.2 K-means algorithm

9.3 Optimization objective

9.4 Random Initialization

9.5 Choosing the Number of Clusters

9.1 Supervised Learning and Unsupervised Learning

我們已經(jīng)學習了許多機器學習算法,包括線性回歸,Logistic回歸,神經(jīng)網(wǎng)絡以及支持向量機。這些算法都有一個共同點,即給出的訓練樣本自身帶有標記。比如,使用線性回歸預測房價時,我們所使用的每一個訓練樣本是一個或多個變量(如面積,樓層等)以及自身帶有的標記即房價。而使用Logistic回歸,神經(jīng)網(wǎng)絡和支持向量機處理分類問題時,也是利用訓練樣本自身帶有標記即種類,例如進行垃圾郵件分類時是利用已有的垃圾郵件(標記為1)和非垃圾郵件(標記為0),進行數(shù)字識別時,變量是每個像素點的值,而標記是數(shù)字本身的值。我們把使用帶有標記的訓練樣本進行學習的算法稱為監(jiān)督學習(Supervised Learning)。監(jiān)督學習的訓練樣本可以統(tǒng)一成如下形式,其中x為變量,y為標記。

顯然,現(xiàn)實生活中不是所有數(shù)據(jù)都帶有標記(或者說標記是未知的)。所以我們需要對無標記的訓練樣本進行學習,來揭示數(shù)據(jù)的內(nèi)在性質(zhì)及規(guī)律。我們把這種學習稱為無監(jiān)督學習(Unsupervised Learning)。所以,無監(jiān)督學習的訓練樣本如下形式,它僅包含特征量。

圖9-1形象的表示了監(jiān)督學習與無監(jiān)督學習的區(qū)別。圖(1)表示給帶標記的樣本進行分類,分界線兩邊為不同的類(一類為圈,另一類為叉);圖(2)是基于變量x1和x2對無標記的樣本(表面上看起來都是圈)進行聚類(Clustering)。

機器學習算法的無監(jiān)督學習的詳細介紹

圖9-1 一個監(jiān)督學習與無監(jiān)督學習的區(qū)別實例

無監(jiān)督學習也有很多應用,一個聚類的例子是:對于收集到的論文,根據(jù)每個論文的特征量如詞頻,句子長,頁數(shù)等進行分組。聚類還有許多其它應用,如圖9-2所示。一個非聚類的例子是雞尾酒會算法,即從帶有噪音的數(shù)據(jù)中找到有效數(shù)據(jù)(信息),例如在嘈雜的雞尾酒會你仍然可以注意到有人叫你。所以雞尾酒會算法可以用于語音識別(詳見wikipedia)。

quora上有更多關(guān)于監(jiān)督學習與無監(jiān)督學習之間的區(qū)別的討論。

機器學習算法的無監(jiān)督學習的詳細介紹

圖9-2 一些聚類的應用

9.2 K-means algorithm

聚類的基本思想是將數(shù)據(jù)集中的樣本劃分為若干個通常是不相交的子集,每個子集稱為一個"簇"(cluster)。劃分后,每個簇可能有對應的概念(性質(zhì)),比如根據(jù)頁數(shù),句長等特征量給論文做簇數(shù)為2的聚類,可能得到一個大部分是包含碩士畢業(yè)論文的簇,另一個大部分是包含學士畢業(yè)論文的簇。

K均值(K-means)算法是一個廣泛使用的用于簇劃分的算法。下面說明K均值算法的步驟:

隨機初始化K個樣本(點),稱之為簇中心(cluster centroids);

簇分配: 對于所有的樣本,將其分配給離它最近的簇中心;

移動簇中心:對于每一個簇,計算屬于該簇的所有樣本的平均值,移動簇中心到平均值處;

重復步驟2和3,直到找到我們想要的簇(即優(yōu)化目標,詳解下節(jié)9.3)

圖9-3演示了以特征量個數(shù)和簇數(shù)K均為2的情況。

機器學習算法的無監(jiān)督學習的詳細介紹

圖9-3 K均值算法的演示

通過上述描述,下面我們形式化K均值算法。

輸入:

K (number of clusters)

Training set

算法:

Randomly initialize K cluster centroids

Repeat {

for i = 1 to m

for k = 1 to K

}

上述算法中,第一個循環(huán)對應了簇分配的步驟:我們構(gòu)造向量c,使得c(i)的值等于x(i)所屬簇的索引,即離x(i)最近簇中心的索引。用數(shù)學的方式表示如下:

第二個循環(huán)對應移動簇中心的步驟,即移動簇中心到該簇的平均值處。更數(shù)學的方式表示如下:

其中

如果有一個簇中心沒有分配到一個樣本,我們既可以重新初始化這個簇中心,也可以直接將其去除。

經(jīng)過若干次迭代后,該算法將會收斂,也就是繼續(xù)迭代不會再影響簇的情況。

在某些應用中,樣本可能比較連續(xù),看起來沒有明顯的簇劃分,但是我們還是可以用K均值算法將樣本分為K個子集供參考。例如根據(jù)人的身高和體重劃分T恤的大小碼,如圖9-4所示。

圖9-4K-means for non-separated clusters

9.3 Optimization objective

重新描述在K均值算法中使用的變量:

使用這些變量,定義我們的cost function如下:

所以我們的優(yōu)化目標就是

結(jié)合9.2節(jié)所描述的算法,可以發(fā)現(xiàn):

在簇分配步驟中,我們的目標是通過改變

在移動簇中心步驟中,我們的目標通過改變

注意,在K均值算法中,cost function不可能能增加,它應該總是下降的(區(qū)別于梯度下降法)。

9.4 Random Initialization

下面介紹一種值得推薦的初始化簇中心的方法。

確保K < m,也就是確保簇的數(shù)量應該小于樣本數(shù);

隨機選擇K個訓練樣本;

令K個簇中心

K均值算法可能陷入局部最優(yōu)。為了減少這種情況的發(fā)生,我們可以基于隨機初始化,多次運行K均值算法。所以,算法變成如下形式(以運行100次為例:效率與準確性的tradeoff)

For i = 1 to 100 {

Randomly initialize K-means.

Run K-means. Get

Compute cost function (distortion)

}

Pick clustering that gave lowest cost

9.5 Choosing the Number of Clusters

選擇K的取值通常是主觀的,不明確的。也就是沒有一種方式確保K的某個取值一定優(yōu)于其他取值。但是,有一些方法可供參考。

The elbow method: 畫出代價J關(guān)于簇數(shù)K的函數(shù)圖,J值應該隨著K的增加而減小,然后趨于平緩,選擇當J開始趨于平衡時的K的取值。如圖9-5的(1)所示。

但是,通常這條曲線是漸變的,沒有很顯然的"肘部"。如圖9-5的(2)所示。

機器學習算法的無監(jiān)督學習的詳細介紹

圖9-5 代價J關(guān)于簇數(shù)K的曲線圖

注意:隨著K的增加J應該總是減少的,否則,一種出錯情況可能是K均值陷入了一個糟糕的局部最優(yōu)。

一些其他的方法參見wikipedia。

當然,我們有時應該根據(jù)后續(xù)目的( later/downstream purpose )來確定K的取值。還是以根據(jù)人的身高和體重劃分T恤的大小碼為例,若我們想將T恤大小劃分為S/M/L這3種類型,那么K的取值應為3;若想要劃分為XS/S/M/L/XL這5種類型,那么K的取值應為5。如圖9-6所示。

機器學習算法的無監(jiān)督學習的詳細介紹

圖9-6 劃分T恤size的兩種不同情況

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

原文標題:Stanford機器學習筆記-9. 聚類(Clustering)

文章出處:【微信號:AI_shequ,微信公眾號:人工智能愛好者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    人工智能、機器學習和深度學習存在什么區(qū)別

    人工智能指的是在某種程度上顯示出類似人類智能的設備。AI有很多技術(shù),但其中一個很大的子集是機器學習——讓算法從數(shù)據(jù)中學習。
    發(fā)表于 10-24 17:22 ?2425次閱讀
    人工智能、<b class='flag-5'>機器</b><b class='flag-5'>學習</b>和深度<b class='flag-5'>學習</b>存在什么區(qū)別

    【《大語言模型應用指南》閱讀體驗】+ 基礎(chǔ)知識學習

    收集海量的文本數(shù)據(jù)作為訓練材料。這些數(shù)據(jù)集不僅包括語法結(jié)構(gòu)的學習,還包括對語言的深層次理解,如文化背景、語境含義和情感色彩等。 自監(jiān)督學習:模型采用自監(jiān)督學習策略,在大量標簽文本數(shù)據(jù)
    發(fā)表于 08-02 11:03

    【《大語言模型應用指南》閱讀體驗】+ 基礎(chǔ)篇

    章節(jié)最后總結(jié)了機器學習的分類:有監(jiān)督學習監(jiān)督學習、半監(jiān)督學習、自
    發(fā)表于 07-25 14:33

    深度學習算法在嵌入式平臺上的部署

    隨著人工智能技術(shù)的飛速發(fā)展,深度學習算法在各個領(lǐng)域的應用日益廣泛。然而,將深度學習算法部署到資源受限的嵌入式平臺上,仍然是一個具有挑戰(zhàn)性的任務。本文將從嵌入式平臺的特點、深度
    的頭像 發(fā)表于 07-15 10:03 ?1109次閱讀

    神經(jīng)網(wǎng)絡如何用監(jiān)督算法訓練

    標記數(shù)據(jù)的處理尤為有效,能夠充分利用互聯(lián)網(wǎng)上的海量數(shù)據(jù)資源。以下將詳細探討神經(jīng)網(wǎng)絡如何用監(jiān)督算法進行訓練,包括常見的
    的頭像 發(fā)表于 07-09 18:06 ?678次閱讀

    深度學習中的監(jiān)督學習方法綜述

    應用中往往難以實現(xiàn)。因此,監(jiān)督學習在深度學習中扮演著越來越重要的角色。本文旨在綜述深度學習中的監(jiān)督學
    的頭像 發(fā)表于 07-09 10:50 ?408次閱讀

    深度學習的基本原理與核心算法

    處理、語音識別等領(lǐng)域取得了革命性的突破。本文將詳細闡述深度學習的原理、核心算法以及實現(xiàn)方式,并通過一個具體的代碼實例進行說明。
    的頭像 發(fā)表于 07-04 11:44 ?1571次閱讀

    機器學習算法原理詳解

    機器學習作為人工智能的一個重要分支,其目標是通過讓計算機自動從數(shù)據(jù)中學習并改進其性能,而無需進行明確的編程。本文將深入解讀幾種常見的機器學習
    的頭像 發(fā)表于 07-02 11:25 ?685次閱讀

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

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

    機器學習的經(jīng)典算法與應用

    關(guān)于數(shù)據(jù)機器學習就是喂入算法和數(shù)據(jù),讓算法從數(shù)據(jù)中尋找一種相應的關(guān)系。Iris鳶尾花數(shù)據(jù)集是一個經(jīng)典數(shù)據(jù)集,在統(tǒng)計學習
    的頭像 發(fā)表于 06-27 08:27 ?1547次閱讀
    <b class='flag-5'>機器</b><b class='flag-5'>學習</b>的經(jīng)典<b class='flag-5'>算法</b>與應用

    機器學習怎么進入人工智能

    ,人工智能已成為一個熱門領(lǐng)域,涉及到多個行業(yè)和領(lǐng)域,例如語音識別、機器翻譯、圖像識別等。 在編程中進行人工智能的關(guān)鍵是使用機器學習算法,這是一類基于樣本數(shù)據(jù)和模型訓練來進行預測和判斷的
    的頭像 發(fā)表于 04-04 08:41 ?234次閱讀

    機器學習基礎(chǔ)知識全攻略

    監(jiān)督學習通常是利用帶有專家標注的標簽的訓練數(shù)據(jù),學習一個從輸入變量X到輸入變量Y的函數(shù)映射。Y = f (X),訓練數(shù)據(jù)通常是(n×x,y)的形式,其中n代表訓練樣本的大小,x和y分別是變量X和Y的樣本值。
    發(fā)表于 02-25 13:53 ?203次閱讀
    <b class='flag-5'>機器</b><b class='flag-5'>學習</b>基礎(chǔ)知識全攻略

    2024年AI領(lǐng)域?qū)心男┬峦黄颇兀?/a>

    傳統(tǒng)的機器學習需要大量的標記數(shù)據(jù)進行訓練,但自監(jiān)督學習可以通過監(jiān)督的方式從大規(guī)模未標記的數(shù)據(jù)中學習
    的頭像 發(fā)表于 01-24 09:58 ?1935次閱讀

    基于transformer和自監(jiān)督學習的路面異常檢測方法分享

    鋪設異常檢測可以幫助減少數(shù)據(jù)存儲、傳輸、標記和處理的壓力。本論文描述了一種基于Transformer和自監(jiān)督學習的新方法,有助于定位異常區(qū)域。
    的頭像 發(fā)表于 12-06 14:57 ?1392次閱讀
    基于transformer和自<b class='flag-5'>監(jiān)督學習</b>的路面異常檢測方法分享

    監(jiān)督域自適應場景:基于檢索增強的情境學習實現(xiàn)知識遷移

    本文對比了多種基線方法,包括監(jiān)督域自適應的傳統(tǒng)方法(如Pseudo-labeling和對抗訓練)、基于檢索的LM方法(如REALM和RAG)和情境學習方法(如In-context learning)。
    發(fā)表于 12-05 14:14 ?535次閱讀
    <b class='flag-5'>無</b><b class='flag-5'>監(jiān)督</b>域自適應場景:基于檢索增強的情境<b class='flag-5'>學習</b>實現(xiàn)知識遷移