定义
赋予计算机学习的能力,这种能力通过非显著编程实现
非显著编程不约束相应的规律,通过经验和样本自主学习
而是通过利益函数,使得机器人自己在特定环境下,用自己的行为获得最大收益
- 在针对某个任务T和某个性能指标P,从经验E中学习
- 性能指标P能随着经验E的学习得到提高
- 典型的最优化过程
经验E和性能指标P是根据算法决定的,算法决定了性能的最终体现
分类
学习任务的分类
- 教计算机下棋
- 垃圾邮件识别,教计算机自动识别某个邮件识别是否是垃圾邮件
- 人脸识别,这个人脸是谁
- 无人驾驶
可以看到
- 垃圾邮件识别,教计算机自动识别某个邮件识别是否是垃圾邮件
- 人脸识别,这个人脸是谁
为同一类,称为监督学习
对于经验E,这一类的样本数据是人工收集起来标签给计算机学习的
为数据样本打标签是高消耗人本的过程
另外两个任务
经验E是由计算机和环境互动获得的
我们的程序,需要对计算机互动的行为编写相应的收益函数
同时改变算法,让计算机自行改变自己的行为模式,去获得最大的收益函数
我们称这一类学习为**“强化学习”**
两个分类并不是完全分开,而是可以相辅相成
监督学习分类
根据数据标签存在与否的分类
-
一:传统的监督学习
- 每一个训练数据都有对应的标签
- 常用算法:
- 支持向量机
- 人工神经网络
- 深度神经网络
-
二:非监督学习
- 所有训练数据都没有对应的标签
- 需要假设:同一类的训练数据在空间中距离更近
- 假设成立的前提下,运用样本的空间信息
- 设计算法将它们聚集为两类,从而实现无标签的监督学习
- 常用算法:
- 聚类
- EM算法
- 主成分分析
-
三:半监督学习
- 训练数据中一部分有标签,一部分没有标签
- 网络中存在大量数据,标注数据耗费人力
- 因此需要,高效利用少类的标注样本数据是个可深入研究的问题
基于标签的固有属性进行分类
-
一:分类
- 标签是离散的值
- eg:人脸识别
-
二:回归
- 标签是连续的值
- eg:预测房价走势
算法的过程
机器学习的重点是:假设在已经提取好特征的前提下,如何构造算法获得更好的性能
- 第一步:特征提取
- 通过训练样本获得,对机器学习任务有帮助的多个维度的特征数据
- 对提取的特征进行特征选择
- 第二步:基于特征选择算法进行训练**(训练的本质是划分特征空间)**
- 形成一个特征空间,特征空间的维度数目=特征数目
- 不同的机器学习算法,会形成不同的分界线
- 机器学习对高维的运算结果,替代了人类的想象力进行世界探索
没有免费午餐定理
任何一个预测函数,如果在一些训练样本上表现好,那么必然在另一些训练样本上表现不好;如果不对数据在特征空间的先验分布有一定假设,那么表现好与表现不好的情况一样多。(即所有算法的表现都是一样的)
自行瞎猜的适合,正确与错误的概率是一样的
这是因为,我们先验分布的预测假设,本身就是等同的
没有放之四海而皆准的算法