《机器学习技法》学习笔记(1.2、1.3、1.4)

首先必须要理解一个东西,就是点到平面的距离(或者点到超平面的距离)

上面的图在最后其实已经推导出来了,但是我还需要总结一下:

wT和b决定一个平面的所有,比如w向量的长度决定了平面的维度,就像y=x+1(x-y+1=0),如果看成x向量和w向量相乘,y也是一个维度的x,那其实x={x1,x2},w={1,-1},b={1},w向量就是这条直线的法向量,那如果现在点(1,0),他到这条直线的距离就等于1

为什么选yn(wT x n + b) = 1最小值为1,是因为这样的计算过程会大大简化

从后面的感觉看,简化的过程就是为了改造成凸优化中的二次规划问题,因为max模的倒数不如min下面那个函数求解简单。

这一系列推导过程就是为了转换成容易解决的Quadratic Programming问题,二次规划问题已经有算是十分规范的解算步骤了。
所以例如对于下面一个具体问题

如果转换成一个二次规划问题,他也提供了各个参数的转换方式

我使用Matlab实现,结果正确
H = [0 0 0; 0 1 0; 0 0 1];
f = [0; 0; 0];
A = [1 0 0; 1 2 2; -1 -2 0; -1 -3 0];
b = [-1; -1; -1; -1];
[x,fval,exitflag,output,lambda] = quadprog(H,f,A,b)


H是[b,w1,w2]的海塞矩阵,还有一个细节:推导里面用的是>=,而matlab默认的是<=,所以b都是-1

发表评论

电子邮件地址不会被公开。