基础概念
机器学习主要分为监督学习、非监督学习、半监督学习和强化学习等四种学习方式
-
监督学习
通过已有的一部分输入数据与输出数据之间的对应关系(训练集),生成一个函数模型,将输入映射到合适的输出(测试集)。
训练集:包括输入(特征)和输出(目标),是由人为标记的。
测试集:评估模型的精确度。
验证集:主要用来进一步确定模型的参数。
监督式学习的常见应用场景是分类问题
和回归问题
。分类算法中目标变量的类型通常是离散的;而在回归算法中是连续的。
-
非监督学习
在非监督学习中,数据没有类别的信息,也不会给定目标值(没有训练集),而是直接对输入的数据进行建模。
非监督学习常见的应用场景是聚类
和关联规则的学习
。
-
半监督学习
简单来说就是介于监督学习和非监督学习中间的一种学习方式,采用有类别标注的数据和没有类比标注的数据相结合的学习方式。
主要考虑如何利用少量的样本标注和大量的未标注样本进行训练和分类 的问题,这样可以减少标注代价。
应用场景包括分类和回归,算法包括一些对常用监督式学习算法的延伸。
-
强化学习(主动学习)
输入数据作为对模型的反馈,而模型也必须针对反馈立刻做出调整。
监督学习中,输入数据仅作为检查模型对错的方式。
常见的应用场景包括动态系统
以及机器人控制
等。
开发机器学习应用程序的步骤
通常开发的步骤分为以下几步:
- 收集数据
- 准备输入数据(一般主要解决格式问题)
- 分析输入数据(判断数据中是否存在空值、异常值和垃圾数据)
- 训练算法(非监督学习不需要训练算法)
- 测试算法(必须用评测手段来检验算法的成功率)
- 使用