監督學習是帶有標籤的,無監督學習沒有標籤。
無監督學習是要將一系列無標籤的資料輸入到演算法中,然後讓演算法找到一些隱含在資料中的結構。
在聚類問題中,我們會給定一組未加標籤的資料集,同時希望有乙個演算法能夠自動將這些資料分成有緊密關係的子集或者是簇
市場分割:資料庫中有些顧客的資訊,想把他們根據市場的不同進行分組
社交網路分析:找到關係密切的群體
組織計算機集群
了解銀河系的構成
通過上一課時對聚類的定義,我們知道聚類問題需要有乙個演算法能將未加標籤的資料分成有緊密關係的簇,k-means就是這樣乙個聚類演算法。
1.輸入
k均值演算法接受兩個輸入,k(聚類出的簇的個數)和一系列無標籤的資料集
第一步: 隨機初始化k個聚類中心,μ1,
μ2,.
..,μ
kμ_1,μ_2,...,μ_k
μ1,μ2
,..
.,μk
第二步:進行內迴圈
第乙個是簇分配,算出樣本與k個聚類中心的距離,看樣本與哪個聚類中心更近,然後將每個資料點分配給k個聚類中心之一。
用數學公式表示為 min
∣∣x(
i)−u
k∣∣2
min ||x^-u_k ||^2
min∣∣x
(i)−
uk∣
∣2,能夠最小化這個式子的k值就是要賦值給c(i
)c^c(i)
的值,c(i
)c^c(i)
表示的是當前樣本所指的那個簇的索引或序號
第二個是移動聚類中心,將k個聚類中心移動到其同簇點的均值處
如果存在乙個沒有點的聚類中心,最常見的做法是直接移除這個聚類中心,但這樣就變成了k-1個簇而不是k個,如果一定需要k個簇則可以重新隨機初始化這個聚類中心。
kmeans可以用來解決分離不佳的簇的問題,如下圖看起來不是明顯分離的三簇,但是我們需要通過這個資料來得到t-恤的sml三個號分別做多大,就可以通過k均值演算法得到
k均值演算法最小化的代價函式也就是優化目標如下:
也就是找到能夠最小化代價函式j的μ
iμ_i
μi和c
ic_i
ci,這個代價函式又叫失真代價函式或k均值演算法的失真
每個樣本與此樣本所屬聚類中心的距離的平方值
上個課時講的簇分配(k均值演算法的第一步)其實就是最小化j關於變數c,先保持μ1,
μ2,.
..,μ
kμ_1,μ_2,...,μ_k
μ1,μ2
,..
.,μk
不變,選出c1,
c2,.
..,c
kc_1,c_2,...,c_k
c1,c2
,..
.,ck
來最小化代價函式j
移動聚類中心(k均值演算法的第二步)其實就是最小化j關於變數μ
μμ,選擇μ1,
μ2,.
..,μ
kμ_1,μ_2,...,μ_k
μ1,μ2
,..
.,μk
值來最小化j
這一節主要講的是如何初始化k均值聚類演算法,這樣就可以使演算法避開區域性最優
首先k應該小於m
隨機挑選k個訓練樣本作為聚類中心,即設定μ
1μ_1
μ1到μ
kμ_k
μk為x
ix^i
xi到x
jx^j
xj如果隨機初始化的不好,k均值演算法可能會落到區域性最優,如下圖
為了防止落到區域性最優,我們可以進行多次初始化k均值演算法,這樣我們可以得到乙個足夠好的結果。具體做法如下:
我們執行100次(由你而定,一般是50到1000次)k均值演算法,最後得到100個聚類結果,然後在這所有100個分類資料的方法中找到代價最小的乙個
如果k在2到10之間,多次隨機初始化能保證我們找到區域性最優解,但如果k比10大很多,多次隨機初始化就不會有太大改善
目前沒有非常好的方法選取聚類數量,現在最常用的方法還是通過觀察視覺化的圖或者通過觀察聚類演算法的輸出等。
因為是無監督學習,資料沒有標籤,所有並不總是有乙個明確的答案。所以用自動化的辦法來選擇聚類的數量就很困難。
肘部法則是要改變k,如下圖我們可以看到k=3之後代價函式j下降的很慢,所以k=3是乙個拐點,看起來向人的肘部,所以我們選擇k=3。
但是肘部法則並不常用,因為實際應用時得到的曲線很模糊,並找不到明顯的肘部,如下圖。
如,我們也選擇t-恤的size,是分sml三種號呢,還是分成xs s m l xl 五種號呢?也就是k=3還是k=5. 這樣我們就可以從t恤的商業角度考慮,選擇哪種能更好的滿足顧客的需求。以此為依據來決定k值。
Andrew Ng ML 第十四章 無監督學習
圖1.無監督學習 有監督學習中,資料是有標籤的,而無監督學習中的訓練集是沒有標籤的,比如聚類演算法。k means演算法應用是十分廣泛的聚類方法,它包括兩個過程,首先是選取聚類中心,然後遍歷每乙個點,決定其屬於哪個類 第二步是移動聚類中心點,根據剛才的聚類情況將聚類中心點移動,下面三個圖很好地說明了...
吳恩達機器學習筆記 監督學習和無監督學習
1.監督學習 通過給定的資料集,進行 得到 正確的答案 並且資料集已經包括了答案。如 100平的房價100w,120平的房價120w,140平的房價140w,通過學習,我們可以 150平的房價150w左右。1.1回歸和分類 回歸指我們的 值應該是個連續輸出值 real valued output 如...
吳恩達機器學習筆記 14 無監督學習
本章講述的是第乙個無監督的機器學習演算法,在無監督的演算法中,樣本資料只有特徵向量,並沒有標註的y值。比如聚類演算法,它可以用在市場分類 社交網路分析 天體資料分析等等。在做聚類時,最簡單的演算法就是k means,一般的流程是 首先隨機選擇k個聚類中心點 遍歷所有的樣本,選擇乙個距離最近的中心點,...