目录
1、机器学习概念
什么是机器学习?当前并没有一个统一的定义,常见的观点有:
- “机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能”;
- “机器学习是对能通过经验自动改进的计算机算法的研究”;
- “机器学习是用数据或以往的经验,以此优化计算机程序的性能标准”。
这里重点把握几个关键词:经验(以往的数据)、算法(模型)、性能。
机器学习是数据通过算法构建出模型并对模型性能进行评估,如果达到要求就拿这个模型来测试其他的数据,如果达不到要求就调整算法重新建立模型,再次进行评估,如此循环迭代,直到最终获得满意的经验来处理其他的数据。
此外,大家简单理解下人工智能、机器学习和深度学习这三者的关系。人工智能的范畴最广,机器学习只是里面的一部分,深度学习又是机器学习中的一部分。
2、 机器学习分类
- 监督学习:从给定的训练数据集中学习一个模型,当新的数据到来时,可以根据这个模型预测结果。每组训练数据都有明确的标注,在建立模型时,将预测结果与实际结果进行比较,不断调整模型,直到模型的预测结果达到预期的准确率。
- 无监督学习:学习模型是为了推断出数据的一些内在结构,训练数据没有被特别标注,常见的应用场景包括关联规则的学习、聚类等;
- 半监督学习:介于监督学习与无监督学习之间的一种机器学习方式,主要考虑如何利用少量的标注样本和大量的未标注样本进行训练和分类的问题,首先试图对未标注数据进行建模,在此基础上再对标注的数据进行预测;
- 强化学习:通过观察来学习动作的完成,每个动作都会对环境有所影响,根据观察到的周围环境的反馈来做出判断。以一种“试错”的方式进行学习,最终找到最优策略,常见的应用场景包括动态系统以及机器人控制等。
3、机器学习应用场景
机器学习已广泛应用于数据挖掘、计算机视觉、自然语言处理、统计学习、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音识别、模式识别 、战略游戏 和 机器人等领域。
- 在企业数据应用的场景下,最常用的是监督式学习和无监督式学习的模型;
- 在图像识别等领域,由于存在大量的非标注的数据和少量的标注数据,目前半监督式学习是一个研究的热点;
- 强化学习更多地应用在机器人控制及其他需要进行系统控制的领域。
4、 机器学习常见算法
- 回归算法
- 决策树算法
- 贝叶斯算法
- 随机森林
- 神经网络
- 支持向量机
- 聚类算法
- 降维算法
- ……
由于篇幅限制,本系列不会详细介绍算法实现的细节以及算法的数学推导过程,如果大家对这一部分比较感兴趣,这里给大家推荐两本参考书。
5、 机器学习的大致流程
(1)数据收集和预处理:(原始的数据往往不能满足要求,需要做一些处理,例如归一化、缺失值处理等)
(2)特征抽取:(抽取哪些关键特征,如何表示这些特征)
(3)模型选择和训练:(如何选择模型,如何学习模型中的参数)
(4)评估和预测(采用什么标准来评估模型,不同的标准模型效果会有较大区别。例如误差率、查全率、召回率等等)
6、 常见的机器学习库
Python中机器学习相关的第三方库很多,这里我们重点介绍使用较为广泛的Scikit-learn。
Scikit-learn 涵盖了几乎所有主流机器学习算法,并且提供了一致的调用接口,基于 Numpy 和 SciPy 等Python数值计算库,提供了高效的算法实现。
Python标准库默认不包含 scikit-learn,需要自己下载安装:
- 命令行安装 pip install scikit-learn
- 通过Anaconda软件安装
Scikit-learn基本功能主要分为六部分:分类、回归、聚类、数据降维、模型选择和数据预处理。Scikit-learn官网:https://scikit-learn.org/stable/。
Scikit-learn 中主要子库及其内容。
- datasets:包含一些加载数据的工具以及获取比较流行的数据集的方法,例如鸢尾花、手写字体识别等数据集;
- preprocessing: 包括缩放、中心化、标准化、二值化等方法,例如独热编码等;
- feature_selection: 包含特征选择的一些方法,例如选择最相关的k个特征等;
- model_selection: 包含模型选择的一些方法,例如划分数据集等;
- linear_model: 包含各种线性模型的实现,如线性回归、逻辑回归等;
- neural_network:包含各种神经网络模型的实现,例如多层感知机等;
- metrics: 包含一些值函数、性能指标、距离计算方法的实现,如均方差、召回率、准确率等
更多关于手把手教你学Python的文章请关注微信公众号:手把手教你学编程。详细的视频讲解可查看 CSDN学院 里的手把手教你学Python系列视频:https://edu.csdn.net/lecturer/5686。 欢迎加入QQ群一起学习交流:858228002 。