(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.引數模型 引數個數固定,與訓練資料無關。非引數模型 引數個數依賴於訓練資...