機器學習很多時候都是假設空間尋找乙個函式使得 fθ
(x):
x→y,
θ∈rn
(1) 式中x
、y分別表示輸入空間(或特徵空間)和輸出空間,rn
表示引數空間。
但是,往往我們找到的函式,在測試集上未必可以表現出好的效果,泛化能力不見得強,如果我們可以構造一系列的弱學習器,將其線性組合起來,或許可以得到很強的泛化能力。這個想法被稱作加法模型,表示如下: f(
x)=∑
m=1m
βmb(
x;γm
)(2)
式中βm
是基函式b(
x;γm
) 的係數。
給定訓練集和損失函式時,訓練過程對應的優化問題可以表示為
minf∑i
=1nl
[yi,
f(xi
)]=min(β
m,γm
)∑i=
1nl[
yi,∑
mm=1
βmb(
xi;γ
m)](3)
通常這是乙個複雜的優化問題,因為模型是加法模型,考慮分治演算法思想,將其分割為一系列的子問題去求解,將減小優化的複雜度;具體地,從前往後,每一步學習乙個基函式及其係數:
min(β,
γ)∑i
=1nl
[yi,
βb(x
;γ)]
(4)
逐步地使得
minf∑i
=1nl
(yi,
f(xi
))減小,直到最後逼近0,即達到優化目的,這便是前向分步演算法的思想。
前向傳播演算法
乙個神經元有多個輸入和乙個輸出,每個神經元的輸入既可以是其他神經元的輸出也可以是整個神經網路的輸入。所謂神經網路的結構就是指的是不同的神經元之間的連線結構。如圖所示,乙個最簡單的神經元結構的輸出就是所有輸入的加權和,而不同的輸入的權重就是神經元的引數。神經網路的優化過程就是優化神經元中引數的取值的過...
前向星和鏈式前向星
我們首先來看一下什麼是前向星.前向星是一種特殊的邊集陣列,我們把邊集陣列中的每一條邊按照起點從小到大排序,如果起點相同就按照終點從小到大排序,並記錄下以某個點為起點的所有邊在陣列中的起始位置和儲存長度,那麼前向星就構造好了.用len i 來記錄所有以i為起點的邊在陣列中的儲存長度.用head i 記...
前向星和鏈式前向星
前向星 前向星是一種特殊的邊集陣列,我們把邊集陣列中的每一條邊按照起點從小到大排序,如果起點相同就按照終點從小到大排序,並記錄下以某個點為起點的所有邊在陣列中的起始位置。鏈式前向星 鏈式前向星其實就是靜態建立的鄰接表,時間效率為o m 空間效率也為o m 遍歷效率也為o m next表示當前結點的下...