機器學習 一些模型的認知

2021-10-09 14:38:58 字數 1219 閱讀 4011

常見的機器學習演算法

1:監督學習演算法:邏輯回歸,線性回歸,決策樹,樸素貝葉斯,k近鄰,支援向量機,整合演算法adaboost等

無監督演算法:聚類,降維,關聯規則, pagerank等

2:所謂整合學習,就是指構建多個弱分類器對資料集進行**,然後用某種策略將多個分類器**的結果整合起來,作為最終**結果。

整合學習的那兩大流派:boosting流派,各分類器之間有依賴關係,必須序列,比如adaboost、gbdt(gradient boosting decision tree)、xgboost

bagging流派,各分類器之間沒有依賴關係,可各自並行,比如隨機森林(random forest)

3:adaboost,是英文"adaptive boosting"(自適應增強),它的自適應在於:前乙個基本分類器分錯的樣本會得到加強,加權後的全體樣本再次被用來訓練下乙個基本分類器。同時,在每一輪中加入乙個新的弱分類器,直到達到某個預定的足夠小的錯誤率或達到預先指定的最大迭代次數。白話的講,就是它在訓練弱分類器之前,會給每個樣本乙個權重,訓練完了乙個分類器,就會調整樣本的權重,前乙個分類器分錯的樣本權重會加大,這樣後面再訓練分類器的時候,就會更加注重前面分錯的樣本, 然後一步一步的訓練出很多個弱分類器,最後,根據弱分類器的表現給它們加上權重,組合成乙個強大的分類器,就足可以應付整個資料集了。 這就是adaboost, 它強調自適應,不斷修改樣本權重, 不斷加入弱分類器進行boosting。

4:而gbdt訓練弱分類器關注的是殘差,也就是上乙個弱分類器的表現與完美答案之間的差距,gbdt每一次訓練分類器,都是為了減少這個差距,gbdt每一次的計算是都為了減少上一次的殘差,進而在殘差減少(負梯度)的方向上建立乙個新的模型。

5:事實上,如果不考慮工程實現、解決問題上的一些差異,xgboost與gbdt比較大的不同就是目標函式的定義,但這倆在策略上是類似的,都是聚焦殘差(更準確的說, xgboost其實是gbdt演算法在工程上的一種實現方式),gbdt旨在通過不斷加入新的樹最快速度降低殘差,而xgboost則可以人為定義損失函式(可以是最小平方差、logistic loss function、hinge loss function或者人為定義的loss function),只需要知道該loss function對引數的一階、二階導數便可以進行boosting,其進一步增大了模型的泛化能力,其貪婪法尋找新增樹的結構以及loss function中的損失函式與正則項等一系列策略也使得xgboost**更準確。

rnn:

lstm:

關於finally的一些認知

簡介 相信大家在開發中都能使用很好的處理異常,那麼避免不了和try catch finally 接觸,慢慢的發現了下面的幾個問題,開發環境是vs2010 reshaper,當你想使用 塊時,智慧型提示會提示try和tryf兩種,那麼這兩種 塊有什麼樣的區別那,還有就是c 中的return是結束當前執...

2019 一些新的認知

自我攻擊反熵增 增長飛輪 網狀進化 公升維過勢壘 what why so what 5why 第一性原理 精微 還原論 自律刻意練習 競爭取捨線 結構化思維 矩陣思維 地圖模型 從一到十,舍九取一 分形創新 單一要素最大化 第二曲線 rose 資源 目標 布局 終局 美學思維 欣賞美 創造美是一種能...

對docker一些認知

關於docker 應用容器引擎 乙個完整的docker有以下幾個部分組成 dockerclient客戶端 docker daemon守護程序 docker image映象 dockercontainer容器 docker容器為什麼可以跨平台部署 docker映象和作業系統沒關係,docker最大的價...