機(jī)器學(xué)習(xí) Week6 —— 無(wú)監(jiān)督學(xué)習(xí):聚類,主成分分析莫矗,異常檢測(cè)

之前介紹了監(jiān)督學(xué)習(xí)的一些算法:

這篇文章介紹一下無(wú)監(jiān)督學(xué)習(xí)的一些算法:K均值聚類算法飒硅,主成分分析法,以及異常檢測(cè)

K均值算法(K-means)

K均值是用來(lái)解決聚類問(wèn)題的一種算法作谚。先簡(jiǎn)單看一下聚類問(wèn)題三娩,假設(shè)你有一些沒(méi)有標(biāo)簽的數(shù)據(jù),現(xiàn)在你想要將這些數(shù)據(jù)分組妹懒,假設(shè)你想要將這些數(shù)據(jù)分成兩類雀监,如下圖:

Cluster

K均值聚類算法中的K指的就是你想生成K個(gè)聚類,因此在這個(gè)例子中K=2彬伦。使用K均值聚類算法滔悉,首先,隨機(jī)初始化K個(gè)數(shù)據(jù)點(diǎn)作為聚類中心(Cluster Centroid)单绑,然后回官,對(duì)所有的數(shù)據(jù)進(jìn)行標(biāo)注,對(duì)于每個(gè)數(shù)據(jù)搂橙,它與哪個(gè)聚類中心的距離最近就將其標(biāo)注為哪個(gè)類歉提,這里所說(shuō)的距離的計(jì)算方法是:

\sqrt{\sum_{i=1}^n(x_i-x'_i)^2}

即這個(gè)數(shù)據(jù)的所有特征值與聚類中心的相應(yīng)特征值之差的平方求和再開(kāi)根號(hào)
標(biāo)注完每個(gè)數(shù)據(jù)之后,得到這樣的結(jié)果:


Cluster Assignment

接下來(lái)区转,對(duì)每個(gè)聚類苔巨,計(jì)算這個(gè)聚類中的所有數(shù)據(jù)點(diǎn)的均值,然后更新聚類中心废离,將聚類中心移動(dòng)到均值點(diǎn)處。接下來(lái)重復(fù)以上的步驟:

  • 對(duì)于每個(gè)數(shù)據(jù)點(diǎn)蜻韭,計(jì)算與其距離最近的聚類中心悼尾,然后為其分配一個(gè)聚類
  • 計(jì)算每個(gè)聚類的均值,將聚類中心更新到均值處

最終我們就能得到:


The Output of K-means clustering algorithm

類似于監(jiān)督學(xué)習(xí)中的算法肖方,K均值算法同樣有優(yōu)化目標(biāo)闺魏,其目標(biāo)是最小化數(shù)據(jù)點(diǎn)與對(duì)應(yīng)聚類中心距離的平方之和,優(yōu)化的實(shí)現(xiàn)方法就是每次將聚類中心移動(dòng)到選取數(shù)據(jù)的均值點(diǎn)處(這里省去了數(shù)學(xué)證明)
在隨機(jī)初始化的時(shí)候俯画,我們需要隨機(jī)選擇K個(gè)聚類中心析桥,一種方法就是在給定的數(shù)據(jù)點(diǎn)中隨機(jī)選取K個(gè)數(shù)據(jù)點(diǎn),將這K個(gè)數(shù)據(jù)點(diǎn)作為聚類中心

主成分分析法(Principal Component Analysis,PCA)

主成分分析法是用于降維(Dimensionality Reduction)的一種算法泡仗,首先看一下降維問(wèn)題埋虹,降維有很多應(yīng)用,比如:

  • 數(shù)據(jù)壓縮:將n維的數(shù)據(jù)降維至m維的數(shù)據(jù)沮焕,要求m遠(yuǎn)小于n吨岭,且降維后的數(shù)據(jù)能夠反映原數(shù)據(jù)的特征
  • 數(shù)據(jù)可視化:想要將數(shù)據(jù)繪制在圖像上,需要數(shù)據(jù)是2維或者3維的峦树,因此需要用到降維

解決降維問(wèn)題辣辫,最常用的算法就是主成分分析法,主成分分析法可以將n維的數(shù)據(jù)投影到k維并且要求最小化投影誤差(Projection Error)(即投影前后的點(diǎn)的距離)魁巩,先直觀的通過(guò)一個(gè)例子看一下主成分分析法如何將2維數(shù)據(jù)投影到1維:

2-D data

上圖給出了一些二維的數(shù)據(jù)急灭,要將其投影到一維并最小化投影誤差,就是要找一條直線谷遂,將這些點(diǎn)投影到直線上葬馋,并且使得投影前后的點(diǎn)的距離(或者說(shuō)這些點(diǎn)到這條投影直線的距離)最小化:
A line to project the data

對(duì)于三維的數(shù)據(jù)也是一樣,就是找一個(gè)二維的平面使得投影誤差最小肾扰。從圖中也可以直觀的看出主成分分析法和線性回歸模型的區(qū)別畴嘶,首先就是優(yōu)化目標(biāo)不同,前者優(yōu)化的是點(diǎn)到直線的距離集晚,后者優(yōu)化的是y值之差窗悯;其次是目的不同,前者是降維偷拔,后者是根據(jù)特征值預(yù)測(cè)y的值
接下來(lái)看一下主成分分析法的具體算法:

  1. 首先需要對(duì)數(shù)據(jù)進(jìn)行預(yù)處理蒋院,這個(gè)步驟和監(jiān)督學(xué)習(xí)中使用的均值歸一化處理(Mean Normalization)是一樣的,目的是將所有數(shù)據(jù)處理到差不多相同的范圍:
    x^{(i)} = \frac {x^{(i)}-u_i}{s_i}
    其中u_i是指第i個(gè)特征參數(shù)下的所有數(shù)據(jù)的平均值莲绰,s_i指第i個(gè)特征參數(shù)下的數(shù)據(jù)的極差欺旧,或者標(biāo)準(zhǔn)差。
  2. 接下來(lái)計(jì)算協(xié)方差矩陣(Covariance matrix)\Sigma(Sigma)蛤签,計(jì)算方法是:
    \Sigma=\frac{1}{m}\sum_{i=1}^n(x^{(i)})(x^{(i)})^T
    其中(x^{(i)})是一個(gè)n*1的矩陣
  3. 計(jì)算Sigma的特征向量(Eigenvectors):使用Octave或者M(jìn)ATLAB自帶的函數(shù)[U,S,V] = svd(Sigma)辞友,svd奇異值分解(Singular Value Decomposition)。我們需要的就是輸出中的U矩陣震肮,U也是一個(gè)n*n的矩陣称龙,我們從這個(gè)矩陣中取前k列的內(nèi)容,得到一個(gè)n*k大小的矩陣钙蒙,記為U_{reduce}
  4. 最后計(jì)算z=U_{reduce}^Tx,得到的z就是一個(gè)k*1即k維的矩陣间驮,也就是最終將數(shù)據(jù)從n維降到了k維

那么如何通過(guò)壓縮之后的低維度數(shù)據(jù)重構(gòu)之前的n維數(shù)據(jù)呢躬厌,這里可以用以下方法來(lái)近似還原之前的數(shù)據(jù):
x_{approx}=U_{reduce}z
還原之后的數(shù)據(jù)和原始的數(shù)據(jù)有下面的變化(是原來(lái)數(shù)據(jù)的投影):

Reconstruction from compressed representation

還有一個(gè)問(wèn)題是如何確定主成分的數(shù)量k,也就是將數(shù)據(jù)從n維壓縮到k維的k值如何確定。在使用[U,S,V] = svd(Sigma)時(shí)扛施,我們還得到了S矩陣鸿捧,這是一個(gè)n*n的對(duì)角矩陣,記它的對(duì)角線上的元素是S_{ii}疙渣,那么選取k值的算法就是:k從1開(kāi)始匙奴,不斷增大,直到滿足:
1-\frac{\sum_{i=1}^kS_{ii}}{\sum_{i=1}^nS_{ii}}\le0.01
式子右側(cè)的0.01也可以取成0.05等其他值妄荔,代表了平方投影的誤差泼菌。

異常檢測(cè)(Anomaly Detection)

異常檢測(cè)的問(wèn)題就是判斷某個(gè)數(shù)據(jù)在給定的數(shù)據(jù)中是否屬于異常值,比如判斷生產(chǎn)出的產(chǎn)品是否合格啦租,根據(jù)記錄判斷信用卡的支付行為是否是盜刷等等
那么我們的第一感覺(jué)是解決異常檢測(cè)的問(wèn)題也可以用監(jiān)督學(xué)習(xí)的方法來(lái)做哗伯,將數(shù)據(jù)分為正常和異常兩個(gè)類別,標(biāo)記好數(shù)據(jù)集篷角,然后使用監(jiān)督學(xué)習(xí)算法訓(xùn)練一個(gè)二元分類器焊刹,問(wèn)題解決。
但是仔細(xì)想想恳蹲,二元分類在處理異常檢測(cè)問(wèn)題上可能并沒(méi)有想象中的效果虐块。什么是異常,就是除了正常的數(shù)據(jù)以外的都要檢測(cè)為異常嘉蕾,比如在一個(gè)具體例子中贺奠,假設(shè)正常的數(shù)據(jù)就是各種房子,那么除了房子的數(shù)據(jù)都是異常的荆针,可能是車敞嗡,可能是人,可能是書(shū)航背。喉悴。。所以異常所包含的范圍太大了玖媚,根本就不能簡(jiǎn)單的將異常視為一個(gè)類別箕肃,更不可能將異常的所有的數(shù)據(jù)都收集起來(lái)標(biāo)記好。除此之外今魔,還有一個(gè)原因就是在實(shí)際生活中勺像,異常的數(shù)據(jù)很難收集。因此错森,我們不能使用分類算法來(lái)解決異常檢測(cè)問(wèn)題
要了解異常檢測(cè)的算法吟宦,首先需要知道正態(tài)分布(Normal Distribution),又名高斯分布(Gaussian distribution)涩维,如果x服從正態(tài)分布殃姓,那么x的概率密度函數(shù)就是:
f(x)=\frac{1}{\sqrt{2\pi}\sigma}exp(-\frac{(x-\mu)^2}{2\sigma^2})
記為N(\mu,\sigma^2)
異常檢測(cè)的算法就是,先選出特征x_j,假設(shè)你擁有的數(shù)據(jù)集里面已經(jīng)有了{x^{(1)},x^{(2)}}...x^{(m)}這些例子蜗侈,那么對(duì)每個(gè)特征x_j篷牌,利用這些例子計(jì)算出這個(gè)特征的正態(tài)分布的參數(shù),計(jì)算方法如下:
\mu_j=\frac{1}{m}\sum_{i=1}^mx_j^{(i)}
\sigma_j^2=\frac{1}{m}\sum_{i=1}^m(x_j^{(i)}-u_j)^2
接下來(lái)踏幻,當(dāng)你拿到一個(gè)新的例子x的時(shí)候枷颊,計(jì)算它的概率p(x)
p(x)=\prod_{j=1}^np(x_j;u_j,\sigma_j^2)=\prod_{j=1}^n\frac{1}{\sqrt{2\pi}\sigma_j}exp(-\frac{(x_j-\mu_j)^2}{2\sigma_j^2})
如果這個(gè)概率p(x)<\epsilon,那么就可以認(rèn)為這個(gè)例子x是異常值该面,比如我們可以取\epsilon=0.02夭苗,那么當(dāng)p(x)<0.02的時(shí)候,就可以認(rèn)為是異常數(shù)據(jù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末吆倦,一起剝皮案震驚了整個(gè)濱河市听诸,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蚕泽,老刑警劉巖晌梨,帶你破解...
    沈念sama閱讀 218,386評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異须妻,居然都是意外死亡仔蝌,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門荒吏,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)敛惊,“玉大人,你說(shuō)我怎么就攤上這事绰更∏萍罚” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,704評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵儡湾,是天一觀的道長(zhǎng)特恬。 經(jīng)常有香客問(wèn)我,道長(zhǎng)徐钠,這世上最難降的妖魔是什么癌刽? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,702評(píng)論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮尝丐,結(jié)果婚禮上显拜,老公的妹妹穿的比我還像新娘。我一直安慰自己爹袁,他們只是感情好远荠,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,716評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著失息,像睡著了一般譬淳。 火紅的嫁衣襯著肌膚如雪乏屯。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,573評(píng)論 1 305
  • 那天瘦赫,我揣著相機(jī)與錄音,去河邊找鬼蛤迎。 笑死确虱,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的替裆。 我是一名探鬼主播校辩,決...
    沈念sama閱讀 40,314評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼辆童!你這毒婦竟也來(lái)了宜咒?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,230評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤把鉴,失蹤者是張志新(化名)和其女友劉穎故黑,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體庭砍,經(jīng)...
    沈念sama閱讀 45,680評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡场晶,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,873評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了怠缸。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诗轻。...
    茶點(diǎn)故事閱讀 39,991評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖揭北,靈堂內(nèi)的尸體忽然破棺而出扳炬,到底是詐尸還是另有隱情,我是刑警寧澤搔体,帶...
    沈念sama閱讀 35,706評(píng)論 5 346
  • 正文 年R本政府宣布恨樟,位于F島的核電站,受9級(jí)特大地震影響嫉柴,放射性物質(zhì)發(fā)生泄漏厌杜。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,329評(píng)論 3 330
  • 文/蒙蒙 一计螺、第九天 我趴在偏房一處隱蔽的房頂上張望夯尽。 院中可真熱鬧,春花似錦登馒、人聲如沸匙握。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,910評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)圈纺。三九已至秦忿,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蛾娶,已是汗流浹背灯谣。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,038評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蛔琅,地道東北人胎许。 一個(gè)月前我還...
    沈念sama閱讀 48,158評(píng)論 3 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像罗售,于是被迫代替她去往敵國(guó)和親辜窑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,941評(píng)論 2 355