判别模型与生成模型
前面也有过介绍,回顾一下,判别模型的意思就是它不关心数据是怎么产生的,不关心数据之间有何概率关系,它只关心数据之间有什么不同,这种不同会造成什么结果。比如说给你一堆水果,让你把它们中相同种类的放在一个篮子里,判别模型的话,我们直接通过分辨两个果子之间的差别,是黄的还是红的,是大的还是小的来分类,而如果是生成模型,那么我们就需要学习水果的品种,认识水果,那么就可以这样,哦,这个果子看上去更像苹果,那么它就是苹果啦来分类。
从数学的角度来讲,判别模型直接学习条件概率模型 P(Y|X),不关心数据本身的特征,如果P(Y|X的值越大,说明X更属于这个Y,那么就分类了。而生成模型先要求联合概率分布P(X,Y),讨论数据间的关系,然后由公式P(X,Y)=P(Y|X)·P(X)得出P(Y|X),这个过程中,我们是可以得到联合概率分布P(X,Y)的。
超平面
数学中超平面是n维欧氏空间中余维度等于一的线性子空间。这是平面中的直线、空间中的平面之推广(百度百科)。比如所,在三维空间里,满足3元一次函数ax+by+cz=m的所有点的全体就是该三维空间里的一个超平面,在二维空间里满足二元一次方程ax+by=n的点的全体也构成该二维空间的一个超平面。
梯度下降法
梯度下降法也叫最速下降法(steepest descend method),它是沿附体度方向寻找最小值。在向量微积分中,标量场中某一点的梯度指向标量场中增长最快的方向,梯度的值就是这个变化率的大小,所以下降法要沿着梯度的负方向来求最小值。求梯度就是求函数的一阶导数,比如一个函数f=x^2+y^2,求梯度得:
,
从截面上看,某点的负梯度指向圆心。梯度下降法第一步就是先求函数的梯度,然后规定一个步长r,按照这个式子迭代:
倒三角表示每次迭代的点的梯度。这样每次就能像减小的最快方向进一步,但是如果初始值选择不恰当,那么有可能得到的是一个局部极小值的点,而不是全局最小值。另外,步长的选择很重要,如果太小,则收敛速度过慢,如果大了,有可能不收敛,越过了极小值,来回震荡。具体采用什么方法取步长我查了查有很多啊,先不研究这个。那么到什么时候迭代可以停止呢?就是如果连续两次迭代的结果相差非常小时,就可以近似得到了。
在感知机算法中,我们要求的模型分类器(y=a·x+b)要能尽可能完全分开正负实例点,这就要求模型的经验风险最小化,我们得出经验损失函数后,就可以通过梯度下降法来求得达到损失函数的最小值时,参数(a,b)的值,这样就能得出分类器模型了。