感知机模型
从刘建平老师的学习笔记中
有m个这样的样本
目标就是找到一个超平面:
一个 加上一堆一次的向量。此时这个平面是一元类别的
现在这个平面能让一种类别(向量积的和)都满足大于0,另一种(向量积的和)样本小于0的。
这样的超平面不唯一。也就是说感知机模型可以有多个解。
简化写法,为设一个等于1的向量x0。
1-2 what is 内积?内积的复习
2. 感知机模型损失函数
sign(x)中,将θ*x<0设为1,θ*x<0设为-1。方便定义损失函数。
因为:
正确分类的样本是yθ∙x>0
而错误分类的样本满足 yθ∙x<0yθ∙x<0。
我们损失函数的优化目标,就是期望使误分类的所有样本,到超平面的距离之和最小。
由于
由于yθ∙x<0,所以对于每一个误分类的样本ii ,到超平面的距离是
−y(i)θ∙x(i)/||θ||2,
其中||θ||2为L2范数。
我们假设所有误分类的点的集合为M,则所有误分类的样本到超平面的距离之和为:
我们研究可以发现,分子和分母都含有θθ,当分子的θθ扩大N倍时,分母的L2范数也会扩大N倍。也就是说,分子和分母有固定的倍数关系。那么我们可以固定分子或者分母为1,然后求另一个即分子自己或者分母的倒数的最小化作为损失函数,这样可以简化我们的损失函数。在感知机模型中,我们采用的是保留分子,即最终感知机模型的损失函数简化为:
题外话,如果大家了解过支持向量机,就发现支持向量机采用的是固定分子为1,然后求1/||θ||21/||θ||2的最大化。采用不同的损失函数主要与它的后面的优化算法有关系。
这个上标i所代表的是第几组x,y
3. 感知机模型损失函数的优化方法。
感知机的损失函数是上面这个,m是所有有误分类点(什么是有误分类点)
这个损失函数可以用梯度下降法或者拟牛顿法来解决。
梯度向量的意义是什么,从几何意义上,梯度就是函数增加或者变化最快的地方。
因为他是参数中的各个偏导数。在f(x,y,……)中,在点(x0,y0,……)
沿着梯度向量的方向,就是f(x,y)增加最快的地方。更容易找到最大值的地方,
相反的,沿着-(∂f/∂x0, ∂f/∂y0)T的方向,梯度减少最快,也就是更加容易找到函数的最小值。
机器学习中,找最小损失函数,就可以依据梯度下降法,一步步地迭代求解。找到最小的损失函数。和模型参数值。找到最大的就可以使用梯度上升法。
梯度下降不一定能找到全局的最优解,有可能是一个局部最优解。如果损失函数是凸函数。那么梯度下降法得到的解就一定是全局最优解。
还需要知道几个概念
1.步长
2.特征
3.假设函数,拟合输入样本所用的假设函数。
4.损失函数:损失函数极小化意味着拟合得最好,对应模型参数即为最优参数
对于m个样本,采用线性回归,损失函数为:
是一个和拟合函数当中设的 θ0 θ1是有关的。
其中xixi表示第i个样本特征,yiyi表示第i个样本对应的输出,hθ(xi)为假设函数。
这里常见的是使用梯度下降法——什么是梯度下降法。
不能使用普通的基于所有样本的梯度和均值的批量梯度下降法(BGD)行不通
因为我们必须只能对有误样本M中的样本才能。进行损失函数的优化,而不是所有参与的样本(包括正确分类的样本)我们只能使用随机梯度下降(SGD)或者小批量梯度下降(MBGD)