機器學習實戰讀書筆記(三)

2021-08-25 17:38:33 字數 1384 閱讀 1657

從本節開始,將介紹無監督學習。今天整理了無監督學習中的k均值聚類演算法和mapreduce部分的內容。本部分是8月24號的內容。

9. k均值聚類演算法

(1)k均值聚類演算法

優點:易於實現。

缺點:可能收斂到區域性最小值,在大規模的資料集上的收斂速度慢。

適用資料型別:數值型。

可以用的誤差指標如誤差的平方和(sum of squared error,即sse)來評價演算法的效果。k值是需要事先指定的。針對於k均值中的缺陷,通過採用更有效的二分k均值的聚類演算法來改進。

演算法的工作流程:首先選擇k個初始值作為質心,然後將資料中的每一點分配到乙個簇中,即為每乙個點找到距其最近的質心,將其分配給該質心所在的簇中。其次,將每個簇的質心更新為該簇中所有點的平均值。

(2)二分k均值演算法

演算法的工作流程:首先將所有的點看做是乙個簇,然後將這個簇一分為二。之後選擇乙個簇繼續進行細分,選擇哪乙個簇進行劃分取決於對其劃分是否可以最大程度地降低sse的值(即選擇有最大誤差的簇進行劃分)。上述基於sse的劃分不斷重複,直到得到使用者指定的簇數目為止。

通過和(1)進行對比,可以發現:聚類(2)會收斂到全域性最小值,而(1)偶爾會陷入到區域性最小值。

(3)示例分析

採用二分k均值演算法將地圖上的點進行聚類。

(4)除了(1)和(2)之外,還有一種被稱為層次聚類的方法也被廣泛使用。

14. 大資料與mapreduce

主要介紹內容:(1)介紹mapreduce和hadoop,用python編寫mapreduce作業。其中,hadoop是mapreduce框架的乙個免費開源實現。    (2)使用亞馬遜的web服務實現在多台機器上執行**。

(3)用python自動執行mapreduce作業的mrjob框架,使用mrjob搭建分布式svm,以實現並行訓練分類器。

(1)mapreduce

各個階段之間不做資料交流。

資料被重複放在不同的機器上,以防某個機器失效。

2)hadoop流

參考文獻:《hadoop實戰》、官方文件( in action》。

hadoop流類似於linux中的管道(符號是|,實現將乙個命令的輸出作為另乙個命令的輸入)。

(2)在亞馬遜的web服務上執行hadoop

web服務:aws(租賃大規模計算基礎設施。

(3)mrjob框架

很多機器學習演算法不能直接用在mapreduce框架上,不過已經有大多數機器學習演算法的mapreduce實現。

svm中的platt smo演算法在mapreduce下難以實現,但有一些其它的svm實現使用了隨機梯度下降法求解(如pegasos)可以在框架下實現。

可以使用mrjob框架和python來完成mapreduce作業。

(4)沒有大資料的問題,一般用不到mapreduce和hadoop。

《機器學習實戰》讀書筆記

監督學習使用兩種型別的目標變數 之所以稱監督學習,是因為這類演算法必須知道 什麼,即目標變數的分類資訊 在無監督學習中,將資料集合分成由類似的物件組成的多個類的過程被稱為聚類 將尋找描述資料統計值的過程稱之為密度估計 是 否要 預測目標 變數的值 是 監督學習 目標變數型別 begin離散型 分類演...

《機器學習實戰》讀書筆記 1

本人開發工具為pycharm,python版本是3.5 第二章 knn 2.1 概述 k 緊鄰演算法的一般流程 收集資料 可以使用任何方法 準備資料 距離計算所需要的數值,最好是結構化的資料格式 分子資料 可以使用任何方法 訓練資料 此步驟不適應於k 緊鄰演算法 測試資料 計算錯誤率 使用演算法 首...

機器學習讀書筆記

第一章 引言介紹一些常識引入什麼是機器學習,機器學習的一些術語資料,規律,泛化,假設空間歸納偏好。1,假設空間 假設空間 監督學習的目的在於學習乙個由輸入到輸出的對映,這一對映由模型來表示。換句話說,學習的目的就在於找到最好的這樣的模型。模型屬於由輸入空間到輸出空間的對映集合,這個集合就是假設空間 ...