草庐IT

毛虫和瓢虫3——简单分类器,一条直线无法解决的问题

简单分类器是不是就所向披靡呢?并不是。简单分类器(特指单个简单分类器),只能处理一部分问题。这里就要引入一个经典问题了:异或问题,怎么处理?就是这个玩意儿。你能用一条直线,将绿色的圆圈,和红色的圆圈分开吗?只要小小的尝试一下,就会发现不能。这也是1969年时,人工智能之父马文明斯基在其著作中,证明了感知机(虽然跟分类器还不太一样,但道理差不多)本质上是一个线性模型,其连最基本的异或问题都无法解决。这也使得当时的AI科学家们一下对感知机(神经网络的雏形)失去了兴趣。在那段历史里,似乎折腾这些现在看起来比较简单的东西,都是以十年记进展的。1)1943年,神经科学家麦卡洛克和数学家皮兹发表论文《神经

毛虫和瓢虫2——简单分类器,一小步的威力

上文讲到,毛虫与瓢虫的分类器,如果每次按照输入的新样本与原分类直线的误差进行斜率调整,都会导致一个严重的问题:似乎之前训练的样本带来的效果消失了,仅仅留下了最新样本带来的收益。这样的话,那么多样本还有什么意义呢?所以,要找一个办法来规避这个问题。其实方法非常简单,就是你别因为一个新样本变化那么大,只用以一个小比例来挪动一下斜率,向着好的方向走一点,那么每次一小步,成功一大步(好像是励志鸡汤文……),最终的结果会让你惊喜的。所以,上文的例子中,斜率需要变化0.1167,实际你可以乘以一个比如0.1的学习率,仅仅变化0.01167,然后直接转向下一个训练样本。这个用来调整步伐的小比例数值,就叫做学