什么情况下使用large training data会非常有效

收集大量的数据可能比算法的优劣更重要

Banko和Brill在2001年做了一个研究,是关于在句子中对易混单词进行识别,画出了上图的右边的那个图,这个图显示了对于不同的算法,它们的表现相似,但是随着training set size的增加,不同的算法的性能都增加。这个说明了一个较劣势的算法,如果它有大量的数据的话,在这个例子中,它的表现会对优秀的算法只有少量的数据要好。了解到这个情况,我们就知道了,在特定的情况下(数据量的提升对改进算法有效),我们应该把精力放在收集大量的数据上,而不是用来选择某个算法。

在业界,有一句话,是"不是有最好算法的人赢了,而是有最多数据的人赢了",说明了收集大量数据的重要性。

之前我们了解到在有些情况下,收集大量的数据是没有用的(如high bias下,随着数据量的增加,算法性能并不会变好)

那么在什么情况下收集大量的数据是有用的呢?

大量数据有用的前提条件: feature能够给我们的预测提供足够的信息

如何来判断x是否给我们提供了足够的信息(useful test): 提供x的这些信息,去看看如果是这方面的专家(人),能否可以预测出y值。

例如:对于填词的那个例子,提供了X(需要填写的词周转的词),一个英语方面的专家能够正确预测出这里应该填哪个单词吗?-----是可以的,前提条件成立,这个说明大量的数据对我们的算法是有好处的。

对于房子价格预测的例子,提供了X(只是房子的面积),一个销售房产的专家也不能够正确预测房子的价格,因为不知道其它房子的信息(如所处地区,新旧,房间数等等)-----前提条件不成立,说明我们收集大量的数据是没有用的,因为这个算法处于high bias(features太少)的情况。

大量数据有用的一些讨论

我们使用了一个有很多参数的算法(即features提供了足够的信息),那么这个算法能画出很复杂的曲线,即能很好的拟合我的training data,即J(training)很小;

这时如果我们使用大量的traning set的话,算法就不会过拟合了,这样我们的J(test)与J(training)相近的大小(因过拟合的话,J(test)大J(training)小,它们之间有一段gap),又因为J(training)很小,所以J(test)也很小。=》说明了我们使用大量的数据对于有很多参数的算法来说是有效的。

另一方面说明:算法有很多参数=>low bias;using large training set(unlikely to overfit)=>low variance。我们的目的就是得到low bias与low variance的算法。

总结

  1. 拿到一个X(features),想想如果是一个在这方面的专家,能够根据X来正确预测出Y值吗?=>判断信息是否足够
  2. 如果我的算法的parameters足够多(信息足够多),这时我们增大训练集的数量是非常有效的,能够提高我的算法的性能。
时间: 2024-11-05 20:14:02

什么情况下使用large training data会非常有效的相关文章

Linux系统原有分区/data 有数据,再不格式化/data分区的情况下重装系统

1丶Linux系统原有分区/data 有数据,再不格式化/data分区的情况下重装系统当前/data/目录中有文件存在,开始重装选择引导设备重启后,一路选择下一步,直到选择下一步后,一直惦记下一步下一步在图上的界面中删除所有分区,保留下有数据的/data分区,即/sda2删除后重新进行分区一直下一步等待系统安装完成后进系统查看数据是否还在2丶给系统增加一个磁盘,并使用LVM管理,将现有卷组扩容给系统添加一块磁盘先用 fdisk -l 查看磁盘对新盘进行分区,设置格式为8e,这是LVM的分区格式使

(hdu step 3.2.4)FatMouse's Speed(在第一关键字升序的情况下,根据第二关键字来求最长下降子序列)

在写题解之前给自己打一下广告哈~..抱歉了,希望大家多多支持我在CSDN的视频课程,地址如下: http://edu.csdn.net/course/detail/209 题目: FatMouse's Speed Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Submission(s): 1034 Accepted Submission(s): 526   Proble

论文笔记《The Impact of Imbalanced Training Data for CNN》

原文是:<The Impact of Imbalanced Training Data for Convolutional Neural Networks> 本博客是该论文的阅读笔记,不免有很多细节不对之处. 还望各位看官能够见谅,欢迎批评指正. 更多相关博客请猛戳:http://blog.csdn.net/cyh_24 如需转载,请附上本文链接:http://blog.csdn.net/cyh_24/article/details/49871387 Abstract 本文主要研究使用不平衡数

Oracle主库归档丢失,备库日志有gap,在不重建备库的情况下,恢复备库

本文主要描述Oracle备库日志与主库日志之间有gap,切主库这部分gap的归档日志已经删除或丢失,如何在不重建备库的情况下,恢复备库. 欢迎转载,请注明作者.出处. 作者:张正 blog:http://space.itpub.net/26355921 QQ:176036317 如有疑问,欢迎联系. 在dataguard环境中,由于主库archivelog丢失,且尚未同步到standby,问如何在避免 重建standby的情况下来将standby恢复成功的. 下面是我的测试过程,供参考! —-主

C++对象模型——&quot;无继承&quot;情况下的对象构造(第五章)

5.2 继承体系下的对象构造 当定义一个object如下: T object; 时,实际上会发生什么事情呢?如果T有一个constructor(不论是由user提供或是由编译器合成),它会被调用.这很明显,比较不明显的是,constructor的调用真正伴随了什么? constructor可能内带大量的隐藏码,因为编译器会扩充每一个constructor,扩充程度视 class T的继承体系而定.一般而言,编译器所做的扩充操作大约如下: 1.记录在member initialization li

破解windows下MySQL服务启动不了的情况下不能对其进行完全卸载的解决方案

以下的文章主要介绍的是在MySQL服务启动不了的情况下,不能对其进行完全卸载的实际解决办法的描述,以下就是对解决MySQL服务启动不了的情况下具体方案的描述,希望在你今后的学习中会对你有所帮助. MySQL 5.1 安装过程中报apply security setting错误的解决办法 1, 卸载MySQL 2, 删除目录 C:\Documents and Settings\All Users\Application Data\MySQL 3, 重新安装MySQL 就 OK 啦 [MySQL]

How much training data do you need?

How much training data do you need?   //@樵夫上校: 0. 经验上,10X规则(训练数据是模型参数量的10倍)适用与大多数模型,包括shallow network. 1.线性模型可以应用10X的经验规则,模型参数是特征选择后的数量(PCA等方法).2.NN可以将10X规则当做训练数据量的下限. The quality and amount of training data is often the single most dominant factor t

如何在跨平台的情况下获取可执行文件的详细信息和属性

很多情况下我们需要获取到系统中一些可执行文件的版本号,以便做一些附加动作!其实可以使用jna获取,但是这将依赖人家,所以还是Java自己来吧!好啦,直接上代码吧 /** * @Description: * * @Title: FileInfoUtil.java * @Package com.joyce.util * @Copyright: Copyright (c) 2014 * * @author Comsys-LZP * @date 2014-5-12 下午03:46:32 * @versi

SQLite.dll混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。

其他信息: V5.7.4.4 Can't find the System.Data.SQLite.dll more info : 混合模式程序集是针对"v2.0.50727"版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集. 解决办法,web.config 添加