5分钟了解算法开发的主要流程

推荐阅读时间:5分钟

简介

本文主要针对算法小白,用于了解算法开发的主要流程和术语。不当之处,还望包含。

主要流程如下:

  1. 问题抽象:确定问题类型。
    分类、回归、标注等
  2. 数据收集处理(特征工程)
    训练集、验证集、测试集
  3. 确定假设空间:找到合适的算法去进行预测
  4. 模型最优化:确定一个假设函数来确定假设空间的最优解
  5. 模型评估:判定模型的效果怎么样。
    若效果不好,则 1.换参数 2.换算法 3.特征工程进一步处理
  6. 模型预测:模型上线使用
    模型以API形式提供

基本术语

机器学习类型

监督学习与无监督学习

根据训练数据是否拥有标记信息,学习任务可分为监督学习(如分类、回归、标注)和无监督学习(如聚类)。

分类问题

若我们欲预测的是离散值,如:好瓜、坏瓜。此类学习任务称为分类。

回归问题

若欲预测的是连续值,如西瓜成熟度:0.91、0.65。此类学习任务称为回归。

标注问题

可以认为标注问题是分类问题的一个推广。

标注问题的输入是一个观测序列,输出的是一个标记序列或状态序列。也就是说,分类问题的输出是一个值,而标注问题输出是一个向量,向量的每个值属于一种标记类型。

聚类问题

通常,人们根据样本间的某种距离或者相似性来定义聚类,即把相似的(或距离近的)样本聚为同一类,而把不相似的(或距离远的)样本归在其他类。

聚类的目标:组内的对象相互之间是相似的(相关的),而不同组中的对象是不同的(不相关的)。组内的相似性越大,组间差别越大,聚类就越好。

数据集类型

训练集

作用:估计模型
学习样本数据集,通过匹配一些参数来建立一个分类器。建立一种分类的方式,主要是用来训练模型的。

验证集

作用:确定网络结构或者控制模型复杂程度的参数
对学习出来的模型,调整分类器的参数,如在神经网络中选择隐藏单元数。验证集还用来确定网络结构或者控制模型复杂程度的参数。

测试集

作用:检验最终选择最优的模型的性能如何
主要是测试训练好的模型的分辨能力(识别率等)

假设空间

假设空间与模型的关系

监督学习的目的在于学习一个由输入到输出的映射,这一映射由模型来表示。换句话说,学习的目的就在于找到最好的这样的模型。模型属于由输入空间到输出空间的映射的集合,这个集合就是假设空间。假设空间的确定意味着学习范围的确定。

参考:

《机器学习》周志华

《统计学习方法》李航