2012-10-31 19:57
2635人閱讀收藏
舉報
演算法學習(15)
我們在很多gradient boost相關的**及分析文章中都可以看到下面的公式:
但是,對這個公式的理解,我一直也是一知半解,最近,終於下決心對其進行了深入理解。
步驟1:可以看作優化目標的損失函式;
步驟2:代表需要學習1~m個模型;
步驟3:將前m-1個模型的組合f(x)代入損失函式l(y_i, f(x)),並對f(x)求導,求得梯度向量表示式;舉例說明,如果損失函式是
步驟4:得到梯度向量之後,我們需要的是梯度向量方向上的新的模型,該模型需與梯度方向越接近越好,故,最小二乘法派上了用場,對步驟4的表示式求導,令等於0,可求得新模型的引數a;
步驟 5:模型解出後,組合新模型之後得到的模型應該也滿足損失函式最小,因此,對組合權重求導,令等於0;
步驟 6,模型引數與模型權重引數求出之後,即得到了新模型;
步驟 7:重複m次,訓練也m個模型。
演算法基礎( 演算法)
演算法基礎 演算法 hash演算法有兩種,即sha 1和md5演算法這裡先介紹md5演算法.md5產生乙個128位的hash值,在經過一寫初始樹立後,將明文分成了512位的塊,再將每一塊分成16個32位的子塊。演算法的輸出是4個32位的塊,連線起來構成128位的hash值。首先,將訊息填充到比512...
演算法 分治演算法
分治策略主要利用遞迴來解決問題,它包括以下三個步驟 分解 將問題分解為一與原問題類似並且比原問題規模更小的子問題 解決 當分解的子問題足夠小時,直接給出答案,否則用遞迴打方式求解 合併 將子問題的解合成原問題的解 下面考慮乙個簡單的利用分治演算法的歸併排序的例子 問題的形式化描述如下 輸入 a是 乙...
演算法 遞迴演算法
遞迴演算法的概念,就是通過不斷地呼叫自身,最終達到解決問題的目的。遞迴有兩個點需要注意 1.要不斷的呼叫自身 2.這個遞迴要有出口,不能成為死迴圈 看下面的例子。很多介紹遞迴演算法的,都會用遞迴來做乙個題目 計算乙個數的階層。例如 計算5的階層,5 5 x 4 x 3 x 2 x 1 用遞迴來實現 ...