機器學習-無監督聚類K-means
聚類屬於無監督學習,以往的迴歸、樸素貝葉斯、SVM等都是有類別標籤y的,也就是說樣例中已經給出了樣例的分類。而聚類的樣本中卻沒有給定y,只有特徵x,比如假設宇宙中的星星可以表示成三維空間中的點集。聚類的目的是找到每個樣本x潛在的類別y,並將同類別y的樣本x放在一起。比如上面的星星,聚類後結果是一個個星團,星團裡面的點相互距離比較近,星團間的星星距離就比較遠了。
K-means演算法是將樣本聚類成k個簇(cluster),具體演算法描述如下:
1、 隨機選取k個聚類質心點(cluster centroids)為 2、 重複下面過程直到收斂 { 對於每一個樣例i,計算其應該屬於的類 對於每一個類j,重新計算該類的質心 } |
K是我們事先給定的聚類數,代表樣例i與k個類中距離最近的那個類,的值是1到k中的一個。質心代表我們對屬於同一個類的樣本中心點的猜測,拿星團模型來解釋就是要將所有的星星聚成k個星團,首先隨機選取k個宇宙中的點(或者k個星星)作為k個星團的質心,然後第一步對於每一個星星計算其到k個質心中每一個的距離,然後選取距離最近的那個星團作為
下圖展示了對n個樣本點進行K-means聚類的效果,這裡k取2。
K-means面對的第一個問題是如何保證收斂,前面的演算法中強調結束條件就是收斂,可以證明的是K-means完全可以保證收斂性。下面我們定性的描述一下收斂性,我們定義畸變函式(distortion function)如下:
J函式表示每個樣本點到其質心的距離平方和。K-means是要將J調整到最小。假設當前J沒有達到最小值,那麼首先可以固定每個類的質心
由於畸變函式J是非凸函式,意味著我們不能保證取得的最小值是全域性最小值,也就是說k-means對質心初始位置的選取比較感冒,但一般情況下k-means達到的區域性最優已經滿足需求。但如果你怕陷入區域性最優,那麼可以選取不同的初始值跑多遍k-means,然後取其中最小的J對應的和c輸出。
相關推薦
機器學習-無監督聚類K-means
聚類屬於無監督學習,以往的迴歸、樸素貝葉斯、SVM等都是有類別標籤y的,也就是說樣例中已經給出了樣例的分類。而聚類的樣本中卻沒有給定y,只有特徵x,比如假設宇宙中的星星可以表示成三維空間中的點集。聚類的目的是找到每個樣本x潛在的類別y,並將同類別y的樣本x放在一起。比如上
[吳恩達機器學習筆記]13聚類K-means
沒有 rand 幫助 聯系 method ima 運用 重新 function 13.聚類 覺得有用的話,歡迎一起討論相互學習~Follow Me 13.1無監督學習簡介 從監督學習到無監督學習 在一個典型的監督學習中,我們有一個有標簽的訓練集,我們的目標是找到能夠區分正
吳恩達機器學習(十一)K-means(無監督學習、聚類演算法)
目錄 0. 前言 學習完吳恩達老師機器學習課程的無監督學習,簡單的做個筆記。文中部分描述屬於個人消化後的理解,僅供參考。 如果這篇文章對你有一點小小的幫助,請給個關注喔~我會非常開心
機器學習--無監督學習之K-means聚類方法
一、引言 從上次SVM之後幾節課講的是學習理論,這塊理論性比較深,我得好好消化一下。所以先總結一下第一個無監督的機器學習演算法,K-means聚類方法。 所謂無監督學習,就是資料樣本沒有標籤,要讓學習演算法自己去發現數據之間內在的一些結構和規律。就好比做題沒有標準答案,所以
無監督學習-聚類 K-means聚類演算法
#無監督學習-聚類 K-means聚類演算法 #以k為引數,把n個物件分為k個簇,使簇內具有較高相似度,簇間相似度較低 #1.隨機選擇k個點作為初始聚類中心;2.根據剩下點與聚類中心的距離(預設就是歐氏距離),歸為最近的簇; #3.對每個簇,計算所有點的均值作為新聚類中心;4.重複2、3直至
吳恩達機器學習 - 無監督學習——K-means演算法 吳恩達機器學習 - 無監督學習——K-means演算法
原 吳恩達機器學習 - 無監督學習——K-means演算法 2018年06月25日 12:02:37 離殤灬孤狼 閱讀數:181
機器學習-->無監督學習-->聚類
本篇博文將詳細總結機器學習裡面的一個很重要的內容-聚類。 聚類定義 定義 聚類就是對大量未知標註 的資料集,按資料 的內在相似性將資料集劃分為多個類別,使 類別內的資料相似度較大而類別間的資料相 似度較小。是無監督的分類方式。 聚類思想 給
python_sklearn機器學習算法系列之K-Means(硬聚類演算法)
本文主要目的是通過一段及其簡單的小程式來快速學習python 中sklearn的K-Means這一函式的基本操作和使用,注意不是用python純粹從頭到尾自己構建K-Means,既然sklearn提供了現成的我們直接拿來用就可以了,當然K-Means原理還
機器學習(1):K-MEANS聚類演算法
一、聚類簡介 1.無監督問題:我們手裡沒有標籤了 2.聚類:相似的東西分到一組 3.難點:如何評估,如何調參 二、基本概念: 1.K:要得到簇的個數,需要指定K 2.質心:均值,即向量各維取平均 3.距離的度量:常用歐幾里得距離和餘弦相似度(先標準化) 4.優化目標 (1)Ci代表
【機器學習演算法-python實現】K-means無監督學習實現分類
''' @author: hakuri ''' from numpy import * import matplotlib.pyplot as plt def loadDataSet(fileName): #general function to parse tab -delimited float
周志華《機器學習》Ch9. 聚類:k-means演算法的python實現
理論 k-means方法是一種常用的聚類方法,其目標是最小化 其中是第i個簇的中心。直接優化上式有難度,故k-means演算法採用一種近似方法。 簡單來說,k-means演算法由兩個步驟迴圈組成: 1. 計算每個sample到各個簇中心的距離,將該sample的類
【機器學習】---密度聚類從初識到應用
max 一個 eight log div 指定 聚類 空間 mar 一.前述 密度聚類是一種能降噪的算法。 二.相關概念 先看些抽象的概念(官方定義): 1.:對象O的是與O為中心,為半徑的空間,參數,是用戶指定每個對象的領域半徑值。 2.MinPts(領域密度閥值):對象
Python機器學習——Agglomerative層次聚類
條件 分享圖片 n-2 mov unique ber and 兩個 its 層次聚類(hierarchical clustering)可在不同層次上對數據集進行劃分,形成樹狀的聚類結構。AggregativeClustering是一種常用的層次聚類算法。 ??其原理是:最初
機器學習實戰(九)K-means(K-均值)
目錄 0. 前言 1. K-means 2. K-means的後處理 3. 二分K-means 4. K 的選擇 5. 實戰案例 5.1. 原始K-means 5.2. 二分
機器學習 - 無監督學習-多元高斯模型
(一)異常檢測---基於高斯(正態)分佈 m個訓練樣本,每個樣本有n個features 即m個樣本的每個屬性集都呈現高斯分佈,因此有以下計算: 例子如下: (二)評價異常檢測系統 將所有資料按照60%,20%,20%的比例分成三部分
機器學習實戰DBSCN聚類
# !/usr/bin/python # -*- coding:utf-8 -*- import numpy as np import matplotlib.pyplot as plt import sklearn.datasets as ds import matplotlib.colors f
機器學習之DBSCAN聚類
機器學習之DBSCAN聚類 # -*- coding: utf-8 -*- """ Created on Wed Nov 28 18:50:57 2018 @author: muli """ import numpy as np from sklearn.datas
機器學習之kMeans聚類
機器學習之kMeans聚類 # -*- coding: utf-8 -*- """ Created on Wed Nov 28 16:23:36 2018 @author: muli """ from sklearn.datasets.samples_generat
【搜尋引擎】用whoosh+無監督聚類搭建一套智慧搜尋引擎
因本介面自定義功能較多,且底層演算法自己搭建,故不再使用其他三方庫,只用whoosh其他演算法自己寫。 # -*- coding: utf-8 -*- from whoosh.fields import Schema,TEXT,ID from whoosh.index i
【機器學習】Kmeans聚類
寫在篇前 Kmeans演算法是一種經典的聚類演算法,屬於無監督學習的範疇。所謂聚類,即指對於給定的一個樣本集,按照樣本之間的距離大小,將樣本集劃分為K個簇,且讓簇內的點儘量緊密的連在一起,而讓簇間的距離儘量的大。 優點: 原理簡單 速度快 對大資料集有比較