其前提是数据本身是线性可分的。
模型可以定义为
?
,sign函数是阶跃函数,阈值决定取0或1。...SGD算法的流程如下:输入训练集和学习率
1、初始化w0,b0,确定初始化超平面,并确定各样例点是否正确分类(利用yi和wx+b的正负性关系);
2、随机在误分类点中选择一个样例点,计算L关于w和b在该点处的梯度值...如果线性不可分,可以利用口袋算法,每次迭代更新错误最小的权值,且规定迭代次数。口袋算法基于贪心的思想。他总是让遇到的最好的线拿在自己的手上。。。...就是我首先手里有一条分割线wt,发现他在数据点(xn,yn)上面犯了错误,那我们就纠正这个分割线得到wt+1,我们然后让wt与wt+1遍历所有的数据,看哪条线犯的错误少。...data = [[3,3],[4,3],[1,1]]
xArray = np.array([3,3,4,3,1,1])
xArray = xArray.reshape((3,2))
yArray =