Machine Learning(机器学习)
什么是机器学习?
ARTHURE SAMUEL 是机器学习领域的先驱之一
他编写了世界上第一个棋类游戏的人工智能程序
ARTHURE SAMUEL 对机器学习的定义:
Machine Learning is Fields of study that gives computers the ability to learning without being explictly programmed
机器学习是这样的领域,他赋予计算机学习的能力,(这种学习能力)不是通过显著式编程获得的
什么叫做显著式编程?
例如我们认为告诉计算机,菊花是黄色的,玫瑰是红色的,那么计算机看到黄色就把它识别为菊花,看到红色就把它识别为玫瑰,这就是显著式编程
非显著式编程
我们给计算机一堆菊花的图片,一堆玫瑰的图片,让计算机自动去总结菊花和玫瑰的区别,以及其各自的特点,通过编写比较完美的代码,计算机就很有可能通过大量的图片,也能总结出菊花是黄色的,玫瑰是红色的,当然也可能总结出其他的规律
我们事前并不约束计算机必须总结什么规律,而是,让计算机从一大堆可能的规律中挑出最能区分菊花和玫瑰的一些规律,我们把这种让计算机自动总结规律的编程,叫做非显著式编程
Arthur Samuel所定义的机器学习是专指这种非显著式编程的方式
让机器人到教室外面去充咖啡
那么显著式编程就要把这个过程的每一步,写到计算机的程序中,像什么距离,左转,动作啥的,都要事先规划好
那么对比显著式编程,非显著式编程的优势就体现出来了,
在这里有一个概念【收益函数】-》做某些行为带来的收益
例如:机器人采取某些行为导致任务失败,或者并不是想得到的结果,如下,那么其收益函数就是负值
反之:如果机器人完成了任务,我们就认为其收益函数为正值
3.机器人小结
当我们规定了行为和收益函数后,此时我们就可以喝喝茶了,构造一个算法,让计算机自己去寻找最大收益函数的行为,
那么很明显,一开始,计算机是采用随机化的行为;但是只要我们的程序编写的足够好,计算机是很有可能去找到一个最大收益函数的行为模式的,也就是下方的总结,【正如Arthur Samuel所定义的,机器学习关注的正是这种非显著式编程】
这个定义是Tom Mitshell在1988年,在他的教科书【Machine Leraning】所定义的,现在我们公认他的这本教科书是机器学习领域第一本成熟的教科书
Tom Mitshell 在《Machine Learning》中对机器学习的定义:
A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T ,as measured by P, improves with experience E.
例如:在这个例子中【我们让P指的是:识别率[Recognition Rate]->让更多的菊花被识别为菊花】
那么我们可以得到机器学习的定义:机器学习就是针对菊花和玫瑰这样的任务,构造某种算法,
这种算法的特点是当训练的菊花和玫瑰越来越多的时候,【也就是经验越来越多,识别率也会越来越高】
很明显,显著式编程是无法达到这一目的的,因为显著式编程一开始就把程序写死了,识别率是不会随着训练样本的增加而增加的
Tom Mitshell 的定义比Arthur Samuel的定义,更加的数学化,【数学在机器学习中占有重要的地位】
E、计算机下棋的场数 P:规定场数胜利的次数
E、邮件识别次数 P:规定识别次数中,正确识别垃圾邮件的次数
E、人脸识别的次数 P:规定识别次数中,识别成功的正确率
E、驾驶的次数 P:规定次数中,正确到达目的地的次数
那么划分的标准是什么呢?【其实就是经验E】
在2和3中经验完全是由人搜集起来,输入计算机的,
例如在2中,我们要搜集起来,哪个是垃圾邮件哪个不是垃圾邮件
例如在3中,我们要搜集起来,告诉计算机每张人脸图片是谁
我们把训练样本告诉计算机是什么的过程,叫做为训练数据打标签【Labeling for training data】
那么为数据打标签这一工作,需要大量的人力进行,例如现代的人力识别系统中,需要数千万张,带有人脸标签的图片,这经常要耗费很长时间,因此今年来:
我们,把这一类输入计算机数据,并打标签的行为,叫做监督学习【Supervised Learning】
在后续,将学习:支持向量机【Support Vector Machine】
人工神经网络【Neural Networks】
深度神经网络【Deep Neural Networks】
实例:
在这门课程中,我们将会学习如下算法:
聚类【Clustering】
EM算法【Expectation-Maximization algorithm】
主成分分析【Principle Component Analysis】
这一学习方式越来越流行,数据标注是一项很大的工程,因此研究少量标注数据和大量未标注数据去得到一个更好的机器学习算法,成为了研究领域的热点之一
例子:
像人脸识别是同一个人,标签为1,否则为0
例如,房价的走势,在这里,训练样本是时间,标签是房价
其实分类和离散的界限是模糊的,因为连续和离散的概念是相互转化的,因此我们课程的研究内容是研究分类问题
而1和4的经验E是由计算机和环境互动得到的,计算机产生行为,该行为得到的收益函数反馈给计算机【给予该行为奖励或者惩罚】,
例如在计算机下棋这个程序中,下赢了,就给予奖励,下输了,就给予惩罚
例如在计算机自动驾驶这个程序中,安全到达目的地,就给予奖励,中途出了事故,就给予惩罚
同时我们设计算法,让计算机通过改变自己的行为模式,去获得最大的收益函数,完成机器学习的过程
我们把这一种机器学习的任务叫做,强化学习【让计算机通过与环境的互动,逐渐强化自己的行为模式】
机器学习大致可以划分为这两类,但是也不绝对,例如在现代机器学习中,就同时采用了监督学习和强化学习的合作模式
在后期着重学习监督学习,部分学习强化学习