機器學習演算法筆記(一)

2021-08-25 13:55:57 字數 2383 閱讀 8584

(1)容斥原理

a. 容斥原理是組合數學方法,可以求解集合、復合事件的概率等。

b. 計算幾個集合並集的大小,先計算出所有單個集合的大小,減去所有兩個集合相交的部分,加上三個集合相交的部分,再減去四個集合相交的部分,以此類推,一直計算到所有集合相交的部分。

c. 概率論:

事件ai(i=1,...,n),p(ai)為對應事件發生的概率。至少乙個事件發生的概率:

**:(2)基於物品的協同過濾演算法

基於物品的協同過濾演算法主要分為兩步:

a. 計算物品之間的相似度

此時可以建立物品相似度矩陣c,在得到物品之間的相似度後,進入第二步。

b. 根據物品的相似度和使用者的歷史行為給使用者生成推薦列表

itemcf通過如下公式計算使用者u對乙個物品j的興趣

參考:(3)梯度下降法的另乙個理解

a. 在機器學習任務中,需要最小化損失函式l(θ),其中θ是要求解的模型引數。梯度下降法常用來求解這種無約束最優化問題,是一種迭代方法:選取初值θ',不斷迭代,更新θ的值,進行損失函式的極小化 。

b. 迭代公式:

c. 將

要使得(4)xgboost針對傳統gbdt改進的地方

a. 誤差函式引入二階泰勒展開

b. 正則化項加入數的個數和節點權值的計算

c. 使用優化後的結構分數作為新的目標函式,求解最優化的節點的引數

d. 利用貪心法計算**前後的增益(即新的目標函式),選取增益大的進行分割。

e. 近似演算法進行樹的節點**,對於每個特徵,只考察分位點,減少計算量。(實際上是二階導數值作為權重?)

f. 缺失值自動學習出**的方向

g. 借鑑隨機森林列抽樣,支援行抽樣、縮減、支援自定義損失函式h. 特徵預排序,以column block的結構存在記憶體中 加速了splid finding的過程,只需要在建樹前排序一次,後面的節點**時直接根據索引得到梯度資訊

i. 支援並行。xgboost的並行是在特徵粒度上的。我們知道,決策樹的學習最耗時的乙個步驟就是對特徵的值進行排序(因為要確定最佳分割點),xgboost在訓練之前,預先對資料進行了排序,然後儲存為block結構,後面的迭代中重複地使用這個結構,大大減小計算量。這個block結構也使得並行成為了可能,在進行節點的**時,需要計算每個特徵的增益,最終選增益最大的那個特徵去做**,那麼各個特徵的增益計算就可以開多執行緒進行

j. 可並行的近似直方圖演算法:把連續的浮點特徵值離散化成k個整數,同時構造乙個寬度為k的直方圖。在遍歷資料的時候,根據離散化後的值作為索引在直方圖中累計統計量,當遍歷一次資料後,直方圖累積了需要的統計量,然後根據直方圖的離散值,遍歷尋找最優的分割點

(5)lightgbm傳統xgboost改進的地方

1. 直方圖差加速。乙個葉子的直方圖可以由它的父親節點直方圖做差得到,提公升一倍速度

2. 建樹過程的兩種方法。xgboost同一層所有節點**,最後剪枝。lgb選取具有最大增益的節點**,容易過擬合,通過max_depth限制

3. 特徵並行優化。傳統的特徵並行,每個worker只有部分特徵 全域性切分需要網路通訊;lgb每個worker儲存所有資料集

4. 資料並行優化

5. 迭代加速。在每一次迭代前,利用了gbdt中樣本誤差和梯度的關係,對訓練樣本進行取樣,誤差大的保留,小的取樣乙個子集,但給乙個權重,保證資料分布不變。

6. 特徵加速。在特徵維度很大的資料上,特徵空間一般都很稀疏。降低構造特徵直方圖需要便利的特徵數量。

(6)深度學習防止過擬合的方法

1. 引數正則化:

2. 資料增強:增加訓練樣本數量是防止過擬合最直接有效的一種方法

3. 提前終止:

4. dropout:在深度神經網路訓練過程中,按照一定的概率隨機丟棄(dropout)一些神經元的啟用,提高模型的泛化能力,使模型更為魯棒

(7)機器學習中的防過擬合

1. 增大資料量:最有效的方法

2. 選擇較為簡單的模型

3. 繼承方法:bagging等

4. 正則化項的新增

5. early stopping

機器學習筆記(一) 了解機器學習

1 人工智慧是我們想要達成的目標,機器學習是想要達成目標的手段,深度學習就是機器學習的其中乙個方法。2 機器學習,根據你提供的資料尋找乙個function,如下圖,輸入一段語音知道是 how are you 輸入貓的知道是 貓 怎樣找出這個function呢?第一,要有一系列的function,即模...

機器學習筆記(一)

機器學習筆記 1,2課 一.線性回歸模型 1.數學模型 對於乙個具體的問題,x1,x2 是我們所選取的特徵,h x 是我們所建立的模型,其中有n 1個引數。我們希望所建立的數學模型可以很好的刻畫實際問題,而我們所擁有的就是訓練資料集。很自然的,我們希望數學模型可以較好的表述訓練資料集的情況。雖然對訓...

機器學習筆記(一)

統計學習三要素 模型 策略和演算法。模型分類有幾種,監督非監督,引數非引數等。監督學習又分為生成方法和判別方法。生成模型有 樸素貝葉斯和隱馬爾科夫。判別模型有 k近鄰,感知機,決策樹,邏輯回歸,em,svm,boost,crf.引數模型 引數個數固定,與訓練資料無關。非引數模型 引數個數依賴於訓練資...