标签:理解 user ref 异或 线性 img svm 直接 learn
感知机是二类分类的线性分类模型。
上面紫色和橙色为两类点, 线性的分割超平面应该要垂直于那些红粉和紫色的线.
输入空间:$\mathcal X\sube \bf R^n$
输出空间:$\mathcal Y={+1,-1}$
决策函数:$f(x)=sign (w\cdot x+b)$
确定学习策略就是定义**(经验)**损失函数并将损失函数最小化。
注意这里提到了经验,所以学习是base在训练数据集上的操作
损失函数的一个自然选择是误分类点的总数,但是,这样的损失函数不是参数$w,b$的连续可导函数,不易优化
损失函数的另一个选择是误分类点到超平面$S$的总距离,这是感知机所采用的
感知机学习的经验风险函数(损失函数) $$ L(w,b)=-\sum_{x_i\in M}y_i(w\cdot x_i+b) $$ 其中$M$是误分类点的集合
给定训练数据集$T$,损失函数$L(w,b)$是$w$和$b$的连续可导函数
输入:$T={(x_1,y_1),(x_2,y_2),\dots,(x_N,y_N)}\ x_i\in \cal X=\bf R^n\mit , y_i\in \cal Y\it ={-1,+1}, i=1,2,\dots,N; \ \ 0<\eta\leqslant 1$
输出:$w,b;f(x)=sign(w\cdot x+b)$
选取初值$w_0,b_0$
训练集中选取数据$(x_i,y_i)$
如果$y_i(w\cdot x_i+b)\leqslant 0$ $$ w\leftarrow w+\eta y_ix_i \nonumber\ b\leftarrow b+\eta y_i $$
转至(2),直至训练集中没有误分类点
注意这个原始形式中的迭代公式,可以对$x$补1,将$w$和$b$合并在一起.
输入:$T={(x_1,y_1),(x_2,y_2),\dots,(x_N,y_N)}\ x_i\in \cal X=\bf R^n\mit , y_i\in \cal Y\it ={-1,+1}, i=1,2,\dots,N; \ \ 0<\eta\leqslant 1$
输出: $$ \alpha ,b; f(x)=sign\left(\sum_{j=1}^N\alpha_jy_jx_j\cdot x+b\right)\nonumber\ \alpha=(\alpha_1,\alpha_2,\cdots,\alpha_N)^T $$
$\alpha \leftarrow 0,b\leftarrow 0$
训练集中选取数据$(x_i,y_i)$
如果$y_i\left(\sum_{j=1}^N\alpha_jy_jx_j\cdot x+b\right) \leqslant 0?$ $$ \alpha_i\leftarrow \alpha_i+\eta \nonumber\ b\leftarrow b+\eta y_i $$
转至(2),直至训练集中没有误分类点
Gram matrix
对偶形式中,训练实例仅以内积的形式出现。
为了方便可预先将训练集中的实例间的内积计算出来并以矩阵的形式存储,这个矩阵就是所谓的Gram矩阵 $$ G=[x_i\cdot x_j]_{N\times N} \nonumber $$
这个例子里面$\eta = 1$
感知机学习算法由于采用不同的初值或选取不同的误分类点,解可以不同。
另外,在这个例子之后,证明算法收敛性的部分,有一段为了便于叙述与推导的描述,提到了将偏置并入权重向量的方法,这个在涉及到内积计算的时候可能都可以用到,可以扩展阅读CH06,CH07部分的内容描述。
这个例子也简单,注意两点
以上:
所以,这里可以体会下,调整学习率$\eta $的作用。学习率决定了参数空间。
经常被举例子的异或问题^1,用感知机不能实现,因为对应的数据非线性可分。但是可以用感知机实现其他逻辑运算,也就是提供对应的逻辑运算的数据,然后学习模型。
这个例子的数据是二元的,其中NOT运算只针对输入向量的第一个维度
这个例子的数据是三元的.
这个选择两类数据进行区分,不同的选择应该得到的结果会有一定差异,数据不上传了,在sklearn里面有相应的数据,直接引用了,注意测试案例里面用的是01,相对来讲好区分一些。
标签:理解 user ref 异或 线性 img svm 直接 learn
原文地址:https://www.cnblogs.com/Lynn0101/p/9940163.html