一些演算法的彙總

2021-10-04 09:46:04 字數 1221 閱讀 7165

一、k-means演算法

原理:k-means演算法的思想很簡單,對於給定的樣本集,按照樣本之間的距離大小,將樣本集劃分為k個簇。讓簇內的點盡量緊密的連在一起,而讓簇間的距離盡量的大。

演算法:輸入是樣本集,聚類的簇樹k,最大迭代次數n

輸出是簇劃分 

1) 從資料集d中隨機選擇k個樣本作為初始的k個質心向量:

2)對於n=1,2,…,n

a) 將簇劃分c初始化為

b) 對於i=1,2…m,計算樣本和各個質心向量的距離:,將標記最小的為所對應的類別。此時更新

c) 對於j=1,2,…,k,對中所有的樣本點重新計算新的質心

e) 如果所有的k個質心向量都沒有發生變化,則轉到步驟3)

3) 輸出簇劃分

優點:1、原理比較簡單,實現也是很容易,收斂速度快。

2、聚類效果較優。

3、主要需要調參的引數僅僅是簇數k。

缺點:1、對於不是凸的資料集比較難收斂

2、對噪音和異常點比較的敏感

3、k值的選取不好把握

參考部落格

二、svr演算法

原理:使到超平面最遠的樣本點的「距離」最小。

三、pca演算法

原理:資料從原來的座標系轉換到新的座標系。轉換座標系時,以方差最大的方向作為座標軸方向,因為資料的最大方差給出了資料的最重要的資訊。

演算法:輸入:訓練樣本集 $ d =,x,…,x^} ,低維空間維數,低維空間維數 d』 $ ;

過程:.

1:對所有樣本進行中心化(去均值操作): x(i)j←x(i)j−1m∑mi=1x(i)jxj(i)←xj(i)−1m∑i=1mxj(i) ;

2:計算樣本的協方差矩陣 xxtxxt ;

3:對協方差矩陣 xxtxxt 做特徵值分解 ;

4:取最大的 d′d′個特徵值所對應的特徵向量 w1,w2,…,wd′w1,w2,…,wd′

5:將原樣本矩陣與投影矩陣相乘: x⋅wx⋅w即為降維後資料集 x′x′ 。其中 xx 為 m×nm×n維, w=[w1,w2,…,wd′]w=[w1,w2,…,wd′]為 n×d′n×d′ 維。

6:輸出:降維後的資料集 x′

優點:使得資料更易使用,並且可以去除資料中的雜訊,使得其他機器學習任務更加精確。

缺點:資料維度降低並不代表特徵的減少,因為降維仍舊保留了較大的資訊量,對結果過擬合問題並沒有幫助。不能將降維演算法當做解決過擬合問題方法。如果原始資料特徵維度並不是很大,也並不需要進行降維。

參考部落格

關於內錶資料彙總的一些演算法

1.把某個字段相同行的數值型資料字段彙總 如 初始資料 fld1 fld2 fld3aa 1ab2 ba3處理後資料 fld1 fld2 fld3aa 3ba3 其中 fld1,fld2 為字元型,fld3 為數值型。要求 現在我們的要求是 把 fld1 相同的行的 fld3彙總到最前面那行 如果要...

Vector的一些用法彙總

在c 中,vector是乙個十分有用的容器,下面對這個容器做一下總結。1 基本操作 1 標頭檔案 include.2 建立vector物件,vectorvec 3 尾部插入數字 vec.push back a 4 使用下標訪問元素,cout 5 使用迭代器訪問元素.vector iterator i...

一些看過的部落格彙總

關於android studio打包發布,以及android簽名的獲取 android簽名詳解 debug和release 怎麼退出 git bash vim編輯器 adb操作命令詳解及大全 android非同步任務asynctask android intentservice完全解析 當servi...