决策树(待续)
支持向量机(SVM)
基本型
n维度空间中有N个点。假设有n维度空间中的一个n−1维的超平面将n维空间分割,这个n−1维超平面的方程为
wTx+b=0
则点x′到该超平面(记为(w,b))的距离为
r(x′;w,b)=∣∣w∣∣∣wTx′+b∣
当这个超平面两侧刚刚好为需要区分的两类事件的时候。即对N个样本{yi,xi}, i=1,2,3,...,N, yi∈{−1,1},总有
wTxi+b<0, for yi=−1wTxj+b>0, for yj=1
这就是约束条件——单点对超平面的函数间隔必须大于0,即:
γ^i≡yi(wTxi+b)>0, i=1,2,...,N
同时,我们可以定义该超平面对于样本集合T的间隔为
函数间隔:γ^(w,b)=mini yi(wTxi+b)几何间隔:γ(w,b)=mini r(xi;w,b)=mini ∣∣w∣∣yi(wTxi+b)=∣∣w∣∣γ^(w,b)
分类效果最好的超平面,其对应的γ(w,b)应当尽可能地大。所以问题最后转化为对进行最大化的优化问题
max(w,b) γ(w,b)=mini ∣∣w∣∣yi(wTxi+b)s.t. ∣∣w∣∣yi(wTxi+b)≥γ(w,b)⇕max(w,b) ∣∣w∣∣γ^(w,b)s.t. yi(wTxi+b)≥γ^(w,b)
另一方面,当我们对(w,b)进行等比例放缩时(λw,λb),并不会改变超平面的方程,即并不会对分类的效果产生影响。所以我们可以对每个正在被讨论的(w,b)进行放缩,使得对集合T的函数间隔γ^总是为1,那么最后优化的结果不会有任何改变。此时,放缩过后的优化变成
max(w,b) ∣∣w∣∣1s.t. yi(wTxi+b)≥1⇕min(w,b) 21∣∣w∣∣2s.t. yi(wTxi+b)−1≥0
优化结果记为(w∗,b∗),则最后的决策函数为
f(x)=sign(w∗Tx+b)
对偶型
从
min(w,b) 21∣∣w∣∣2s.t. yi(wTxi+b)−1≥0
出发,添加拉格朗日因子αi≥0,得到拉格朗日函数
L(w,b,α)=21∣∣w∣∣2+i=1∑Nαi(1−yi(wTxi+b))
又
∂w∂L=0, ∂b∂L=0⇒w=i=1∑Nαiyixi, 0=i=1∑Nαiyi
对L(w,b,α)用上述等式做变形,消去w之后得到原来优化问题的对偶问题
maxα i=1∑Nαi−21i=1,j=1∑N,NαiαjyiyjxiTxjs.t. 0=i=1∑Nαiyi, αi≥0
求解出α之后再求出对应的(w,b)
非线性可分与核函数
当属性空间中不同属性的点不能用一个线性超平面分割的时候,就叫做非线性可分。此时需要将其放到更高维度的空间中,才能找到可以做分割的线性超平面。假设映射之后x→ϕ(x),于是可以将问题转化为优化
maxα i=1∑Nαi−21i=1,j=1∑N,Nαiαjyiyjϕ(xi)Tϕ(xj)s.t. 0=i=1∑Nαiyi, αi≥0
不过我们通常不知道什么样的ϕ(x)形式是合适的,即使知道也可能遇到高维空间是无穷维的情况,因此计算ϕ(xi)Tϕ(xj)是相当困难的。为了避开这个障碍,可以设想这样一个核函数以替代对高维内积的计算,且不影响问题的解决。即:
κ(xi,xj)=<ϕ(xi),ϕ(xj)>=ϕ(xi)Tϕ(xj)
从而,核函数的选取成为算法效能的最大变数。
软间隔、正则化、损失函数
有时候,追求完美的划分超平面的代价时必须映射到足够高的空间,从而带来很多麻烦。另一种方案时,我们允许超平面不足够完美,即
min(w,b) 21∣∣w∣∣2s.t. yi(wTxi+b)−1≥0
中允许一些i不满足约束条件——即采用软间隔。当然,我们希望不满足约束的样本尽可能少,所以原来的目标函数变成
min(w,b) 21∣∣w∣∣2+Ci=1∑Nlloss(yi(wTxi+b)−1)
其中lloss(z)就是损失函数,其形式有许多。
基本回归算法
线性回归
若y是x的函数,关系为
yi(xi;w)=wTxixi≡(xi0=1,xi1,xi2,...,xin)T, w≡(w0,w1,w2,..,wn)T
当有许多组数据{yk,xk}, k=1,2,3,...N时,我们可以用最小二乘法得到一个较为合适的w,即
y^≡Xw^, Xkj={1xkjj=0j=0Ew^≡(y−y^)T(y−y^)
一个好的w应该能够使得Ew^最小。这就要求有
∂w^∂Ew^=0⇓2XT(Xw^−y)=0
当XTX为满秩矩阵或者正定矩阵时,解得
w^∗=(XTX)−1XTY
当不是满秩的时候,我们需要根据回归偏好引入正则化。
对数几率回归(logistc regression)
有的时候我们会遇到分类问题,即y只能等于0或者1。一个理想的例子是单位阶跃函数
y(z)≡⎩⎨⎧00.51z<0z=0z>0
我们可以认为其中的z=xTw。我们常用Sigmoid函数做为近似的阶跃函数,即
y(z)≡1+e−z1=1+e−xTw1
于是得到ln1−yy=xTw
下面我们开始估计w。首先不难看出,
y=1+e−xTw1=exTw+1exTw, 1−y=exTw+11
我们可以认为y代表x为标记的样本为正例的后验概率,(1-y)为x标记的样本为反例的概率。即
p(y=1∣x)=exTw+1exTwp(y=0∣x)=exTw+11
对于数据{yk,xk0=1,xk1,xk2,xk3,...}, k=1,2,...,N我们可以构造一个“对数似然函数”(loglikelihood)
l(w^)≡i=1∑Nlnp(yi∣xi;w^)
显然,每个样本属于它们自己真实的正反例的概率之和越大越好。所以求w的过程就是最大化上面函数的过程。考虑到y∈{0,1},有
l(w^)≡i=1∑N[yixiTw−ln(1+exiTw)]
在求最大值的过程中,我们可以用梯度下降法、牛顿法等。
支持向量回归(SVR)(待续)
k近邻法(kNN)
基本方法
- 给定一个训练数据集T={(x1,y1),(x2,y2),...,(xN,yN)},其中xi∈X⊆Rn, yi∈Y={c1,c2,...,cK}, i=1,2,...,N
- 输入实例x
- 给定度量规则,在T中找出与x最近的k个点,把这k个点的集合记作Nk(x)
- 给定分类决策规则,根据Nk(x)决定x的类别y。
当训练集、距离度量规则、k值及分类决策规则确定后,任何一个新输入的实例都有唯一的类被确定。
距离、k的选取和决策规则
Lp距离
样本xi和xj的Lp距离为
Lp(xi,xj)≡(α∑∣xiα−xjα∣p)p1
曼哈顿距离
即Lp=1
欧氏距离
即Lp=2
k的选取
k值的大小对结果有重要影响。通常而言,k应当取比较小的数,一般用交叉验证的方法来选取最优的k值。
分类决策规则
常用的是多数表决规则,即x的类为Nk(x)中最多的类。
kd树(待续)