“机器学习”到底是啥?
1.概述:
“机器学习”是一门多领域交叉学科,设计概率论,统计学,逼近论,算法复杂度理论等多门学科,“机器学习”使得计算机人才适应大数据与人工智能新时代的发展趋势。
2.定义:
定义1:机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能。
定义2:机器学习是对能通过经验自动改进的计算机算法的研究。
定义3:机器学习是用数据或以往的经验,以此优化计算机程序的性能标准。
补充定义<人工智能>:人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。
3.发展阶段:
阶段1:“黑暗时代”,人工智能的诞生(1943-1956)
- Warren McCulloch和Walter Pitts在1943年发表了人工智能领域的开篇之作,提出了人工神经网络模型。
- John von Neumann。他在1930年加入了普林斯顿大学,在数学物理系任教,和阿兰·图灵是同事。
- Marvin Minsky和Dean Edmonds建造第一台神经网络计算机。1956年:John McCarthy从普林斯顿大学毕业后去达特茅斯学院工作,说服了Marvin Minsky和Claude Shannon在达特茅斯学院组织一个暑期研讨会,召集了对机器智能、人工神经网络和自动理论感兴趣的研究者,参加由IBM赞助的研讨会。
阶段2:推理期
- 出发点:"数学家真聪明”
- 主要成就:自动定理证明系统
阶段3:知识期
- 出发点:"知识就是力量"
- 主要成就:专家系统
阶段4:学习期
- 出发点:“让系统自己学习”
- 主要成就:人工智能
…
4.机器学习三要素:
数据 算法 模型
5.机器学习和人脑学习的区别:
人脑学习: 假设有一对情侣,你是主人公(女友),2个月前,朋友给你介绍了一个男友,他是工作狂。为了互相了解,你们每周末都会一起约会吃饭;已经约会有8周了,每周吃饭男友都会比约定时间晚到10分钟-30分钟,所以你每次约会也会比约定时间晚10-30分钟,并且你总结了一个规律(如果约会前打电话他说在公司,那么基本都是晚到30分钟左右,如果他说在家里,那么基本会晚到10分钟),不过男友后来迟到的时间从10、30分钟变成了15、45分钟,你也自己调整了约定时间后到达的时间。
机器学习:是计算机利用已有的数据(8次约会的经验),得出了某种模型(迟到的规律),并利用此模型预测未来(是否迟到)的一种方法。
6.人工智能VS机器学习VS深度学习
人工智能,英文缩写为AI。它是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。
“人工”比较好理解,争议性也不大。有时我们会要考虑什么是人力所能及制造的,或者人自身的智能程度有没有高到可以创造人工智能的地步,等等。但总的来说,“人工系统”就是通常意义下的人工系统。
“智能”,这涉及到其它诸如意识、自我、思维(包括无意识的思维)等等问题。人唯一了解的智能是人本身的智能,这是普遍认同的观点。但是我们对我们自身智能的理解都非常有限,对构成人的智能的必要元素也了解有限,所以就很难定义什么是“人工”制造的“智能”了。因此人工智能的研究往往涉及对人的智能本身的研究。其它关于动物或其它人造系统的智能也普遍被认为是人工智能相关的研究课题。
机器学习,是实现人工智能的一种方法。机器学习的概念来自早期的人工智能研究者,已经研究出的算法包括决策树学习、归纳逻辑编程、增强学习和贝叶斯网络等。简单来说,机器学习就是使用算法分析数据,从中学习并做出推断或预测。与传统的使用特定指令集手写软件不同,我们使用大量数据和算法来“训练”机器,由此带来机器学习如何完成任务。
深度学习,简称DL。最初的深度学习是利用深度神经网络来解决特征表达的一种学习过程。深度神经网络本身并不是一个全新的概念,可大致理解为包含多个隐含层的神经网络结构。为了提高深层神经网络的训练效果,人们对神经元的连接方法和激活函数等方面做出相应的调整。深度学习是机器学习研究中的一个新的领域,其动机在于建立、模拟人脑进行分析学习的神经网络,它模仿人脑的机制来解释数据,如图象、声音、文本。
7.基本概念和术语:
三种不同类型的机器学习:
1.有监督:主要目标是从有标签的训练数据中学习模型,以便对未知或者未来的数据做出预测。
2.无监督:学习处理的是无标签或者结构未知的数据,可以在没有已知结果变量或者奖励函数的指导下,探索数据结构以提取有意义的信息。
3.强化:主要目标是开发系统或者代理,通过他们与环境的交互提高预测性能。当前的环境状态的信息通常包含奖励信号。强化学习的反馈并非是标定过的正确标签或者数值,而是奖励函数对行动的度量。代理可以与环境交互完成强化学习,通过探索性的试错或者深思熟虑的规划最大化奖励。
数据集合https://blog.csdn.net/kieven2008/article/details/81582591
1.训练集:训练和优化机器学习模型
2.测试集:保留到最后用以评估模型
3.验证集:在训练数据中分裂一部分为验证集,可以采用不同的交叉验证技术,以评估模型的泛化性。验证集是模型训练过程中单独留出的样本集,它可以用于调整模型的超参数和用于对模型的能力进行初步评估。 通常用来在模型迭代训练时,用以验证当前模型泛化能力(准确率,召回率等),以决定是否停止继续训练。
一个形象的比喻:
训练集-----------学生的课本;学生 根据课本里的内容来掌握知识。
验证集------------作业,通过作业可以知道 不同学生学习情况、进步的速度快慢。
测试集-----------考试,考的题是平常都没有见过,考察学生举一反三的能力
针对这几个集合我们再说明一下:
a)训练集直接参与了模型调参的过程,显然不能用来反映模型真实的能力(防止课本死记硬背的学生拥有最好的成绩,即防止过拟合)。
b)验证集参与了人工调参(超参数)的过程,也不能用来最终评判一个模型(刷题库的学生不能算是学习好的学生)。
c) 所以要通过最终的考试(测试集)来考察一个学(模)生(型)真正的能力(期末考试)。
泛化误差:我们把模型在真实环境中的误差叫做泛化误差,最终的目的是希望训练好的模型泛化误差越低越好
几点注意:
1.通常将数据集的80%作为训练集,20%作为测试集;
2.通常需要在开始构建模型之前把数据集进行划分,防止数据窥探偏误
3.通常我们在构建模型的时候需要将数据进行处理
4.由于测试集作为对泛化误差的近似,所以训练好模型,最后在测试集上近似估计模型的泛化能力。
8.机器学习的路线:
一些习题概念:
1.scikit-learn 是目前编程最常用的机器学习库。
2.通过 降维 把数据维度降低为2维或者3维,可以实现数据的可视化。
3.教材推荐采用 Anaconda 包管理工具来构建机器学习开发环境。
4.对回归问题,标签通常是 连续 型的。
5.我们教材将机器学习系统构建分为了4个阶段,分别是 预处理 , 学习 , 评估 , 预测 。
6.监督学习的训练数据由样本特征和标签 组成。
7.聚类 技术将数据分成有意义的群组。
8.对分类问题,标签通常是离散 型的。
9.我们教材约定用矩阵表示训练数据,矩阵的一行表示一个 样本、一列表示一个 特征 。
10.监督学习有两个主要任务,分别是 分类, 回归 。
11.教材给出的3种不同类型的机器学习是 有监督学习, 无监督学习, 强化学习。
12.Python语言是目前最流行的学习机器学习的语言。
13.强化学习不是我们教材关注的重点。
14.用机器学习方法让机器学会下棋可以采用强化学习来实现。
15.机器学习是人工智能的一个分支。