一、引言
机器学习是什么?
计算机科学是研究关于 “算法” 的学问;
机器学习是研究关于 “学习算法” 的学问;机器学习的作用?
致力于研究如何通过计算的手段,利用经验来改善系统自身的性能;机器学习研究内容
计算机系统中: “经验” 通常以 “数据” 的形式存储;
致力于,在计算机上从 “数据” 中产生 “模型” 的算法,即 “学习算法”;
进一步利用:利用这些数据产生的模型,面对新的情况时,模型会给我们提供相应的判断;
二、基本术语
记录(示例,样本):收集的单个数据,也就是,一个事件或对象的描述;
数据集:记录的集合;
属性:反映事件或对象在某方面的表现或性质的事项;如,色泽、根蒂;
特征:属性的取值;如,乌黑;
特征向量:将属性构建为多维向量,特征点坐标,对应一个特征向量;
二维表示:横坐标值代表对象或事件,纵坐标代表对应属性;
训练/学习:从数据中学习得到模型的过程;
训练数据:训练过程中使用到的数据;
训练样本:训练数据中的每一个样本;
假设:学得模型对应了关于数据的某种潜在规律;
标记:示例结果的信息;
标记空间(输出空间):所有标记的集合;
分类:学习任务的预测值为离散值,比如好瓜,坏瓜;
回归:学习任务的预测值为连续值;
二分类:分类只有两种情况,一个为正类,一个为反类;
多分类:分类有多种情况;
测试:学得模型后,对其进行预测的过程;
测试样本:被预测的样本;
聚类:将训练集中的西瓜分成若干组,每组称为一个 “簇”;
监督学习:训练数据拥有标记信息;
无监督学习:训练数据无标记信息;
泛化能力:学得模型适用于新样本的能力;
同分布:通常假设样本空间中全体样本服从一个未知 “分布”;
独立同分布:每个样本都是独立的从这个同分布上采样获得的;
三、假设空间
1. 归纳和演绎
1)归纳和演绎是科学推理的两大基本手段;
2)归纳:从特殊到一般的 “泛化” 过程;即从具体的事实归纳出一般性的规律;
3)演绎:从基础原理推演出具体状况;
2. 广义归纳和狭义归纳
1)广义归纳:从样例中学习;
2)狭义归纳:要求从训练数据中学得概念;
注意:并不能通过简单的 “记住” 来预测,这样仅能预测 “记住” 的情况,对于新情况,无法处理,所以,需要泛化;
3)假设空间
所有属性的组合,或者,删除其中一部分的组合,可以构成所有的假设空间;
由于现实情况假设空间太大,学习过程基于优先样本训练集进行,可能多个假设与训练集一致,称之为 “版本空间”;
四、归纳偏好
出现的原因
对于同样一个样本,可能有多个 “版本空间” ,对当前训练数据,都能获得很好的效果,但是,对新的数据却会产生不同的结果。但是,具体学习算法,需要产生一个模型。所以,需要一个 “偏好” 从多个 “版本空间” 中选取出一个;无偏好的结果
无偏好将导致算法被多个看似 “等效” 的假设所迷惑,而无法确定学习结果;若随机选取等效假设,可能导致预测结果相悖,导致学习结果没有意义;直观理解
归纳偏好,可以看做学习算法自身在一个可能很庞大的假设空间中对价设计进行选择的启发式或 “价值观”。常用偏好
奥卡姆剃刀,是一种常用的,自然科学中最基本的原则,即 “若有多个假设与观察一致,则选最简单的那个”。NFL定理(没有免费的午餐定理)
对于多有问题同等重要或者所有问题出现的机会相同,无论学习算法A有多聪明,B有多笨拙,它们的期望性能相同;
学习算法通常用于解决具体问题;
结论:脱离具体问题,空泛的谈论 “什么学习算法好” 毫无意义;
- 学习算法自身的归纳偏好与问题是否匹配,往往会起到决定性的作用;
五、发展历程
1. 人工智能的发展:
- 1950s-1970s(推理期):人们认为只要赋予机器逻辑推理能力,机器就能具有智能;但逐渐认识到远远实现不了人工智能;
- 1970s-1990s(知识期):人们认为要想使机器具有只能,就必须设法使机器拥有知识。出现了大量专家系统。但,逐渐认识到专家系统面临的 “知识工程瓶颈” 问题;也就是,人们由人来把知识总结出来再教给计算机相当困难;
解决办法:让机器自己学习知识;
2. 学习的方法:
- 1950s,出现了基于 “神经网络” 的 “连接主义” 学习技术;
- 1960s-1970s,基于 “逻辑表示” 的 “符号主义”学习技术;
- 1970s- ,基于 “统计” 的统计学理论;
3. 机器学习的分类:
1)1983,R. S. Michalski书籍,机器学习可划分为:“从样例中学习”、“在问题求解和规划中学习”、“通过观察和发现学习”、“从指令中学习”;
2)1983,E. A. Feigenbaum 书籍,机器学习可划分为:“机械学习”、“示教学习”、“类比学习”、“归纳学习”;
机械学习:也被称为 “死记硬背式学习”,将外界信息全部记录下来,在需要的时候原封不动的取出来使用(无学习,知识简单的信息检索);
“示教学习” 和 “类比学习” 类似于“从指令中学习” 和 “通过观察和发现学习” ;
“归纳学习” 相当于 “从样本中学习”,也就是,从训练样本中归纳结果;
本书的主要内容关注于 “从样本中学习”,也就是广义归纳学习;“从样例中学习”:一大主流是符号主义学习,包括决策树和基于逻辑的学习;决策树学习,可以直接模拟人类对概念进行判定的树形流程;基于逻辑的学习,以归纳逻辑程序设计为代表,是机器学习与逻辑程序设计的交叉,使用一阶逻辑来进行知识表示,通过修改和扩充逻辑表达式来完成对数据的归纳;
“从样本中学习”:另一大主流技术 “基于神经网络的连接柱与学习”,缺陷:当时神经网络只能处理线性分类,甚至对 “异或” 这么简单的问题都处理不了;
1983年,J. J. Hopfield 利用神经网络求解 “流动推销员问题” 这个著名的 NP 难问题取得重大进展;
1986年,E. E. Rumelhart 等人重新发明了著名的 BP 算法;( “符号主义学习” 产生明确的概念;“连结主义学习” 产生 “黑箱” 模型);
连结主义
缺点:在知识获取的角度来看,具有明显的弱点;学习过程设计大量的参数,而参数的设置缺乏理论的指导,主要靠手工调参,参数调节上可能失之毫厘谬之千里;
优点:BP 算法可以使连结主义在很多现实问题中,产生作用;1990s,统计学习成为主流,代表性技术为支持向量机;
2000s,连结主义学习成为主流,以 “深度学习” 为代表技术;狭义的说,就是 “很多层” 的神经网络;(流行的原因:数据大了,计算能力强了)
深度学习模型拥有大量参数,若数据样本少,很容易 “过拟合”;
六、应用现状
七、机器学习的由来
1952年,阿瑟·萨缪尔,在IBM公司研制了一个西洋跳棋程序,可通过对大量棋局的分析,辨识出当前局面下的 “好棋” 和 “坏棋”。
1956年,萨缪尔在达特茅斯会议上介绍了这项工作,发明了 “机器学习” 这个词;