優化算法
先導知識:泰勒公式
一階泰勒展開:
二階泰勒展開:
梯度下降法
注意:為何負梯度方向時是使函數值下降最快的方向,在迭代的每一步以負梯度方向更新x的值:
擬牛頓法
二階泰勒:
函數有極小值的必要條件是在極值點處一階導數為0,即梯度向量為0.
可知:
令\(\nabla f(x)=0\),則
令\(p_k=-H^{-1}_kg_k\),即\(H_kp_k=-g_k\)
整理下上述思路:\(f(x)\)展開為二階泰勒->函數極小值必要條件->\(\nabla f(x)=0\)->求得搜索方向\(p_k=-H^{-1}_kg_k\)
求得了搜索方向,就可以類似於梯度下降法迭代\(x\)的值。也就是\(x^{(k+1)}=x^k+p_k\)。
注意到搜索方向\(p_k=-H^{-1}_kg_k\),求解公式中存在矩陣的逆,矩陣的逆一般難求,需要考慮用一個\(n\)階矩陣\(G_k=G(x^{(k)})\)近似代替\(H_k^{-1}=H^{-1}(x^{(k)})\)。這就是所謂的“擬”牛頓法
首先看要近似的海塞矩陣\(H_k\)要滿足的條件。對\(\nabla f(x)=g_k+H_k(x-x^k)\)取\(x=x^{(k+1)}\),即得:\(g_{k+1}=g_k+H_k(x^{(k+1)}-x^k)\),記\(y_k=g_{k+1}-g_k,\delta_k=x^{(k+1)}-x^k\),則:
這就是海塞矩陣要滿足的條件。也就是\(H^{-1}_ky_k=\delta_k\)。根據這個條件,近似的算法有兩種,也就是"DFP"算法和"BFGS"算法,以及推廣的"Broyden"算法。參見《統計學習方法》-李航-p222~224
拉格朗日對偶性
約束最優化問題中,由於原始問題難求等原因,需要利用拉格朗日對偶性將原始問題轉化為對偶問題,通過求解對偶問題而求得原始問題的解。
約束最優化問題:
其轉化而得的對偶問題:廣義拉格朗日函數極大極小問題
KTT條件:對偶問題和原問題能夠相互轉化的充要條件
假設函數\(f(x)\)和\(c_i(x)\)是凸函數,\(h_j(x)\)是仿射函數,並且不等式約束\(c_i(x)\)是嚴格可行的,則\(x^*\)和\(\alpha ^*,\beta ^*\)分別是原始問題和對偶問題的解的充要條件是\(x^ *\),\(\alpha^*\),\(\beta ^*\)滿足KTT條件:
李航-《統計學習方法》-p218~p228
最大似然函數和最小損失函數
當然你也可以叫它”最大似然函數和最小二乘估計“,兩者殊途同歸,都是意在擬合數據
最小二乘估計
模型最合理的參數估計量應該使得模型最好的擬合樣本數據,要求估計值和觀測值之差的平方最小。
定義:
其中,\(Q\)為誤差,\(y\)為觀測值,\(y'\)為估計值,\(y'=\beta_0+\beta_1x\)
矩陣表示:
最優解為:
其中,估計值\(Y'=||A\beta||\)。關於求解方法參見:最小二乘法解的矩陣形式推導.若A非滿秩,常常采用求偽逆的方法或者嶺回歸等方法解決。求偽逆,參見周志華-《機器學習》-p402~p403(A.3奇異值分解)
最大似然函數
模型最合理的參數估計量應該使得觀測樣本出現的概率最大。
定義:聯合概率密度函數\(p(D|\theta)\)稱為相對於\({x_1,x_2,...,x_N}\)關於\(\theta\)的似然函數
其中,\(\theta\)為待估計參數。
與最小二乘法不同不需要確定概率分布函數不同,最大似然函數需要”已知“這個概率分布函數。事實上,若假設滿足正態分布函數,最大似然函數和最小二乘估計是等價的。參見:最大似然估計和最小二乘估計的區別與聯系。最小二乘法以估計值和觀測值的差平方和為損失函數,最大似然函數則是以最大化似然概率函數為目標函數。
交叉熵
交叉熵衡量的是兩個分布\(p\)、\(q\)之間的相似性。
定義:
其中\(H(p,q)\)即為交叉熵。事實上,交叉熵是由KL散度(亦稱相對熵)而來,KL散度:
展開便得:
在機器學習中,常常需要評估觀測值和估計值之間的差距,由於KL散度能夠度量兩個概率分布之間的差距,可以最小化KL散度實現“學習”的目的。又由於\(H(P)\)為固定值,所以通常直接最小化交叉熵\(H(P,Q)\),參見周志華-《機器學習》-p414~p415(C.3KL散度)
在分類問題中,交叉熵的本質就是似然函數的最大化。參見:最大似然損失和交叉熵損失函數的聯系
關於為何邏輯logistic回歸采用交叉熵(似然函數)而非最小二乘作損失函數,可能有兩個原因:1.交叉熵常常用於分類,而最小二乘常常用於回歸;2.計算便利
邏輯回歸
先導知識:
指數族分布
若某概率滿足
其中\(\eta\)是自然參數,\(T(y)\)是充分統計量,\(exp(-a(\eta))\)起到歸一化作用。確定\(T,a,b\),就可以確定參數為\(\eta\)的指數族分布。高斯分布、伯努利分布、多項分布、泊松分布等都是指數族分布的特定形式。
伯努利分布:
對照上述指數族分布定義,則:
常見的概率分布參見:周志華-《機器學習》-p409~p413(C概率分布)
邏輯回歸
考慮二分類問題,\(y\in\{0,1\}\),因為是二分類問題,可以很自然的想到選擇\(p(y|x;\theta)\)~\(Bernouli (\phi)\),即服從伯努利分布。那么,
其中,\(h_\theta(x)=E(y|x;\theta)=\phi\)是伯努利分布的性質(其數學期望等於每次實驗成功的概率\(\phi\)),\(\phi=\frac{1}{1+e^{-\eta}}\)是伯努利分布為指數族分布時的結論(見\(\eta=log\frac{\phi}{1-\phi}\)后面推導過程)
定義:
目標函數推導:
其中,\(h_\theta(x)\)表示類別為1的概率。
結合起來
取對數似然函數:
優化損失函數:
使用梯度下降法等優化算法優化即可。
注意此處的損失函數和交叉熵定義:\(H(p,q)=-\sum_{i=1}^np(x_i)log(q(x_i))\)
列出其它常見的損失函數
-
0-1損失函數
\[L(y,f(x))= \begin{equation} \left \{ \begin{array}{lr} 1\quad y\neq f(x)\\ 0\quad y=f(x) \end{array} \right . \end{equation} \] -
平方損失函數
\[L(y,f(x))=(y-f(x))^2 \] -
絕對值損失函數
\[L(y,f(x))=|y-f(x)| \] -
對數損失函數
\[L(y,p(y|x))=-log\ p(y|x) \]
支持向量機
先導知識:
點到直線距離公式
假設點X被正確分類。當X屬於正類時,\(wx+b>0\),此時點X在直線上方。當X屬於負類時,\(wx+b<0\),此時點X在直線下方。
幾何間隔最大化
這也即是,學習超平面參數\(w\),使得當所有點到超平面的距離都大於某個數\(\gamma\):
時,最大化這個數\(\gamma\)。乘以\(y_i\)的目的在於當\(y_i\in\{+1,-1\}\)時,無論\(wx_i+b\)得到的結果無論正負,只要分類結果正確,保持\(y_i(wx_i+b)\)為正。
可以改寫為,令函數間隔\(\hat{\gamma}=y_i(wx_i+b)\),得\(\gamma=\frac{\hat{\gamma}}{||w||}\),則
由於有分母\(||w||\)有規范化作用,函數間隔\(\hat{\gamma}\)的取值並不影響最優化問題的解,令\(\hat{\gamma}=1\)翻轉分子分母,變最大化問題為最小化問題:
線性可分支持向量機
硬間隔最大化
定義:
求得最優解\(w^*,b^*\)。代入之后就可以求得分離超平面:\(w^*x+b^*=0\);分類決策函數:\(f(x)=sign(w^*x+b^*)\)
線性支持向量機
軟間隔最大化:正則化,引入松弛變量\(\xi_i\geq0\),約束條件變為\(y_i(wx_i+b)\geq 1-\xi_i\);並且對每個松弛變量\(\xi_i\),支付一個代價\(\xi_i\),目標函數變為\(\frac{1}{2}||w||^2+C\sum_{i=0}^{N}\xi_i\),其中\(C\)為正則化參數。這樣使得\(\frac{1}{2}||w||^2\)盡量小,即間隔最大而且誤分類點個數盡可能少。
定義:
\(\xi_i\geq 0\)原因:1)\(\xi_i\geq 0\)意為允許誤分點,\(\xi>0\)意為允許誤分點,\(\xi<0\)在分隔界面后側無意義。2)目標是\(\mathop{min}_{w,b,\xi}\),若允許\(\xi<0\)則會使目標式使\(\xi\to-\infty\),錯誤
原始最優化算法的拉格朗日函數:
其中,\(W,b\)為超平面的參數,\(\alpha,\xi\)為拉格朗日乘子(\(\alpha_i>0,\xi>0\),兩個條件,兩個拉格朗日乘子)
對偶問題是拉格朗日的極大極小問題
首先求\(L(w,b,\xi,\alpha,\mu)\)對\(w,b,\xi\)的極小。
求得:
代入\(L(w,b,\xi,\alpha,\mu)\)得
在(1)中,由於\(\sum_{i=1}^N\alpha_iy_i=0\),則\(\sum_{i=1}^N(\alpha_iy_i(wx_i+b))=0\)
在(2)中,由於\(C-\alpha_i-\mu_i=0\),則\((C-\alpha_i-\mu_i)\sum_{i=1}^{N}\xi_i=0\)
得對偶問題:
\((1),(2),(3)\)可得:\(0\leq\alpha_i\leq C\)
也即是:
這就是線性支持向量機的對偶問題。
有對偶問題據說易求得最優解\(\alpha^*=(\alpha_1^*,\alpha_2^*,...,\alpha_N^*)\),從而求得原始問題中\(w^*=\sum_{i=1}^N\alpha_i^*y_ix_i\),選擇\(\alpha^*\)中一個適合條件\(0<\alpha_j^*<C\)分量\(\alpha_j^*\),可得原始問題中的\(b^*=y_j-\sum_{i=1}^Ny_i\alpha_i^*(x_ix_j)\)。然后代入即得分離超平面:
分類決策函數:
非線性支持向量機和核函數
舉例而言,
此為非線性問題,使用\(z=\phi(x)=(x^{(1)},x^{(2)})\)映射可得
轉化為了線性問題。
從輸入空間x到特征空間的映射\(\phi(x)\): \(x\)->\(H\)
線性支持向量機只涉及輸入實例與實例之間的內積,且映射函數\(\phi(x)\)不易求
核函數\(K(x,z)=\phi(x)·\phi(z),\quad x,z\in X\)
將輸入空間的內積\(x_i·x_j\)轉化為特征空間的內積\(\phi(x_i)·\phi(x_j)=K(x,z)\),此時當映射函數是非線性函數時,就可以在線性SVM中學習非線性模型了。
函數\(K(x,z)\)為核函數的條件
通常的核函數就是正定核函數。
正定核的充要條件:
\(K(x,z)\)是定義在\(X*X->R\)上的對稱函數,則\(K(x,z)\)為正定核函數的充要條件:
\(K(x,z)\)對應的Gram矩陣:
此矩陣半正定
常用核函數
-
多項式核函數:\(K(x,z)=(x·z+1)^p\)
對應的分類決策函數為:\(f(x)=sign(\sum_{i=1}^{N_c}a_i^*y_i(x_i·x+1)^p+b^*)\)
-
高斯核函數:\(K(x,z)=exp(-\frac{||x-z||^2}{2\sigma^2})\)
對應的分類決策函數:\(f(x)=sign(\sum_{i=1}^{N_c}a_i^*y_iexp(-\frac{||x-z||^2}{2\sigma^2})+b^*)\)
此處參見李航-《統計學習方法》-p122~p123
高效實現支持向量機“學習”的算法:SMO序列最小最優化算法
SMO求解如下凸二次規划的對偶問題:
變量是拉格朗日乘子\(\alpha\),一個變量\(\alpha_i\)對應於一個樣本點\((x_i,x_j)\)。變量總量等於訓練樣本容量\(N\).
啟發式算法:
- 若所有變量符合KTT條件,則該問題可由KTT求得(KTT條件是該最優化問題的充要條件)
- 否則,選擇2個變量(1個最不符合KTT,另1個自動確定)構造新的二次規划問題求解。
李航-《統計學習方法》-p95
KMeans
一種聚類算法
算法流程:
總結下來就兩步:1)樣本划歸簇標記;2)更新均值向量
KMeans算法優缺點
優點:
- 原理簡單,超參就一個聚類簇數K
- 速度快
缺點:
- K值需要事先確定
- 對初始均值向量敏感
- 對離群點敏感
- 不斷對每一個樣本分類調整,不斷調整聚類中心,當數據量大時,時間開銷大
- 沒有先驗知識。比如不能加入先驗:cluster A: 500; cluster B: 1000
- 不能發現非凸形狀的簇
決策樹
生成:
-
假設:
- 當前節點包含的樣本均屬於同一個類別
- 當前節點包含的樣本集合為空
- 當前屬性集為空,或者所有樣本在所有屬性上取值相同
標注該節點為葉節點,返回
-
否則:
- 在每個節點上,根據特征選擇規則(信息增益ID3,增益率C4.5,基尼指數CART等)選擇屬性,分裂節點,直到無法分裂
常見的特征選擇規則:
先導知識:
信息熵\(Ent(D)=-\sum_{k=1}^{|y|}p_klog\ p_k\)。 \(p_k\): 當前樣本集合中第k類樣本所占比例。
\(Ent(D)\)的值越小,則\(D\)的純度越高。
多說一句,這和交叉熵定義很像。交叉熵:\(H(p,q)=-\sum_{i=1}^np(x_i)log(q(x_i))\)
-
信息增益\(Gain(D,a)=Ent(D)-\sum_{v=1}^{V}\frac{D^v}{D}Ent(D^v)\)
特征a上的信息增益,選擇較大的特征分裂
-
增益率\(Gain\_ratio(D,a)=\frac{Grain(D,a)}{IV(a)}\)
其中,\(IV(a)=-\sum_{v=1}^{V}\frac{D^v}{D}log_2\frac{D^v}{D}\)稱為特征a的“固有值”。
特征a上的增益率,選擇較大的特征分裂
-
基尼值\(Gini(D)=\sum_{k=1}^{|y|}\sum_{k'\neq k}p_k p_{k'}=1-\sum_{k=1}^{|y|}p_k^2\)
\(Gini(D)\)反映了從數據集D中隨機抽取兩個樣本,其類別標記不一致的概率。\(Gini(D)\)越小,數據集\(D\)的純度越高。
特征a的基尼指數定義為:\(Gini\_index(D,a)=\sum_{v=1}^V\frac{|D^v|}{|D|}Gini(D^v)\)
選擇划分后使得,基尼指數最小的特征
集成算法
boosting:將弱學習器提升為強學習器。典型代表:AdaBoost、GBDT等,GBDT將在下面單獨介紹
先從初始訓練集訓練出一個基學習器,根據基學習器的表現對訓練樣本分布進行調整,使之前錯誤分類的樣本獲得更多的“關注”,基於調整后的樣本分布訓練下一個基分類器,如此重復,再將T個基分類器加權結合。
AdaBoost
輸入:訓練數據集\(T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\}\);弱學習算法
輸出:最終分類器\(G(x)\)
-
初始化訓練數據的權值分布:
\[D_1=(w_{11},w_{12},...,w_{1N}),\quad w_{1j}=\frac{1}{N},i=1,2,...,N \] -
對\(m=1,2,...,M\)(訓練組合M個弱分類器):
1)使用帶權值分布的\(D_m\)的訓練數據集學習,得到基分類器\(G_m(x):x\to\{-1,+1\}\)
2)計算\(G_m(x)\)在訓練數據集上的分類誤差率
\[e_m=\sum_{i=1}^{N}p(G_m(x_i)\neq y_i)=\sum_{i=1}^{N}w_{m_i}I(G_m(x_i)\neq y_i) \]3)計算\(G_m(x)\)的系數
\[\alpha_m=\frac{1}{2}log \frac{1-e_m}{e_m} \]4)更新訓練數據集的權值分布
\[D_{m+1}=(w_{({m+1},1)},w_{({m+1},2)},...,w_{({m+1},N)})\\ w_{(m+1,i)}=\frac{w_{(m,i)}}{Z_m}exp(-\alpha_m y_iG_m(x_i)),\quad i=1,2,...,N \]其中\(Z_m\)為規范化系數,\(Z_m=\sum_{i=1}^{N}w_{m_i}exp(-\alpha _my_iG_m(x_i))\)
-
構建基本分類器的線性分類器:\(f(x)=\sum_{m=1}^M\alpha_mG_m(x)\)
最終分類器:
\[G(x)=sign(f(x))=sign(\sum_{m=1}^M\alpha_mG_m(x)) \]
簡而言之,求兩個參數:訓練數據的權重\(D_m\)和基分類器\(G_m(x)\)的系數\(\alpha_m\)
AdaBoost算法是加法模型,損失函數是指數函數,學習算法是前向分布算法時的二分類學習方法
參見李航-《統計學習方法》-p138~p142
bagging:隨機森林即是bagging的一種擴展變體。
從原始數據集中采取有放回抽樣,構造“采樣集”,采樣集\(D'\)的數據量是和原始數據集\(D'\)相同的。可采樣出T個含m個訓練樣本的采樣集,然后基於每個采樣集訓練出一個基學習器,再將基學習器結合。
顯然有一部分樣本會在采樣集\(D'\)中出現多次,而另一部分樣本始終不出現,樣本在\(m\)次采樣中始終不被采樣到的概率為:
隨機森林
隨機性:
1)基決策樹的訓練數據集由bagging產生。
2)待選屬性集隨機產生。待選屬性集由節點的屬性集合中隨機選擇的\(k\)個屬性組成,\(k=log_2 d\),d為節點屬性集合的大小
對於提升算法而言,基分類器\(f\)常采用回歸樹和邏輯回歸。樹模型有以下優缺點。
- 優點
- 可解釋性強
- 具有伸縮不變性,不必歸一化特征
- 對異常點魯棒
- 缺點
- 缺乏平滑性。回歸預測時,輸出值只能輸出有限的若干個數值
- 不適合處理高維度稀疏數據
gbdt和xgboost區別:
- gbdt在函數空間中采用梯度下降法進行優化
- xgboost在函數空間中利用牛頓法進行優化
梯度提升決策樹
梯度提升決策樹(Gradient Boosting Decision Tree, GBDT)
梯度提升算法利用梯度下降法的近似方法,其關鍵是利用損失函數的負梯度在當前模型的值,也就是
作為提升樹算法中的殘差的近似值,擬合一個回歸樹
模型F定義(加法模型):
其中\(x\)為輸入樣本,\(h\)是分類回歸樹,\(w\)是分類回歸樹的權重,\(\alpha\)是每棵樹的權重
目標:最小化損失函數
迭代求局部最優解
梯度提升決策樹算法流程
輸入:\((x_i,y_i),T\)
- 初始化\(f_0\)
- \(for\ t=1\ to\ T\ do\)
- 計算損失函數的負梯度,作為殘差的近似值:\(\tilde{y_i}=-\left[ \frac{\partial L(y,F(x_i))}{\partial F(x_i)} \right]_{F(x)=F_{t-1}(x)}\),其中\(i=1,2,...,N\)
- 學習第\(t\)棵樹:\(w^*=\mathop{argmin}_w\sum_{i=1}^{N}(\tilde{y_i}-h_t(x_i;w))\)
- line search 尋找步長:\(\rho^*=\mathop{argmin}_{\rho}\sum_{i=1}^NL(y_i,F_{t-1}(x_i)+\rho h_t(x_i;w^*))\)
- 令\(f_t=\rho^*h_t(x;w^*)\),更新模型
- 輸出\(F_t\)
稍微總結一下上兩節(集成算法和梯度提升決策樹)的內容,實際上述兩節是一起的,但是內容過多而且非常重要,所以拆成了兩節。首先說了兩種最重要的集成算法,boosting和bagging。boosting算法的代表有AdaBoost、梯度提升樹,有名的工具包如XGBoost, LightGBM等,而bagging算法的代表有隨機森林。實際上集成算法還包括stacking和blending等,stacking也是比較常用的集成算法,可參見:詳解stacking過程、集成學習中的 stacking 以及python實現。實際上,單是一個詳解的boosting算法的篇幅都不止如此,況且並無能力指點江山。這里有篇關於XGBoost比較好的解釋並且回答中包含了一個PPT,可以下載下來仔細看看:wepon-機器學習算法中 GBDT 和 XGBOOST 的區別有哪些?
再次強調,這部分非常重要,篇幅不夠只是因為理解不深,不敢亂寫而已:)
大文件排序
大文件,文件大小遠大於內存大小,文件為若干數字,要求對這些數字排序
外部排序:內存極少情況下,利用分治策略,利用外存保存中間結果,再用多路歸並排序
具體步驟:
1)將大文件根據實際內存大小,分割為合理大小的小文件
2)對每個小文件利用內部排序進行排序
3)每次利用勝者樹拿到各個小文件的最小值,從而得到全局最小值,每次將全局最小值寫入最終的結果大文件
總而言之,分治和合並的過程。
勝者樹和敗者樹可以在\(log(n)\)的時間內找到最值。勝者樹的葉節點存儲實際數字,非葉節點存儲“勝者”下標。參見:勝者樹與敗者樹
Word2Vec
模型無法直接處理文字,需要轉化為實數向量的形式。將word映射到一個新的空間中,並以多維的連續實數空間向量進行表示,叫做word representation
,或者word embedding
。word embedding
目前可以划分為兩種方法。一是稀疏表示,如詞袋等。二是非稀疏表示,如Word2Vec。Word2Vec在轉化后的向量維度大幅降低,且能“保持詞語語義”。舉例而言,希望將"queen"轉化為向量形式,使用one-hot表示,可能需要10000維向量,而使用Word2Vec表示,可能只要20維向量;Word2Vec還能保持詞語的含義,兩個詞轉化后的向量距離越小,其詞義越相近。
先導知識:
1)稀疏表示的代表:詞袋(one-hot)
假設對於一個文本,將其僅僅看作是一個詞集合,而忽略其詞序和語法
假設通過語料庫訓練得到了一個詞典:{'hello','world','my'}
則
這是一個很簡單的例子,通過語料庫訓練到的詞典有可能含有10000個詞語,這是很常見的:),那么每個詞語轉化后的向量維數都為10000維
2)n-gram
n-gram是一種統計語言模型。根據前\(n-1\)個item預測第\(n\)個item,這些item可以是音素(語言識別應用),字符(輸入法應用),詞(分詞應用)。一般可以從大規模文本或者語料庫中生成n-gram模型。
從字符層級上看,給定一串字符,如for ex_,n-gram可以用來預測下一個可能的字符
-
假設T是由詞序列\(A_1,A_2,....A_n\)組成,則
\[p(T)=p(A_1,A_2,...,A_n)=p(A_1)p(A_2|A_1)p(A_3|A_1,A_2)...p(A_n|A_1,A_2,...,A_{(n-1)}) \] -
其實就是馬爾科夫假設:一個item出現的概率只與前m個item有關
Word2Vec
-
分為兩種語言模型:CBOW和Skip-gram
-
CBOW根據上下文的詞語預測當前詞語出現概率
-
最大化對數似然函數\(L=\sum _{w\in c}log\ P(w|context(w))\)
-
輸入層是上下文的詞向量(詞向量是CBOW的參數,實際上是CBOW的副產物)
-
投影層是簡單的向量加法
-
輸出層是輸出最可能的w。由於詞料庫中詞匯量是固定的|c|個,可以將其看作是多分類問題。最后一層是Hierarchical softmax:
\[p(w|context(w))=\prod_{j=2}^{l^w}p(d_j^w|x_w,\theta_{j-1}^w) \]從根節點到葉節點經過了\(l^{w}-1\)個節點,編碼從下標2開始(根節點無編碼),對應的參數向量下標從1開始。
-
-
skip-gram 已知當前詞語,預測上下文
-
與CBOW不同之處在於:
- 輸入層不再是多個詞向量,而是一個詞向量
- 投影層實際什么都沒干,直接將輸入層的詞向量傳遞給輸出層
-
模型:
\[p(context(w)|w)= \prod_{w \in context(w)}p(u|w) \] -
這是一個詞袋模型,所以每個u都是無序,相互獨立的
Doc2Vec
-
與Word2Vec唯一不同之處在於,串聯起word vector在上下文中預測下一個單詞。
上下文是固定長度且在段落中sliding window中采樣,段落向量在一段中共享在同一段中產生的所有窗口,但是不同段間不共享。
Connect
Email: cncmn@sina.cn
GitHub: cnlinxi@github
后記
這本是開學初整理的一份筆記,是當時感興趣的點寫寫記記而成。本文只是介紹了機器學習領域非常小的一部分,權當管中窺豹。實際上這篇又是拾人牙慧,我盡可能在記得的地方加以引用,但難免疏漏,還請告知以補上引用。以及這里面肯定夾帶了我的私貨,如有錯誤,還請斧正。
周志華-《機器學習》
李航-《統計學習方法》