相关术语
- 通常我们为算法输入大量已分类数据作为算法的训练集。
训练集是用于训练机器学习算法的数据样本集合。 - 目标变量是机器学习算法的预测结果,在分类算法中目标变量的类型通常是标称型的,而在回归算法中通常是连续型的。
- 训练样本集必须确定知道目标变量的值,以便机器学习算法可以发现特征和目标变量之间的关系。
- 我们通常将分类问题中的目标变量成为类别,并假定分类问题只存在有限个数的类别。
- 为了测试机器学习算法的效果,通常使用两套独立的样本集:训练数据和测试数据。
机器学习的主要任务
- 主要任务是将实例数据划分到合适的分类中。
- 另一项任务是回归,它主要用于预测数值型数据。
- 分类和回归属于监督学习,之所以称之为监督学习,是因为这类算法必须知道预测什么,即目标变量的分类信息。
- 与监督学习相对应的是无监督学习,此时数据没有类别信息,也不会给定目标值。
- 在无监督学习中,将数据集合分成由类似的对象组成的多个类的过程被称为聚类,将寻找描述数据统计值的过程称之为密度估计。
用于执行分类、回归、聚类和密度估计的机器学习算法
监督学习:
算法 | 用途 |
---|
k-近邻算法 | 线性回归 |
朴素贝叶斯算法 | 局部加权线性回归 |
支持向量机 | Ridge回归 |
决策树 | Lasso最小回归系数统计 |
无监督学习:
算法 | 用途 |
---|
k-均值 | 最大期望算法 |
DBSCAN | Parzen窗设计 |
如何选择合适的算法
- 首先考虑使用机器学习算法的目的。如果想要预测目标变量的值,则可以选择监督学习算法。否则可以选择无监督算法。
- 选择监督学习算法之后需要进一步确定目标变量类型,如果目标变量是离散型,如红、黄、黑等,则可以选择分类算法。如果目标变量是连续型的数值,则需要选择回归算法。
- 如果不想预测目标变量的值,则可以选择无监督学习算法。进一步分析是否需要将数据划分为离散的组。如果这是唯一的需求,则使用聚类算法,如果还需要估计数据与每个分组的相似程度,则需要使用密度估计算法。
我们只能在一定程度上缩小算法的选择范围,一般并不存在最好的算法或者可以给出最好结果的算法,同时还要尝试不同算法的执行效果。
开发机器学习应用程序的步骤
- 收集数据。
- 准备输入数据。
- 分析输入数据。(如果信任数据来源可以跳过)
- 训练算法。(如果使用无监督学习算法,由于不存在目标变量值,故而不需要训练算法)
- 测试算法。
- 使用算法。