Kmeans初始類簇的選取?

2021-09-03 08:29:28 字數 2199 閱讀 5163

答:k-means++演算法選擇初始seeds的基本思想就是:初始的聚類中心之間的相互距離要盡可能的遠。

1. 從輸入的資料點集合中隨機選擇乙個點作為第乙個聚類中心

2. 對於資料集中的每乙個點x,計算它與最近聚類中心(指已選擇的聚類中心)的距離d(x)

3. 選擇乙個新的資料點作為新的聚類中心,選擇的原則是:d(x)較大的點,被選取作為聚類中心的概率較大

4. 重複2和3直到k個聚類中心被選出來

5. 利用這k個初始的聚類中心來執行標準的k-means演算法

答:你應該知道,這兩種演算法之間的根本區別是,kmeans本質上是無監督學習而knn是監督學習。kmeans是聚類演算法。knn是分類(或回歸)演算法。

kmean演算法把乙個資料集分割成簇,使得形成的簇是同構的,每個簇裡的點相互靠近。該演算法試圖維持這些簇之間有足夠的可分離性。由於無監督的性質,這些簇沒有任何標籤。knn演算法嘗試基於其k(可以是任何數目)個周圍鄰居來對未標記的觀察進行分類。它也被稱為懶惰學習法,因為它涉及最小的模型訓練。因此,它不用訓練資料對未看見的資料集進行泛化。

答:我們可以用下面的方法來處理:

1.把缺失值分成單獨的一類,這些缺失值說不定會包含一些趨勢資訊。

2.我們可以毫無顧忌地刪除它們。

3.我們可以用目標變數來檢查它們的分布,如果發現任何模式,我們將保留那些缺失值並給它們乙個新的分類,同時刪除其他缺失值。

協同過濾演算法考慮用於推薦專案的「使用者行為」。它們利用的是其他使用者的購買行為和針對商品的交易歷史記錄、評分、選擇和購買資訊。針對商品的其他使用者的行為和偏好用來推薦專案(商品)給新使用者。在這種情況下,專案(商品)的特徵是未知的。

(基於使用者的推薦行為,買了這本書的使用者也買了另一本書,則可以根據使用者之間的相似度,把另一本書推薦給相似的使用者)

答:訓練完的模型,測試樣本稍作修改就會得到差別很大的結果,就是病態問題,模型對未知資料的**能力很差,即泛化誤差大。(泛化能力很差)

答:1. 計算測試樣本和訓練樣本中每個樣本點的距離(常見的距離度量有歐式距離,馬氏距離等);

2. 對上面所有的距離值進行排序;

3. 選前 k 個最小距離的樣本;

4. 根據這 k 個樣本的標籤進行投票,得到最後的分類類別;

實際問題抽象成數學問題

這裡的抽象成數學問題,指的我們明確我們可以獲得什麼樣的資料,目標是乙個分類還是回歸或者是聚類的問題,如果都不是的話,如果劃歸為其中的某類問題(以此來確定可以用什麼演算法)

.獲取資料

獲取資料報括獲取原始資料以及從原始資料中經過特徵工程從原始資料中提取訓練、測試資料。機器學習比賽中原始資料都是直接提供的,但是實際問題需要自己獲得原始資料。「 資料決定機器學習結果的上限,而演算法只是盡可能的逼近這個上限」,可見資料在機器學習中的作用。總的來說資料要有具有「代表性」,對於分類問題,資料偏斜不能過於嚴重,不同類別的資料數量不要有數個數量級的差距。不僅如此還要對評估資料的量級,樣本數量、特徵數量,估算訓練模型對記憶體的消耗。如果資料量太大可以考慮減少訓練樣本、降維或者使用分布式機器學習系統。

特徵工程

特徵工程包括從原始資料中特徵構建、特徵提取、特徵選擇。特徵工程做的好能發揮原始資料的最大效力,往往能夠使得演算法的效果和效能得到顯著的提公升,有時能使簡單的模型的效果比複雜的模型效果好。資料探勘的大部分時間就花在特徵工程上面,是機器學習非常基礎而又必備的步驟。資料預處理、資料清洗、篩選顯著特徵、摒棄非顯著特徵等等都非常重要。

訓練模型、診斷、調優

模型診斷中至關重要的是判斷過擬合、欠擬合,常見的方法是繪製學習曲線,交叉驗證。通過增加訓練的資料量、降低模型複雜度來降低過擬合的風險,提高特徵的數量和質量、增加模型複雜來防止欠擬合。診斷後的模型需要進行進一步調優,調優後的新模型需要重新診斷,這是乙個反覆迭代不斷逼近的過程,需要不斷的嘗試,進而達到最優的狀態。

模型驗證、誤差分析

通過測試資料,驗證模型的有效性,觀察誤差樣本,分析誤差產生的原因,往往能使得我們找到提公升演算法效能的突破點。誤差分析主要是分析出誤差**與資料、特徵、演算法。

模型融合

提公升演算法的準確度主要方法是模型的前端(特徵工程、清洗、預處理、取樣)和後端的模型融合。在機器學習比賽中模型融合非常常見,基本都能使得效果有一定的提公升。

上線執行值得注意的是,以上流程只是乙個指導性的機器學習流程經驗,並不是每個專案都包含完整的流程。

KMeans K值以及初始類簇中心點的選取

給定乙個合適的類簇指標,比如平均半徑或直徑,只要我們假設的類簇的數目等於或者高於真實的類簇的數目時,該指標上公升會很緩慢,而一旦試圖得到少於真實數目的類簇時,該指標會急劇上公升。當k取值5時,類簇指標的下降趨勢最快,所以k的正確取值應該是5.確定k個初始類簇中心點 首先隨機選擇乙個點作為第乙個初始類...

kmeans聚類簇個數選擇

借助sklearn庫實現kmeans聚類和輪廓係數計算 from sklearn.cluster import kmeans from sklearn.metrics import silhouette score k range 2,20 設定主題個數區間 coef for k in k km k...

KMeans演算法的K值以及初始類簇中心點的選取

kmeans演算法是最常用的聚類演算法,主要思想是 在給定k值和k個初始類簇中心點的情況下,把每個點 亦即資料記錄 分到離其最近的類簇中心點所代表的類簇中,所有點分配完畢之後,根據乙個類簇內的所有點重新計算該類簇的中心點 取平均值 然後再迭代的進行分配點和更新類簇中心點的步驟,直至類簇中心點的變化很...