本文主要跟大家一起学习如下几个内容
- 机器学习的定义
- 机器学习的方法
- 机器学习的流程
一、机器学习定义
机器学习,从名字上简单理解,便是一门让机器可以学习的技术。但怎么可以做到让机器会学习呢?从实践的角度讲,就是利用数据,进行训练,找到规律,获得模型,进而利用模型对未知数据进行预测的一种方法。
人类在历史长河中积累了很多的经验,并定期地对这些经验进行“归纳”,获得了世界的“规律”。当人类遇到未知问题的时候,人类便使用这些“规律”,对未知问题进行“推测”,从而指导自己的下一步怎么办。有句老话说得好,“历史往往不一样,但历史总是惊人的相似”,可见学习、归纳、总结的价值是非常大的。
而机器学习的思想,就是模拟人类学习、归纳、总结的过程。机器学习中的“训练”与“预测”过程,类比于人类的“归纳”和“推测”过程。通过这样的对应,机器可以像人类一样,实现特定场景下的智能。
二、机器学习方法
从算法上来分,包括聚类、K近邻、贝叶斯、决策树、随机森林、支持向量机、线性回归、逻辑回归、神经网络等等。从学习方法上来分,又可以分为监督学习(如分类问题、回归问题)、无监督学习(如聚类问题)、半监督学习、深度学习、强化学习等等。
深度学习和强化学习在上一节的末尾已经解释过,本节再介绍另外几个学习方法的概念。
-
监督学习,数据集中包含目标值,即通过输入数据与其对应的目标值,建模找到之间的关系。
-
无监督学习,数据集中无目标值,直接对输入数据进行建模。
-
半监督学习,综合利用有目标值的数据和无目标值的数据进行建模。
关于机器学习常见算法的原理和使用方法,后面将基于sklearn框架逐一介绍,今天就先附上一张图,让大家先睹为快。
三、机器学习流程
-
1、获取数据
-
2、数据预处理
-
3、特征工程
-
4、算法训练得到模型
-
5、模型评估
-
6、模型应用
业界流行一句话,“数据和特征决定了机器学习的上限,而模型和算法只是逼近这个上限而已 ”。“Garbage in, garbage out”,没有好的数据和特征,机器学习也无法达到最优的结果。
对于非算法工程师而言,我们70%时间是花在分析业务,分析数据,数据预处理,特征工程,30%时间用于选择合适的算法、调参数和评估优化上面。