人工神经网络(感知器算法的意义)

最后留两道思考题给大家
第一请举出实际生活中不是机器学习领域的欠拟合和过拟合的例子
第二在训练机器学习模型的过程中
如何检测欠拟合和过拟合呢
如果发生了氢离合和过拟合的现象
应该采取什么样的措施去纠正其产生的负面影响呢

下面我们录制第22讲的内容
在上一讲中我们讲到了rosenblood在1957年提出的感知器算法
并证明了在线性可分条件下算法的收敛性
感知器算法实质是在训练数据集线性可分的条件下寻找分类的超平面
这和我们学过的支持向量机做的事情是差不多的
但是由于支持向量机是基于所有的训练数据寻找最大化间隔的超平面
而感知器算法却是相对随意的
找一个分开两类的超平面
因此大多数时候支持向量机画出的分类面往往比感知器算法好一点
这里是对于同一个训练数据集
分别应用感知器算法和应用支持向量机算法获得的分类面
可见支持向量机获得的分类面直观上比感知器算法要好
这一点都不奇怪
因为感知器算法是1957年发明的
而支持向量机是1995年左右逐渐获得认可
两者之间隔了将近40年
他们在理论深度和实际性能上有差距是非常正常的事情
由于感知器算法性能不足够好
我们目前已经不再使用感知器算法了
但是他在机器学习这一领域的发展过程中
却有着重要的历史意义
这种意义表现在感知器算法首先提出了一套机器学习算法的框架
如图所示
假设一个系统输入是x
输出是y我们现在有一组训练数据集
x i y i i等于一到n机器学习的目的是要寻找一个预测函数
y等于fx c塔
请注意在这里f的形式是我们人为指定的
而其中的c塔是带球的变量
机器学习的过程就是运用训练数据集xi yi来求出c塔
一旦西塔求出来了
那么对于任意的测试样本
从而完成了对测试样本输出的预测
对比一下前面所讲
我们可以得出在感知器算法中待估计的参数
theta是权重omega和偏置b的组合
而fx c塔它将等于欧米伽转置乘以x加b的符号函数
假设x是一个m v的向量
那么带估计参数c塔的维度将会是m加一为
即我们将要估计m加一个参数
rosenblood是第一个提出这套机器学习算法框架的人
同学们思考一下就能理解
这个框架包含了所有的分类和回归问题
也包含强化学习
无监督学习等机器学习的其他领域的问题
这是一个相当广泛的算法框架
下面讲述一下对这个框架一些直观的感觉和认识
首先训练数据的复杂度
应该和预测函数f的复杂度相匹配
这里有三张图
在第一张图中
训练数据的分布相对复杂
但f却是一个简单的线性函数
那么我们无论算出的c塔等于多少
都不可能全面的模拟训练数据的分布
我们把训练数据比预测函数更复杂的情况叫做模型
欠你和under f
第二张图是训练数据和预测函数的复杂度相适应的情况
这时模型的预测能力应该是比较好的
在第三张图中
训练数据的复杂度低于预测函数的复杂度
其结果将会是预测函数能相当精确的拟合训练数据
但是在没有训练数据的区域
预测函数也会人为地制造出复杂的函数值的分布
之所以说是人为的
是因为这种复杂的分布是由预测函数f的具体形式决定的
而f的具体形式是设计算法的人仍为指定的
它并不反映数据在空间分布的真实情况
我们把预测函数复杂度高于训练数据复杂度的情况叫做过拟合
overfit
在过拟合的情况下会出现预测函数在训练数据上预测的非常精确
但是在测试数据上却预测得很糟糕的局面
一般来说现实生活中的机器学习问题
训练数据的分布是非常复杂的
因此我们要设计复杂的预测函数f使它与训练数据的复杂程度相适应
在复杂的预测函数中带球的变量c它的维度也会非常的高
举一个目前机器学习的例子
这是2014年facebook公司做人脸识别的分类器
由于人脸识别是一个复杂的人物训练
数据的分布极其复杂
为了描述这种分布
facebook公司用了400多万张标注好的人脸数据进行训练
识别
算法是一个深度学习的网络模型
大家还没有学到深度学习
但请注意用我们学到的内容翻译过来
深度学习也是我们人为指定的一种预测函数f的形式
在这个预测函数f的形式中
带球变量c塔的维度是1800多万维
也就是说
我们要通过400多万张人脸的图片去求出c塔的1800多万个分量
目前的机器学习的任务和解决任务的方法复杂到了这样的程度
但是罗森布拉特提出了这套算法框架仍然适用
我们继续看一下感知器算法
大家能看出在上面感知器算法的流程当中
相比支持向量机
它有什么优势呢
感知器算法的一个优势在于它消耗的计算资源和内存资源非常少
请看在上面感知器算法当中
我们只需要储存omega和b
然后针对每次输入的训练样本的x不断的调整欧米伽和b的值
调整的函数也是非常简单的加减法
而支持向量集中
确实把所有的训练数据都输入进计算机
让计算机解一个全局优化问题
其计算量和存储量的消耗与感知器算法不可同日而语
目前的机器学习领域
由于训练数据数量非常多
这种每次只送一小部分数据去训练
然后不断循环的算法越来越受到大家的欢迎
而像支持向量机这种针对所有数据进行全局优化的算法
反而不占优势的感知器算法是这类算法的先驱
具有重要的历史地位
在这一节课中
我们分别从机器学习算法框架方面以及感知器算法自身特点方面
论述了感知器算法的重要历史意义
并在预测函数和训练数据复杂程度的匹配性方面做了初步的探讨
提出了千里和under fit和过礼和overfit两个重要的概念
最后留两道思考题给大家
第一请举出实际生活中不是机器学习领域的欠拟合和过拟合的例子
第二在训练机器学习模型的过程中
如何检测欠拟合和过拟合呢
如果发生了氢离合和过拟合的现象
应该采取什么样的措施去纠正其产生的负面影响呢
本节内容就到这里
谢谢同学们的

发表评论

邮箱地址不会被公开。 必填项已用*标注