定义
Arthur Samuel:计算机通过非显著式编程获得学习能力
以写一个区分菊花和玫瑰的程序为例
显著式编程:告诉程序菊花是黄的,玫瑰是红的等区分特征
非显著式编程:让程序通过大量的数据样本,自己主动学习到区分菊花和玫瑰的方法
Tom Mitshell:计算机针对某种问题构造某种算法,当训练样本(经验)越多的时候,整个算法的性能得到提升
原话:一个计算机程序被称为可以学习,是指它能够针对某个任务T和某个性能指标P,从经验E中学习。
这种学习的特点是,它在T上被P所衡量的性能,会随着经验E的增加而提高。
经验E:训练样本
机器学习的分类
-
监督学习:
所有的经验E都是人工采集并输入计算机的,这里的经验E指的是为训练数据打上标签
-
强化学习:
经验E是由计算机与环境互动获得的。计算机产生行为,程序定义这些行为的收益函数,
对行为进行奖励和惩罚,由此得到最大收益。
两种学习结合的例子:
Alpahago:前期通过监督学习获得初步围棋程序,然后通过强化学习不断优化
监督学习还能细分:
分类方法一:
-
传统的监督学习:每一个训练数据都有对应的标签。有关的算法有:支持向量机,人工神经网络,深度神经网络
-
非监督学习:所有的训练数据都没有对应的标签
提前假设相同类别的数据在空间上更加接近,计算机就能根据样本的空间信息,将数据分为不同类别,从而实现没有标签的分类
-
半监督学习:训练的数据中一半有标签,一半没有标签
只有部分有标签的数据,加入大量的无标签的数据,能通过样本的空间信息,分出类别,且由于部分数据是有标签的,则与之相近的属于同一类别,就实现了分类所有的样本。
分类方法二:基于标签的固有属性
-
分类问题:标签是离散的值
-
回归问题:标签是连续的值
算法过程
错误的思想:只要数据样本够多,把数据随便丢给一个算法模型训练就能得出好的结果
-
提取特征
-
特征选择:选择不同类别在同一个特征上区别度明显的特征用于算法
-
选择算法(重点):特征的个数n构成一个n维空间,不同的算法会对特征空间做不同的划分,机器学习的重点就是选择合适的算法/创造新的算法
维度:特征个数越多,人眼越难想象
标准:右边两图对于左下角的分类标准不一样,不能说谁对谁错,只能说在某种情况下是哪个对哪个错
免费午餐定理:如果不对特征空间的先验分布有假设,那么所有算法的表现都一样
通俗解释:比如前文提到的,假设特征空间中距离近的样本属于同一个类别,那么能得到xxxx结论;
如果没有这个假设,我们就没有一个标准来区分这些样本
因此不同的问题,我们事先的假设能够帮我们更好的区分样本,同时也区分了算法的优劣