




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、The algorithm of Kmeans第1頁,共34頁。主要內容:Kmeans實戰聚類算法簡介Kmeans算法詳解Kmeans算法的缺陷及若干改進 Kmeans的單機實現與分布式實現策略 第2頁,共34頁。聚類算法簡介123聚類的目標:將一組向量分成若干組,組內數據是相似的,而組間數據是有較明顯差異。與分類區別:分類與聚類最大的區別在于分類的目標事先已知,聚類也被稱為無監督機器學習聚類手段:傳統聚類算法 劃分法 層次方法 基于密度方法 基于網絡方法 基于模型方法第3頁,共34頁。什么是Kmeans算法?Q1:K是什么?A1:k是聚類算法當中類的個數。Summary:Kmeans是用均值
2、算法把數據分成K個類的算法! Q2:means是什么?A2:means是均值算法。第4頁,共34頁。Kmeans算法詳解(1)步驟一:取得k個初始初始中心點第5頁,共34頁。Kmeans算法詳解(2)Min of threedue to the EuclidDistance步驟二:把每個點劃分進相應的簇第6頁,共34頁。Kmeans算法詳解(3)Min of threedue to the EuclidDistance步驟三:重新計算中心點第7頁,共34頁。Kmeans算法詳解(4)步驟四:迭代計算中心點第8頁,共34頁。Kmeans算法詳解(5)步驟五:收斂第9頁,共34頁。Kmeans算法
3、流程從數據中隨機抽取k個點作為初始聚類的中心,由這個中心代表各個聚類計算數據中所有的點到這k個點的距離,將點歸到離其最近的聚類里調整聚類中心,即將聚類的中心移動到聚類的幾何中心(即平均值)處,也就是k-means中的mean的含義重復第2步直到聚類的中心不再移動,此時算法收斂最后kmeans算法時間、空間復雜度是:時間復雜度:上限為O(tKmn),下限為(Kmn)其中,t為迭代次數,K為簇的數目,m為記錄數,n為維數 空間復雜度:O(m+K)n),其中,K為簇的數目,m為記錄數,n為維數第10頁,共34頁。決定性因素Input & centroidsSelected kMaxIteration
4、s & ConvergenceMeassures數據的采集和抽象初始的中心選擇最大迭代次數收斂值 k值的選定 度量距離的手段factors?第11頁,共34頁。主要討論初始中心點輸入的數據及K值的選擇距離度量我們主要研究的三個方面因素。第12頁,共34頁。初始中心點的劃分討論初始中心點意義何在?下面的例子一目了然吧?初始中心點收斂后你懂的 第13頁,共34頁。如何衡量Kmeans算法的精確度?在進一步闡述初始中心點選擇之前,我們應該先確定度量kmeans的算法精確度的方法。一種度量聚類效果的標準是:SSE(Sum of Square Error,誤差平方和)SSE越小表示數據點越接近于它們的質
5、心,聚類效果也就越好。因為對誤差取了平方所以更重視那些遠離中心的點。一種可以肯定降低SSE的方法是增加簇的個數。但這違背了聚類的目標。因為聚類是在保持目標簇不變的情況下提高聚類的質量。現在思路明了了我們首先以縮小SSE為目標改進算法。第14頁,共34頁。改進的算法二分Kmeans算法為了克服k均值算法收斂于局部的問題,提出了二分k均值算法。該算法首先將所有的點作為一個簇,然后將該簇一分為二。之后選擇其中一個簇繼續劃分,選擇哪個簇進行劃分取決于對其劃分是否可以最大程度降低SSE值。偽代碼如下:將所有的點看成一個簇當簇數目小于k時對于每一個簇計算總誤差在給定的簇上面進行K均值聚類(K=2)計算將該
6、簇一分為二后的總誤差選擇使得誤差最小的那個簇進行劃分操作第15頁,共34頁。二分Kmeans算法的效果雙擊此處添加文字內容既然是改進算法就要體現改進算法的優越性。為此控制變量,在相同的實驗環境下,取相同的k值取。選取相同的的距離度量標準(歐氏距離)在相同的數據集下進行測試。第16頁,共34頁。一組實驗結果一組不好的初始點產生的Kmeans算法結果二分kmeans產生的結果要強調的是盡管只是這一組實驗不得以得出二分kmeans的優越性,但是經過大量實驗得出的結論卻是在大多數情況下二分kmeans確實優于樸素的kmeans算法。第17頁,共34頁。全局最小值二分kmeans真的能使SSE達到全局最
7、小值嗎?從前面的講解可以看到二分kmeans算法的思想有點類似于貪心思想。但是我們會發現貪心的過程中有不確定的因素比如:二分一個聚類時選取的兩個中間點是隨機的,這會對我們的策略造成影響。那么如此一來二分kmeans算法會不會達到全局最優解呢?答案是:會!盡管你可能驚詫于下面的說法,但全局最小值的定義卻是:可能的最好結果。第18頁,共34頁。K值的選擇以及壞點的剔除 討論k值、剔除壞點的意義何在?下面以一個例子來說明k值的重要性。第19頁,共34頁。為什么會出錯?上面的例子當中出錯的原因很明顯。憑直覺我們很容易知道不可能有這樣的天氣它的氣溫是100,濕度是1100%。可見壞點對kmeans的影響
8、之大。另一方面,季節有春夏秋冬之分,而我們強行的把它們分為夏冬兩個類也是不太合理的。如果分為四個類我們也許可以“中和”掉壞點的影響。究竟哪里錯了!第20頁,共34頁。帶canopy預處理的kmeans算法(1)將數據集向量化得到一個list后放入內存,選擇兩個距離閾值:T1和T2。(2)從list中任取一點P,用低計算成本方法快速計算點P與所有Canopy之間的距離(如果當前不存在Canopy,則把點P作為一個Canopy),如果點P與某個Canopy距離在T1以內,則將點P加入到這個Canopy;(3)如果點P曾經與某個Canopy的距離在T2以內,則需要把點P從list中刪除,這一步是認為
9、點P此時與這個Canopy已經夠近了,因此它不可以再做其它Canopy的中心了;(4)重復步驟2、3,直到list為空結束第21頁,共34頁。帶canopy預處理的kmeans算法的優點第22頁,共34頁。帶canopy預處理的kmeans算法的新挑戰Canopy預處理這么好,我們以后就用它好了!我看不見得,它雖然解決kmeans當中的一些問題,但其自身也引進了新的問題:t1、t2的選取。第23頁,共34頁。大數據下kmeans算法的并行策略 VS單挑OR群毆?!第24頁,共34頁。大數據下kmeans算法的并行策略 面對海量數據時,傳統的聚類算法存在著單位時間內處理量小、面對大量的數據時處理
10、時間較長、難以達到預期效果的缺陷以上算法都是假設數據都是在內存中存儲的,隨著數據集的增大,基于內存的就難以適應是一個為并行處理大量數據而設計的編程模型。 Kmeans算法都是假設數據都是在內存中存儲的,隨著數據集的增大,基于內存的就難以適應是一個為并行處理大量數據而設計的編程模型,它將工作劃分為獨立任務組成的集合。第25頁,共34頁。Map-reduce的過程簡介第26頁,共34頁。Map函數設計函數的設計框架中 函數的輸入為,對,其中:為輸入數據記錄的偏移量;為當前樣本的各維坐標值組成的向量首先計算該向量到各個聚簇中心點的距離,然后選擇最小的距離的聚簇作為該樣本所屬的簇,之后輸出,其中是距最
11、近的聚簇的標識符,為表示該樣本的向量第27頁,共34頁。Combine函數設計函數的設計函數的輸入為,對,即函數的輸出首先,從中解析出各個向量,然后將解析出的向量相加并記錄集合中向量的個數輸出是,對,其中:是聚簇的標識符;是以上集合中所有的向量相加所得的向量及集合中向量的數目第28頁,共34頁。Reduce函數設計函數的輸入是,鍵值對,其中:為聚簇的標識符;為節點處理的聚簇中含有的樣本的個數及用向量表示的聚簇的中心點輸出為,對,其中:為聚簇的標識符;為新的聚簇中心函數首先從函數的輸入中解析出屬于同一個聚簇的樣本的個數及各個節點傳過來的,然后將個數及各個相加,之后將所得到的向量除以個數得到新的中
12、心點坐標。第29頁,共34頁。一個運行結果第30頁,共34頁。一個實驗所有實驗都是在實驗室搭建的平臺上運行的平臺有 臺機器,都是四核處理器,內存版本,版本每臺機器之間用千兆以太網卡,通過交換機連接實驗所用的數據是人工數據,維度是維為了測試算法的性能,實驗中構造了分別含有104,105,106,2*106 條記錄的數據來進行測試由于算法中有隨機初始化中心點的操作,因此對每一組實驗重復執行次,取其平均執行時間作為最終實驗結果第31頁,共34頁。算法改進后的實效可以看出:基于的算法的運行效率要遠遠高于傳統的算法第32頁,共34頁。Q&A謝謝!/http:/3/m/ / / / / / / 治療癲癇病
13、醫院/dx/癲癇醫院/dx/癲癇病的治療方法/dx/治療癲癇病醫院哪家好/dx/全國癲癇醫院排名/dx/癲癇病的最新治療方法/dx/北京癲癇醫院/dx/北京癲癇病專科醫院/dx/北京癲癇病醫院/dx/bjdxbyy/北京好的癲癇病醫院/dx/bjdxbyy/北京治療癲癇病的醫院/dx/bjdxbyy/癲癇病能治好嗎/dx/dxbnzhm/治療癲癇病好辦法/dx/dxbnzhm/治療癲癇病最好的醫院/dx/dxzl/治療癲癇病最好的藥/dx/dxzl/北京治療癲癇的醫院/dx/dxzl/兒童癲癇的最新治療方法/dx/etdx/北京兒童癲癇病科醫院/dx/etdx/癲癇治療費用/dx/dxbzlf
14、y/癲癇治療多少錢/dx/dxbzlfy/癲癇病的手術費用/dx/dxbzlfy/癲癇病會遺傳嗎/dx/dxyc/癲癇遺傳嗎/dx/dxyc/癲癇病的早期癥狀/dx/dxzz/癲癇病的癥狀/dx/dxzz/癲癇癥狀/dx/dxzz/小兒癲癇病的早期癥狀/dx/dxzz/兒童癲癇病的早期癥狀/dx/dxzz/癲癇病是怎么引起的/dx/dxbyy/癲癇病的發病原因/dx/dxbyy/癲癇病能治愈嗎/dx/dxzy/癲癇病可以治愈嗎/dx/dxzy/北京治愈癲癇病最好的醫院/dx/dxzy/癲癇病人的壽命/dx/dxsm/癲癇病人的壽命多長/dx/dxsm/治療癲癇病最好的藥/dx/dxbyw/吃什
15、么藥治癲癇最有效/dx/dxbyw/癲癇藥/dx/dxbyw/第33頁,共34頁。46凡事不要說我不會或不可能,因為你根本還沒有去做!47成功不是靠夢想和希望,而是靠努力和實踐48只有在天空最暗的時候,才可以看到天上的星星49上帝說:你要什么便取什么,但是要付出相當的代價50現在站在什么地方不重要,重要的是你往什么方向移動。51寧可辛苦一陣子,不要苦一輩子52為成功找方法,不為失敗找借口53不斷反思自己的弱點,是讓自己獲得更好成功的優良習慣。54垃圾桶哲學:別人不要做的事,我揀來做!55不一定要做最大的,但要做最好的56死的方式由上帝決定,活的方式由自己決定!57成功是動詞,不是名詞!28、年
16、輕是我們拼搏的籌碼,不是供我們揮霍的資本。59、世界上最不能等待的事情就是孝敬父母。60、身體發膚,受之父母,不敢毀傷,孝之始也; 立身行道,揚名於后世,以顯父母,孝之終也。孝經61、不積跬步,無以致千里;不積小流,無以成江海。荀子勸學篇62、孩子:請高看自己一眼,你是最棒的!63、路雖遠行則將至,事雖難做則必成!64、活魚會逆水而上,死魚才會隨波逐流。65、怕苦的人苦一輩子,不怕苦的人苦一陣子。66、有價值的人不是看你能擺平多少人,而是看你能幫助多少人。67、不可能的事是想出來的,可能的事是做出來的。68、找不到路不是沒有路,路在腳下。69、幸福源自積德,福報來自行善。70、盲目的戀愛以微笑開始,以淚滴告終。71、真正值錢的是分文不用的甜甜的微笑。72、前面是堵墻,用微笑面對,就變成一座橋。73、自尊,偉大的人格力量;自愛,維護名譽的金盾。74、今天學習不努力,明天努力找工作。75、懂得回報愛,是邁向成熟的第一步。76、讀懂責任,讀懂使命,讀懂感恩方為懂事。77、不要只會吃奶,要學會吃干糧,尤其是粗茶淡飯。78、技藝創造價值,本領改變命運。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 飯店合伙策劃方案
- 解除購房合同協議書模板
- 股份合同協議書版面圖
- 維修合同補償協議書范本
- 保姆合同協議書看孩子
- 服裝創業合伙合同協議書
- 貴州汽車發動機項目可行性研究報告參考模板
- 學校蔬菜購銷合同協議書
- 砂石廠股份合同協議書
- 蝦塘出租合同協議書
- 2025屆上海市寶山區行知中學高一數學第二學期期末統考試題含解析
- 2024年農產品食品質量安全檢驗員技能及理論知識考試題庫(附含答案)
- 無人機足球團體對抗賽項目競賽規則
- 《建筑材料》教案
- 2024年山東省濟南市歷下區六年級下學期小升初招生語文試卷含答案
- DB3502-Z 5043-2018 浮筑樓板應用技術規程
- 2019年4月自考00322中國行政史試題及答案含解析
- 成都市新津區招聘教師考試試題及答案
- 小升初語文真題專項訓練專題6+文學常識與名著閱讀(有解析)
- 埃塞俄比亞 多山之國
- 電梯安全教育培訓知識
評論
0/150
提交評論