机器学习
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习相关的知识,希望对你有一定的参考价值。
一、感知器 perceptron
上节讲到线性回归,输入特征向量,与权重参数对应相乘得到输出的实数结果,但实际中还有选择分类的事情,例如银行要不要给客服发信用卡,发还是不发这是一个分类问题。
比如,银行根据一个人的工资、工作年限、负债情况、信用问题等作为特征来判断是不是该给这个客户信用卡,我们来考虑给这些特征设置一些合适的权重,特征与权重乘积得到一个分数,然后设定一个阈值,分数大于阈值则给他信用卡,分数小于阈值则不给他信用卡,,若给信用卡用y=+1表示,不发信用卡用y=-1表示,这就得到一个二分类问题,分类模型可表示为
,把阈值作为一个常数特征,则模型可表示为,这是一个用0/1错误来恒量的分类模型,不同于上述的线性回归的平方错误恒量的模型,0/1错误为阶梯状,在分界处不可导,所以不能用梯度下降的方法来求解最优化
求解最优化的权重,使用perceptron learning algorithm,PLA方法,思想是用犯错的样本来更新权重,样本犯错的意思是当标签类别为y=+1时W和X方向相反(两个向量夹角大于90°,W*X内积为负,运算类别为y=-1,与y=+1相反),当类别为y=-1时W和X方向相同(两个向量夹角小于90°,W*X内积为正,运算类别为y=+1,与y=-1相反),用 W+标签类别*X 的方法可以修正W向量的方向
所以更新方法可表示为,作为算法可表示为
,只要有样本犯错就调整权重,直到没有错误分类的样本。
由于算法不容许有错误分类样本的原因,对于线性可分的数据,PLA算法最终才能停止,数据不是线性可分,则PLA算法不能停止,在现实中数据资料往往不是线性可分的,并且在数据含有噪声的情况下,就算是线性可分的数据往往变得线性不可分,这样单纯的PLA方法不能完成分类的任务,所以就退一步让最优的W为使模型分类错误点最少,但统计错误点最少的情况下让算法停止是一个NP-hard问题,不能被优化,最终的方法是让错误点更新本次的权重Wt,得到新的权重Wt+1,比较这两个权重下哪个错误较少,若新权重的错误较少则用新权重替代原有权重,否则保持原有权重,这样迭代足够多的次数,我们就认为得到了好的权重参数,算法结束
以上是关于机器学习的主要内容,如果未能解决你的问题,请参考以下文章