输入参数的数目不足_机器学习算法—KMEANS算法原理及阿里云PAI平台算法模块参数说明...
概述:
KMEANS算法又被成為K均值算法,是一種常用的聚類算法,由于不需要根據給定的訓練集訓練模型因此是一種無監督學習算法。其本質是根據選定的參數K將數據分類成K類,在聚類過程中從單一樣本開始通過不斷計算聚類數據的均值來作為整個類的中心進而再將距離此類別中心最近的數據納入同一類。
算法原理:
1、以下圖樣本散點圖展示數據集的整體分布情況
2、K值是KMEANS最重要的選擇參數,直接決定著數據聚類的類別數量,在選擇K值后,會在數據中隨機選擇K個數據樣本最為初始中心點,如K=3,則結果如下圖所示
3、計算和中心點距離最近的點,將其歸入同類
4、每個類別當有了兩個以上的數據時,類的中心就會發生變化,因此類中一旦有新的數據被劃入時就需要重新計算整個類的中心點,這一步的計算也是整個算法的核心,所以稱為K均值算法
5、通過幾步計算之后的結果,能夠更直觀的展示出類的聚合情況和中心點的位置情況
6、判斷聚類過程結束的標準有兩個,一是中心點的位置不再發生變化,即結果收斂;二是執行了最夠多次的迭代次數(通俗可以理解為計算了幾次中心點位置)
注意事項:
1、K值是整個算法中最重要的參數,但是也是最不好確定的參數,如果需要比較好的確定K值,需要采用其他驗證算法,如計算樣本離最近聚類中心的總和,總和越小,則聚類的效果越好;輪廓系數,輪廓系數的范圍為-1至1之間,數字越大則聚類效果越好;蘭德指數,范圍為-1至1之間,數字越大則聚類效果越好;同質化得分,如果所有的聚類都只包含屬于單個類的成員的數據點則聚類結果將滿足同質性,其取值范圍為0至1之間,值越大意味著聚類結果與真實情況越吻合。
2、以上驗證方法雖然對于確定K值有效,但是驗證過程需要額外的計算力資源,并且占用的計算力接近于聚類過程所需要的計算力資源,數據集如果較大,則計算力的消耗會產生疊加效應。
3、較為簡易的方法為,從數據集中隨機抽取部分小規模數據,以散點圖等可視化手段來觀察數據的可能聚類數量,以此來判斷K的取值。這種方法可以認為是經驗法的一種表現形式,相比經驗法的完全定性分析,隨機抽取數據觀察能夠在經驗的基礎上增加定量的分析部分,雖然隨機抽取的數據也可能有誤差,但是抽取的數據量越多,則準確度越高。
4、因為初始的中心點選擇是根據K的值隨機選擇K個點,所以選擇的隨機性加上迭代過程造成算法的結果只是局部最優解,畢竟反復的計算最短距離的點和類的中心都是在局部已經聚合的類的基礎上進行的,而不是從全局的范圍進行。
算法使用場景:
1、隱含類別的數據較為平衡的情況,如隱含類別的數據量差別較大,則聚類的效果就較差。
2、數據最好是凸數據,即隱含類別間的差異越大,則聚類效果越好,因為中心點不再變化所需要的迭代次數較少,比較容易收斂。
3、一般作為數據預處理,或者用于輔助分類貼標簽使用,因為在已經經過分類的數據上再進行聚類,準確度會非常高。
阿里云PAI平臺算法模塊及參數設置說明:
inputTableName :輸入表表名
selectedColNames:輸入表中用于訓練的列名,默認選擇所有列
inputTablePartitions:輸入表中指定哪些分區參與訓練,默認選擇所有分區
centerCount:聚類數K,是算法中最重要的參數,決定數據的聚類數量
loop:最大迭代次數,算法中非常重要的參數,當最大迭代次數到達但是仍然無法收斂時,則停止計算
accuracy:中心點計算終止條件,如果兩次迭代之間變化低于該值,算法終止,默認值0.0,值過大則會出現欠擬合情況,值較小則中心點容易在小范圍間變化造成計算結果無法收斂
distanceType:距離度量方式,euclidean(歐式距離),cosine(夾角余弦),cityblock(曼哈頓距離),默認為歐式距離
initCenterMethod:質心初始化方法,random(隨機采樣),topk(輸入表前k行),uniform(均勻分布),external(指定初始質心表),默認值為隨機采樣
initCenterTableName:初始質心表名,當質心初始化方法采用指定初始質心表方式時采用
seed:初始隨機種子數,正整數,默認值為當前時間,seed設置為固定值則每次聚類結果是穩定的
enableSparse:輸入表數據是否為稀疏格式, 默認值為非稀疏格式
itemDelimiter:當輸入表數據為稀疏格式時,kv間的分割符,默認值為空格
kvDelimiter:當輸入表數據為稀疏格式時,key和value的分割符,默認值冒號
modelName:輸出模型的模型名
idxTableName:輸出聚類結果表,和輸入表對應,并指明聚類后每條記錄所屬的類號
idxTablePartition:輸出聚類結果表的分區表名
clusterCountTableName :輸出聚類統計表,統計各個聚類包含的點的數目
centerTableName:輸出聚類中心表
coreNum:節點個數,與參數memSizePerCore配對使用,正整數,默認自動計算
memSizePerCore :單個節點內存大小,單位M,正整數,默認自動計算
lifecycle:指定輸出表的生命周期,默認沒有生命周期
阿里云雙11億元補貼提前領,進入抽取iPhone 11 Pro:https://www.aliyun.com/1111/2019/home?utm_content=g_1000083110
作者:朱祺
本文為云棲社區內容,未經允許不得轉載。
總結
以上是生活随笔為你收集整理的输入参数的数目不足_机器学习算法—KMEANS算法原理及阿里云PAI平台算法模块参数说明...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 双向链表删除节点时间复杂度_删除链表的节
- 下一篇: python 列表 随机采样_Pytho