因为这是一边复习一边写成的东西,注意力不太集中。所以可能会有一些错误,欢迎批评指正。
- 机器学习的三个步骤:定义一个函数集合(模型)、定义函数好坏的衡量指标(策略)、选择最好的函数(优化方法)
线性分类器
线性分类器:
二分类,根据g(x)>0和g(x)<0判断属于哪类
多分类:用多个二分类(一对一,一对其余,多对多)。一对其余会造成有些区域的点不属于任何一类。一对一的不可分区域比前者小。一对其余需要更多的训练时间和较少的测试时间且分类器是r个,一对一需要较多的测试时间和较少的训练时间且分类器是r(r-1)/2个。
线性感知机:
定义 g ( X ) = W T X g(X) = W^TX g(X)=WTX,本来是有的 g ( X ) > 0 g(X)>0 g(X)>0有的 g ( X ) < 0 g(X)<0 g(X)<0,现在把 g ( X ) < 0 g(X)<0 g(X)<0的 X X X取反。问题就变成让所有的 g ( X ) > 0 g(X)>0 g(X)>0。
损失函数 J ( W , X ) = 1 2 ( ∣ W T X ∣ − W T X ) J(W,X) = \frac{1}{2}(|W^TX|-W^TX) J(W,X)=21(∣WTX∣−WTX),显然 J ( W , X ) > 0 J(W,X)>0 J(W,X)>0的时候损失为 0 0 0,而 J ( W , X ) < 0 J(W,X)<0 J(W,X)<0的时候损失和 ∣ W T X ∣ |W^TX| ∣WTX∣成正比。
W ( k + 1 ) = W ( k ) − C ∂ J ∂ X = W ( k ) − C ( X s i g n ( W T X ) − X ) W(k+1) = W(k) - C\frac{\partial J}{\partial X} = W(k) - C(Xsign(W^TX)-X) W(k+1)=W(k)−C∂X∂J=W(k)−C(Xsign(WTX)−X),回到问题本身就会发现这
个是说当 g ( X ) g(X) g(X)的符号和预期不符的时候给予惩罚。
LMSE(Least Mean Square Error):
相比普通线性感知机的好处是,可以判断线性不可分。
原先是 W T X > 0 W^TX>0 WTX>0,现在把问题变成 W T X = b W^TX = b WTX=b,其中 b > 0 b>0 b>0,损失函数是 J = ∑ ∣ ∣ W T X i − b ∣ ∣ = ∣ ∣ X W − b ∣ ∣ J=\sum||W^TX_i-b|| = ||XW-b|| J=∑∣∣WTXi−b∣∣=∣∣XW−b∣∣。(最后一个式子里的X表示一个矩阵,下同)
求偏导, ∂ J ∂ W = X T ( X W − b ) = 0 \frac{\partial J}{\partial W} = X^T(XW-b)=0 ∂W∂J=XT(XW−b)=0,得 W = ( X T X ) − 1 X b = X # b W=(X^TX)^{-1}X b=X^\#b W=(XTX)−1Xb=X#b。
∂ J ∂ b = X W − b \frac{\partial J}{\partial b}=XW-b ∂b∂J=XW−b,理论上应该 b ( k + 1 ) = b ( k ) − C ( X W − b ( k ) ) b(k+1)=b(k)-C(XW-b(k)) b(k+1)=b(k)−C(XW−b(k)),但是为了避免 b ( k + 1 ) b(k+1) b(k+1)变成负值,要把 X W − b ( k ) XW-b(k) XW−b(k)的每个分量和 0 0 0取 m i n min min。也就是 − 1 2 ( ( X W − b ) + ∣ X w − b ∣ ) = E ( k ) -\frac{1}{2}((XW-b)+|Xw-b|)=E(k) −21((XW−b)+∣Xw−b∣)=E(k),这里绝对值号表示对所有分量取绝对值。收敛的条件是 E ( k ) E(k) E(k)为全 0 0 0。
决策树
熵:熵越大则越“不纯”,信息越少;熵越小越“纯”,信息越多。
信息增益 = 熵的减少量。
信息增益会对取值多的属性有偏好,为了解决这个问题,使用增益率。
对属性 a a a的各种值的分布算一个熵,然后用信息增益除以这个东西。
基尼指数可以替代熵,功能是一样的。
为了防止过拟合可以进行剪枝:预剪枝、后剪枝
预剪枝:分裂前用测试集跑一下,如果此次分裂不能带来收益那就不分裂。
预剪枝好处:降低训练时间(树简单了)
预剪枝风险:欠拟合(也许后面再分就可以提高性能了)
后剪枝:自下而上看去掉这个点能否提高测试性能。
后剪枝好处:欠拟合风险小,通常比预剪枝生成的树性能好
缺点:必须把整棵树生成然后再剪枝,训练开销大
连续值:排序之后,取每两个值的中间作为分界点,看哪个收益大就选哪个(收益是指信息增益或信息增益率)
缺失值:只对有值的样本计算信息增益,且信息增益要乘以 ρ \rho ρ( ρ \rho ρ表示有值样本的占所有样本的比例)。没有值的样本以一定的权值进入每个子节点,这里所说的权值就是所进入的那个点所对应的标签占总标签数的比例。
多变量决策树:每个非叶节点是一个线性分类器
支持向量机SVM
超平面方程: w T x + b = 0 w^Tx+b=0 wTx+b=0
支持向量:与超平面 w T x + b = 0 w^Tx+b=0 wTx+b=0垂直且指向超平面 w T x = ± 1 w^Tx=\pm 1 wTx=±1的向量。对于所有样本点都有 ∣ w T x + b ∣ ≤ 1 |w^Tx + b| \leq 1 ∣wTx+b∣≤1。
w T x = − 1 w^Tx=-1 wTx=−1和 w T x = 1 w^Tx=1 wTx=1之间的距离是 2 ∣ ∣ w ∣ ∣ \frac{2}{||w||} ∣∣w∣∣2,支持向量机要寻找使得这个距离最大的超平面。
约束条件为