常用演算法原理

2022-02-20 01:47:09 字數 768 閱讀 2543

分類演算法

knn:

原理:當**乙個新的值x的時候,根據它鄰近的k個點的類別來判斷x屬於哪個類別,有監督學習

優點:1)模型訓練時間快;2)**效果好;3)對異常值不敏感;4)適用於多分類問題

缺點:1)對測試樣本計算大,占用記憶體較大,可解釋性差,無法給出決策樹那樣的規則

k-means:

原理:無監督學習,自動將相似的類歸到一類(最小的組內距離和最大的組間距離)

優點:1)收斂速度較快,實現容易;2)聚類效果好;3)演算法可解釋效果強

缺點:1)k值選取不好把握;2)對異常值比較敏感;3)隱藏類資料不均衡或者方差不均會導致聚類效果不佳;4)容易陷入區域性最優

logistic(邏輯回歸):

原理:主要解決二分類問題,研究某些事件發生的概率

優點:1)速度快適合二分類問題;2)可以直接看到各個特徵的權重;3)能更容易更新模型,吸收新的資料

缺點:對資料和適用場景侷限性,不如決策樹那麼靈活

決策樹:

原理:決策樹是乙個樹形結構,每個非葉節點表示乙個特徵屬性上的測試,每個分支代表這個特徵屬性在某個值上的輸出,每個葉節點存放乙個類別

演算法:id3:特徵選擇採用資訊增益,選取資訊增益最大作為最優特徵

c4.5 特徵選取資訊增益,後加剪枝的過程

隨機森林:

樸素貝葉斯:

svm(支援向量機):

xgboost:

回歸普通線性回歸:

ridge(嶺回歸):

lasso回歸:

特徵選擇

常用演算法原理及實現(Java)

比較兩個相鄰的元素,將值大的元素交換至右端。依次比較相鄰的兩個數,每一次將小數放在前面,大數放在後面。如在第一趟 首先比較第1個和第2個數,將小數放前,大數放後。然後比較第2個數和第3個數,將小數放在前,大數放在後,如此迴圈,直至比較最後兩個數,將小數放在前,大數放在後。重複第一趟步驟,直至全部排序...

幾種常用hash演算法及原理

計算理論中,沒有hash函式的說法,只有單向函式的說法。所謂的單向函式,是乙個複雜的定義,大家可以去看計算理論或者密碼學方面的資料。用 人 類 的語言描述單向函式就是 如果某個函式在給定輸入的時候,很容易計算出其結果來 而當給定結果的時候,很難計算出輸入來,這就是單項函式。各種加密函 數都可以被認為...

機器學習常用演算法原理梳理

adaboost gbdt xgboost lightgbm原理梳理與辨析 首先,這四個演算法都是整合演算法boosting框架下的。根據boosting策略不同可以分為兩大類,adaboost一類,gbdt xgboost lightgbm一類。3 gbdt 4 xgboost 5 lightgb...