本文所讲述的是怎么样去在实践中更好的应用机器学习算法,比如如下经验风险最小化问题:

当求解最优的  后,发现他的预测误差非常之大,接下来如何处理来使得当前的误差尽可能的小呢?这里给出以下几个选项,下面介绍的是如何在一下这些应对策略中选择正确的方法来助力以上问题。

当模型的variance比较大时,可能存在过拟合,这时可以尝试增多样本或者减少特征或者增大正则参数

当模型的bias比较大时,可能存在欠拟合,这时可以尝试增加更多的特征或者增加多项特征或减小正则参数

首先,一般的Mechine Learning问题,我们会把数据分为训练集交叉验证集测试集,比例分别为6:2:2.

这样,即可以用一下三哥公式分别计算假设函数在三个集合上的损失:

接下来,用交叉验证集合找到最优的  ,用该  去到测试机上验证来得到测试误差Jerr():

bias. variance.

如果目前的算法表现不是很好Jcv或者Jtest很高,可以绘制如下关于bias与variance的图来确定是哪里的问题,如果Jtrain与Jcv均过高,则为bais问题,模型还处于欠拟合的状态,或Jtrain相对Jcv很低,则为variance问题。

正则化项  的选取问题,随着  的增大,参数  的取值会越来越小,模型处于欠拟合状态,偏差bais会越来越大,Jtrain也会随之增大

在交叉验证集合上,当  很小时,  取值很大,模型可能处于过拟合状态,variance会很大,随着  增大,Jcv会先减小到最小值,此处的最小值点即为bais与variance比较平衡的地方。当  继续增大,Jcv也会便也会开始增大,最终会导致bais比较大。所以此处Jcv处于最小值的情况下才是最优的  。

增加训练数据

首先注意,随着训练数据的增多,根据6 2 2 的比例,交叉验证集 与 测试集的数据均会增加。

1)当使用一个相对合适的模型时,当数据比较少时,Jtrain会完美拟合训练数据,但此时Jcv会比较大,因为数据少得话模型很难范化到交叉验证集,数据的增加会导致Jtrain增大,Jcv减小,此时增多数据的效果会越来越好。

    

2)当使用一个欠拟合的模型时,会导致Jtrain非常之大,此时,增大数据量不会有任何效果,因为Jcv不会变的更小,模型无论在测试集还是训练集上都不会有很好的效果。

3)当使用一个过拟合的模型时,当数据较少时,Jtrain与Jcv之间的间隔会比较大,此时增大数据量,效果会有一些提升,Jtrain与Jcv的间隔会减小,这也就是所谓的增多训练数据来避免过拟合。

CS229 7.1应用机器学习中的一些技巧的更多相关文章

  1. 机器学习中的相似性度量(Similarity Measurement)

    机器学习中的相似性度量(Similarity Measurement) 在做分类时常常需要估算不同样本之间的相似性度量(Similarity Measurement),这时通常采用的方法就是计算样本间 ...

  2. paper 127:机器学习中的范数规则化之(二)核范数与规则项参数选择

    机器学习中的范数规则化之(二)核范数与规则项参数选择 zouxy09@qq.com http://blog.csdn.net/zouxy09 上一篇博文,我们聊到了L0,L1和L2范数,这篇我们絮叨絮 ...

  3. paper 126:[转载] 机器学习中的范数规则化之(一)L0、L1与L2范数

    机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http://blog.csdn.net/zouxy09 今天我们聊聊机器学习中出现的非常频繁的问题:过拟合与规则化. ...

  4. 机器学习中的范数规则化之(一)L0、L1与L2范数

    L1正则会产生稀疏解,让很多无用的特征的系数变为0,只留下一些有用的特征 L2正则不让某些特征的系数变为0,即不产生稀疏解,只让他们接近于0.即L2正则倾向于让权重w变小.见第二篇的推导. 所以,样本 ...

  5. ML 07、机器学习中的距离度量

    机器学习算法 原理.实现与实践 —— 距离的度量 声明:本篇文章内容大部分转载于July于CSDN的文章:从K近邻算法.距离度量谈到KD树.SIFT+BBF算法,对内容格式与公式进行了重新整理.同时, ...

  6. paper 56 :机器学习中的算法:决策树模型组合之随机森林(Random Forest)

    周五的组会如约而至,讨论了一个比较感兴趣的话题,就是使用SVM和随机森林来训练图像,这样的目的就是 在图像特征之间建立内在的联系,这个model的训练,着实需要好好的研究一下,下面是我们需要准备的入门 ...

  7. 机器学习中的范数规则化之(一)L0、L1与L2范数(转)

    http://blog.csdn.net/zouxy09/article/details/24971995 机器学习中的范数规则化之(一)L0.L1与L2范数 zouxy09@qq.com http: ...

  8. 机器学习中的算法-决策树模型组合之随机森林与GBDT

    机器学习中的算法(1)-决策树模型组合之随机森林与GBDT 版权声明: 本文由LeftNotEasy发布于http://leftnoteasy.cnblogs.com, 本文可以被全部的转载或者部分使 ...

  9. 机器学习中的数学(1)-回归(regression)、梯度下降(gradient descent)

    版权声明: 本文由LeftNotEasy所有,发布于http://leftnoteasy.cnblogs.com.如果转载,请注明出处,在未经作者同意下将本文用于商业用途,将追究其法律责任. 前言: ...

随机推荐

  1. 论 微服务 和 Entity Framework 对 数据 的 割裂

    微服务 的 本质 是 面向对象, 微服务 是 面向对象 对 数据中心 发起的挑战, 在 微服务 架构下, “数据为中心” 的 传统架构 被 严重 割裂, 微服务 的 先天矛盾, 是 对象 和 数据 的 ...

  2. 事务 — Redis 设计与实现

    非事务状态下的命令以单个命令为单位执行,前一个命令和后一个命令的客户端不一定是同一个: 事务状态则是以一个事务为单位,执行事务队列中的所有命令:除非当前事务执行完毕,否则服务器不会中断事务,也不会执行 ...

  3. haproxy参数

    https://blog.csdn.net/chengfei112233/article/details/78983026 https://www.cnblogs.com/dkblog/archive ...

  4. python之numpy.power()数组元素求n次方

    numpy.power(x1, x2) 数组的元素分别求n次方.x2可以是数字,也可以是数组,但是x1和x2的列数要相同. >>> x1 = range(6) >>> ...

  5. Hive HiveServer2+beeline+jdbc客户端访问操作

    HiveServer 查看/home/hadoop/bigdatasoftware/apache-hive-0.13.1-bin/bin目录文件,其中有hiveserver2 启动hiveserver ...

  6. cksum命令详解

    Linux cksum命令 Linux cksum命令用于检查文件的CRC是否正确.确保文件从一个系统传输到另一个系统的过程中不被损坏. CRC是一种排错检查方式,该校验法的标准由CCITT所指定,至 ...

  7. 批处理手动设置电脑的ip

    参考: http://blog.csdn.net/jiangzhanchang/article/details/7063152 http://wenda.haosou.com/q/1378697364 ...

  8. HAAR小波

    HAAR小波分解信号或图像的“平滑”部分和“变化”部分(也许所有小波都这样?). 比如信号[1 2 3 4 5 6 7 8] 分解后(不考虑系数): [1.5 3.5 5.5 7.5]         ...

  9. 蓝桥杯-四阶幻方(DFS)

    标题:四阶幻方 把1~16的数字填入4x4的方格中,使得行.列以及两个对角线的和都相等,满足这样的特征时称为:四阶幻方. 四阶幻方可能有很多方案.如果固定左上角为1,请计算一共有多少种方案. 比如: ...

  10. 【java】之深入理解JVM

    JVM规范定义的标准结构如下: 以上结构是JVM标准规范中定义的,但各厂家在实现时不一定会完全遵守, 1.JVM负责加载class文件并执行,因此,首先要掌握的是JDK如何将Java代码编译成clas ...