Explore Machine Learning 101, Basic Concepts,三

Explore Machine Learning 101, Basic Concepts,三


  Note:本文系LeetCode专题“Basic Concepts in ML,Basic Concepts in ML”的翻译,期间加有笔者个人的见解,如有错误,欢迎评论区留言讨论,共同进步。

三、如何实现机器学习(How)

  通过前两节的学习我们深入了解了非监督学习(Clustering 和 Association)、监督学习(Classification Model 和 Regression Model)的几个分类实例,在接下来的学习中我们将进入本系列的第三部分——训练机器学习的流程。同时我们将介绍机器学习模型建立过程中会遇到的共性问题。

1、机器学习的流程

  说起机器学习我们就不能不提到数据;数据与机器学习模型之间的关系,就好像火箭发动机的燃料一样至关重要。

机器学习模型的构建始终以数据为中心(重中之重)

  毫不夸张的说,数据的组织形式很大程度上可以影响机器学习模型的构建方式。下面我们展示一个典型的需要运用到机器学习的项目流程。
在这里插入图片描述  首先对所有数据分析确定我们希望解决的机器学习模型的类型,即是有监督学习还是非监督学习。如果数据中的有一个属性是我们所需要的目标属性,那么我们就可以认为该数据被标记了。例如,在判断照片上是否有猫的任务中,数据的目标值可以是布尔值 [ Y e s ∣ N o ] [Yes|No] [YesNo],如果这个属性存在,我们可以认为数据被标记了,即该问题是一个有监督学习问题。
  对于有监督的机器学习模型算法,我们可以根据期望得到的输出进一步确定生成的模型类型,即分类(离散值)还是回归(连续值)。
  一旦我们确立了模型类型以后,就可以继续执行对特征进行处理的工作,即将数据转换成我们所需要的格式。以下我们有几个例子:

  • 大多数情况下我们将所有数据集分成两组:训练集和测试集。训练集用于训练模型,而测试集则用于测试或验证我们构建的模型是否足够通用,可以应用于不可见的数据。
  • 原始数据集往往缺少一些值而不完整,因此我们通常会采取一些策略去填充这些缺失的值,例如采用平均值法。
  • 数据集中往往包含一些类别属性,如国家、性别等等。由于算法的限制,我们往往需要将这些分类字符串的值编码为数值。比如,线性回归算法智能处理实数值作为输入的向量。

对于特征值进行处理的工作不是一次性的,往往需要重复多次进行该项工作。

  当数据处理完成以后,我们选择其中一种适合的机器学习算法,再将准备好的训练数据输入算法中。这就是我们常说的训练过程。
  当训练过程完成后我们得到了一个机器学习的模型,然后用保留的测试数据集来测试模型。这就是我们常说的测试过程。
  通常情况下,我们得到的第一个模型很难满足实际运用要求,因此我们会返回到训练过程中去优化和微调模型所公开的一些参数。这就是我们常说的超参数调优(hyper-parameter tuning)。之所以强调“hyper”,是因为我们调优的参数是与模型交互的最外层接口,这最终会对模型的底层参数产生影响。例如,对于决策树模型,其超参数之一就是树的最大高度。一旦在培训之前手动设置,它将限制决策树最后可以生长的分支和叶子的数量,这些是决策树模型包含的基础参数。

总结

  通过今天的学习我们深入了解了训练机器学习的流程,在接下来的学习中我们将进一步了解数据对于机器学习模型构建的重要性,同时对低拟合和过拟合问题进行初步的分析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值