机器学习基本算法

百般思念 提交于 2020-03-09 14:53:30

决策树(待续)

支持向量机(SVM)

基本型

n维度空间中有N个点。假设有n维度空间中的一个n1n-1维的超平面将nn维空间分割,这个n1n-1维超平面的方程为
wTx+b=0 \bm{w}^T\bm{x}+b=0
则点x\bm{x}'到该超平面(记为(w,b)(\bm{w},b))的距离为
r(x;w,b)=wTx+bw r(\bm{x}';\bm{w},b)=\frac{|\bm{w}^T\bm{x}'+b|}{||\bm{w}||}
当这个超平面两侧刚刚好为需要区分的两类事件的时候。即对N个样本{yi,xi}, i=1,2,3,...,N, yi{1,1}\{y_i,\bm{x}_i\},~i=1,2,3,...,N,~y_i\in\{-1,1\},总有
wTxi+b<0, for yi=1wTxj+b>0, for yj=1 \bm{w}^T\bm{x}_{i}+b<0,~for~y_i=-1\\ \bm{w}^T\bm{x}_{j}+b>0,~for~y_j=1
这就是约束条件——单点对超平面的函数间隔必须大于0,即:
γ^iyi(wTxi+b)>0, i=1,2,...,N \hat{\gamma}_i\equiv y_i(\bm{w}^T\bm{x}_{i}+b)>0,~i=1,2,...,N
同时,我们可以定义该超平面对于样本集合TT的间隔为
γ^(w,b)=mini yi(wTxi+b)γ(w,b)=mini r(xi;w,b)=mini yi(wTxi+b)w=γ^(w,b)w 函数间隔:\hat{\gamma}(\bm{w},b)=min_i~y_i(\bm{w}^T\bm{x}_{i}+b)\\ 几何间隔:\gamma(\bm{w},b)=min_i~r(\bm{x}_i;\bm{w},b)=min_i~\frac{y_i(\bm{w}^T\bm{x}_{i}+b)}{||\bm{w}||}=\frac{\hat{\gamma}(\bm{w},b)}{||\bm{w}||}
分类效果最好的超平面,其对应的γ(w,b)\gamma(w,b)应当尽可能地大。所以问题最后转化为对进行最大化的优化问题
max(w,b)  γ(w,b)=mini yi(wTxi+b)ws.t.  yi(wTxi+b)wγ(w,b)max(w,b)  γ^(w,b)ws.t.  yi(wTxi+b)γ^(w,b) max_{(\bm{w},b)}~~\gamma(\bm{w},b)=min_i~\frac{y_i(\bm{w}^T\bm{x}_{i}+b)}{||\bm{w}||}\\ s.t.~~\frac{y_i(\bm{w}^T\bm{x}_{i}+b)}{||\bm{w}||}\geq\gamma(\bm{w},b)\\ \Updownarrow\\ max_{(\bm{w},b)}~~\frac{\hat{\gamma}(\bm{w},b)}{||\bm{w}||}\\ s.t.~~y_i(\bm{w}^T\bm{x}_{i}+b)\geq\hat{\gamma}(\bm{w},b)
另一方面,当我们对(w,b)(\bm{w},b)进行等比例放缩时(λw,λb)(\lambda \bm{w},\lambda b),并不会改变超平面的方程,即并不会对分类的效果产生影响。所以我们可以对每个正在被讨论的(w,b)(\bm{w},b)进行放缩,使得对集合T的函数间隔γ^\hat{\gamma}总是为1,那么最后优化的结果不会有任何改变。此时,放缩过后的优化变成
max(w,b)  1ws.t.  yi(wTxi+b)1min(w,b)  12w2s.t.  yi(wTxi+b)10 max_{(\bm{w},b)}~~\frac{1}{||\bm{w}||}\\ s.t.~~y_i(\bm{w}^T\bm{x}_{i}+b)\geq1\\ \Updownarrow\\ min_{(\bm{w},b)}~~\frac{1}{2}||\bm{w}||^2\\ s.t.~~y_i(\bm{w}^T\bm{x}_{i}+b)-1\geq0
优化结果记为(w,b)(\bm{w}^*,b^*),则最后的决策函数为
f(x)=sign(wTx+b) f(x)=sign(\bm{w}^{*T}\bm{x}+b)

对偶型


min(w,b)  12w2s.t.  yi(wTxi+b)10 min_{(\bm{w},b)}~~\frac{1}{2}||\bm{w}||^2\\ s.t.~~y_i(\bm{w}^T\bm{x}_{i}+b)-1\geq0
出发,添加拉格朗日因子αi0\alpha_i\geq0,得到拉格朗日函数
L(w,b,α)=12w2+i=1Nαi(1yi(wTxi+b)) L(\bm{w},b,\bm{\alpha})=\frac{1}{2}||\bm{w}||^2+\sum_{i=1}^N\alpha_i(1-y_i(\bm{w}^T\bm{x}_{i}+b))

 Lw=0, Lb=0w=i=1Nαiyixi, 0=i=1Nαiyi~\frac{\partial L}{\partial \bm{w}}=\bm{0},~\frac{\partial L}{\partial b}=0\Rightarrow\bm{w}=\sum_{i=1}^N\alpha_iy_i\bm{x}_i,~ 0=\sum_{i=1}^N\alpha_iy_i
L(w,b,α)L(\bm{w},b,\bm{\alpha})用上述等式做变形,消去w\bm{w}之后得到原来优化问题的对偶问题
maxα i=1Nαi12i=1,j=1N,NαiαjyiyjxiTxjs.t.     0=i=1Nαiyi, αi0 max_{\bm{\alpha}}~\sum_{i=1}^N\alpha_i-\frac{1}{2}\sum_{i=1,j=1}^{N,N}\alpha_i\alpha_jy_iy_j\bm{x}_i^T\bm{x}_j\\ s.t.~~~~~0=\sum_{i=1}^N\alpha_iy_i,~\alpha_i\geq0
求解出α\bm{\alpha}之后再求出对应的(w,b)(\bm{w},b)

非线性可分与核函数

当属性空间中不同属性的点不能用一个线性超平面分割的时候,就叫做非线性可分。此时需要将其放到更高维度的空间中,才能找到可以做分割的线性超平面。假设映射之后xϕ(x)\bm{x}\rightarrow\bm\phi(\bm{x}),于是可以将问题转化为优化
maxα i=1Nαi12i=1,j=1N,Nαiαjyiyjϕ(xi)Tϕ(xj)s.t.     0=i=1Nαiyi, αi0 max_{\bm{\alpha}}~\sum_{i=1}^N\alpha_i-\frac{1}{2}\sum_{i=1,j=1}^{N,N}\alpha_i\alpha_jy_iy_j\bm\phi(\bm{x}_i)^T\bm\phi(\bm{x}_j)\\ s.t.~~~~~0=\sum_{i=1}^N\alpha_iy_i,~\alpha_i\geq0
不过我们通常不知道什么样的ϕ(x)\bm\phi(\bm{x})形式是合适的,即使知道也可能遇到高维空间是无穷维的情况,因此计算ϕ(xi)Tϕ(xj)\bm\phi(\bm{x}_i)^T\bm\phi(\bm{x}_j)是相当困难的。为了避开这个障碍,可以设想这样一个核函数以替代对高维内积的计算,且不影响问题的解决。即:
κ(xi,xj)=<ϕ(xi),ϕ(xj)>=ϕ(xi)Tϕ(xj) \kappa(\bm{x}_i,\bm{x}_j)=<\bm\phi(\bm{x}_i),\bm\phi(\bm{x}_j)>=\bm\phi(\bm{x}_i)^T\bm\phi(\bm{x}_j)
从而,核函数的选取成为算法效能的最大变数

软间隔、正则化、损失函数

有时候,追求完美的划分超平面的代价时必须映射到足够高的空间,从而带来很多麻烦。另一种方案时,我们允许超平面不足够完美,即
min(w,b)  12w2s.t.  yi(wTxi+b)10 min_{(\bm{w},b)}~~\frac{1}{2}||\bm{w}||^2\\ s.t.~~y_i(\bm{w}^T\bm{x}_{i}+b)-1\geq0
中允许一些ii不满足约束条件——即采用软间隔。当然,我们希望不满足约束的样本尽可能少,所以原来的目标函数变成
min(w,b)  12w2+Ci=1Nlloss(yi(wTxi+b)1) min_{(\bm{w},b)}~~\frac{1}{2}||\bm{w}||^2+C\sum_{i=1}^N l_{loss}(y_i(\bm{w}^T\bm{x}_{i}+b)-1)
其中lloss(z)l_{loss}(z)就是损失函数,其形式有许多。

基本回归算法

线性回归

若y是x的函数,关系为
yi(xi;w)=wTxixi(xi0=1,xi1,xi2,...,xin)T, w(w0,w1,w2,..,wn)T y_i(\bm{x}_i;\bm{w})=\bm{w}^T\bm{x}_i\\ \bm{x}_i\equiv(x_{i0}=1,x_{i1},x_{i2},...,x_{in})^T,~\bm{w}\equiv(w_0,w_1,w_2,..,w_n)^T
当有许多组数据{yk,xk}, k=1,2,3,...N\{y_k,\bm{x}_k\},~k=1,2,3,...N时,我们可以用最小二乘法得到一个较为合适的w\bm{w},即
y^Xw^,    Xkj={1j=0xkjj0Ew^(yy^)T(yy^) \hat{y}\equiv X{\hat{\bm{w}}},~~~~X_{kj}=\left\{\begin{array}{lc}1&j=0\\x_{kj}&j\neq0 \end{array} \right.\\ E_{\hat{\bm{w}}}\equiv({y}-{\hat{y}})^T({y}-{\hat{y}})
一个好的ww应该能够使得Ew^E_{\hat{w}}最小。这就要求有
Ew^w^=02XT(Xw^y)=0 \frac{\partial E_{\hat{\bm{w}}}}{\partial \hat{\bm{w}}}=\bm{0}\\ \Downarrow\\ 2X^T(X\hat{\bm{w}}-y)=\bm{0}
XTXX^TX为满秩矩阵或者正定矩阵时,解得
w^=(XTX)1XTY \hat{\bm{w}}^*=(X^TX)^{-1}X^TY
当不是满秩的时候,我们需要根据回归偏好引入正则化。

对数几率回归(logistc regression)

有的时候我们会遇到分类问题,即yy只能等于0或者1。一个理想的例子是单位阶跃函数
y(z){0z<00.5z=01z>0 y(z)\equiv\left\{\begin{array}{lc}0&z<0\\0.5&z=0\\1&z>0 \end{array}\right.
我们可以认为其中的z=xTwz=x^Tw。我们常用Sigmoid函数做为近似的阶跃函数,即
y(z)11+ez=11+exTw y(z)\equiv\frac{1}{1+e^{-z}}=\frac{1}{1+e^{-\bm{x}^Tw}}
于是得到lny1y=xTw\ln\frac{y}{1-y}=\bm{x}^T\bm{w}
下面我们开始估计ww。首先不难看出,
y=11+exTw=exTwexTw+1,   1y=1exTw+1 y=\frac{1}{1+e^{-\bm{x}^T\bm{w}}}=\frac{e^{\bm{x}^T\bm{w}}}{e^{\bm{x}^T\bm{w}}+1},~~~1-y=\frac{1}{e^{\bm{x}^T\bm{w}}+1}
我们可以认为y代表x为标记的样本为正例的后验概率,(1-y)为x标记的样本为反例的概率。即
p(y=1x)=exTwexTw+1p(y=0x)=1exTw+1 p(y=1|x)=\frac{e^{\bm{x}^T\bm{w}}}{e^{\bm{x}^T\bm{w}}+1}\\ p(y=0|x)=\frac{1}{e^{\bm{x}^T\bm{w}}+1}

对于数据{yk,xk0=1,xk1,xk2,xk3,...}, k=1,2,...,N\{y_k,x_{k0}=1,x_{k1},x_{k2},x_{k3},...\},~k=1,2,...,N我们可以构造一个“对数似然函数”(loglikelihood)
l(w^)i=1Nlnp(yixi;w^) l(\hat{w})\equiv\sum_{i=1}^N\ln p(y_i|\bm{x}_i;\hat{\bm{w}})
显然,每个样本属于它们自己真实的正反例的概率之和越大越好。所以求ww的过程就是最大化上面函数的过程。考虑到y{0,1}y\in\{0,1\},有
l(w^)i=1N[yixiTwln1+exiTw)] l(\hat{w})\equiv\sum_{i=1}^N[y_i\bm{x}_{i}^T\bm{w}-\ln(1+e^{\bm{x}_{i}^T\bm{w}})]
在求最大值的过程中,我们可以用梯度下降法、牛顿法等。

支持向量回归(SVR)(待续)

k近邻法(kNN)

基本方法

  1. 给定一个训练数据集T={(x1,y1),(x2,y2),...,(xN,yN)}T=\{(\bm{x}_1,y_1),(\bm{x}_2,y_2),...,(\bm{x}_N,y_N)\},其中xiXRn, yiY={c1,c2,...,cK}, i=1,2,...,N\bm{x}_i\in\mathcal{X}\subseteq\bm{R}^n,~y_i\in\mathcal{Y}=\{c_1,c_2,...,c_K\},~i=1,2,...,N
  2. 输入实例x\bm{x}
  3. 给定度量规则,在TT中找出与x\bm{x}最近的k个点,把这k个点的集合记作Nk(x)N_k(\bm{x})
  4. 给定分类决策规则,根据Nk(x)N_k(\bm{x})决定x\bm{x}的类别yy

当训练集、距离度量规则、k值及分类决策规则确定后,任何一个新输入的实例都有唯一的类被确定。

距离、k的选取和决策规则

LpL_p距离
样本xi\bm{x}_ixj\bm{x}_jLpL_p距离为
Lp(xi,xj)(αxiαxjαp)1p L_p(\bm{x}_i,\bm{x}_j)\equiv(\sum_\alpha|x_{i\alpha}-x_{j\alpha}|^p)^{\frac{1}{p}}
曼哈顿距离
Lp=1L_{p=1}
欧氏距离
Lp=2L_{p=2}
k的选取
k值的大小对结果有重要影响。通常而言,k应当取比较小的数,一般用交叉验证的方法来选取最优的k值。
分类决策规则
常用的是多数表决规则,即x\bm{x}的类为Nk(x)N_k(\bm{x})中最多的类。

kd树(待续)

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!