【机器学习笔记】如何使用机器学习解决问题

要用机器学习来解决问题,一般的步骤为:

  1. 定义问题:收集数据集
  2. 对数据进行预处理
  3. 算法(模型)的选择
  4. 对结果进行优化(评估)

在这里插入图片描述

定义问题:收集数据集

  • 收集问题资料,深入理解问题,然后将问题抽象成机器可预测的问题。
  • 明确业务目标和模型预测目标。
  • 根据预测目标选择适当的评估指标用于模型评估。
  • 从原始数据中选择最相关的样本子集用于模型训练,并对样本子集划分训练集和测试集,应用交叉验证的方法对模型进行选择和评估。

对数据进行预处理

  1. 数据抽样:Sample,有时候因为样本量较大,出于训练时间的考虑需要对样本进行采样
  2. 数据过滤:对于一些脏数据进行过滤,例如对于ctr预估负样本来说的无效曝光等。
  3. 数据分割:Splitter,用于交叉验证,主要是要将训练集分成Train和Validate两部分,
    注意不要对整个数据进行分割,因为数据处理之后具体内容会有变化,所以我们可以仅进行index分割(即记录Id分割)。同时分割还有一些更复杂的处理技巧,比如考虑样本之间交集情况等。
    1)简单分割:Leave One Out, Kfolder
    2) 复杂分割:根据Train和Test集合的重合度进行分割
    3) Level分割:第一层划分后再对第一层进行第二次划分,如此继续
    4) 时序分割:对于有时序的样本采用

算法(模型)的选择

众多模型中选择最佳的模型需要对模型有很深入的理解。在之前的博客中,提到了线性回归算法、逻辑回归算法,以及它们的正则化处理等。根据不同的要求,使用不同的算法进行处理。模型是指基于训练数据集,所要学习到的概率分布或者决策函数,比如线性模型(线性回归,逻辑回归等),非线性模型(决策树,神经网络)。

对结果进行优化(评估算法)

目标:为了从模型的假设空间中选择出最优的模型,我们希望代价函数取到最小。

下面介绍了一些模型评估的指标和方法:

  • 可以选择查准率、查全率、AUC指标表现更好的模型;
  • 可以通过的交叉验证法用验证集来评估模型性能的好坏;
  • 可以针对一种模型采用多种不同的方法,每种方法给予不同的权重值,来对该模型进行综合“评分”。

在模型评估的过程中,可以判断模型的“过拟合”和“欠拟合”。

  1. 若是存在数据过度拟合的现象,说明可能在训练过程中把噪声也当作了数据的一般特征,可以通过增大训练集的比例或是正则化的方法来解决过拟合的问题。
  2. 若是存在数据欠拟合的情况,说明数据训练的不到位,未能提取出数据的一般特征,要通过增加多项式维度、减少正则化参数等方法来解决欠拟合问题。

为了使模型的训练效果更优,还要对所选的模型进行调参,这就需要对模型的实现原理有更深的理解。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值