如何确定怎样进一步提升学习算法的性能

  当我们成功实现一个机器学习算法并将其用于解决实际问题时,常常会发现它的性能

(分类、回归准确度)达不到我们足够满意的状态。在这种情况下,我们有以下六种选项

来提高当前算法的性能

1 增加training set的数目  这种方法适合模型发生过拟合的情况

2 减小feature的数量(使用更少feature)  这种方法适合模型发生过拟合

3 增加feature的数量(使用更多feature)  这种方法适合模型发生欠拟合

4 增加多项式feature   这种方法适合发生欠拟合的模型

5 减小λ  适合欠拟合的模型

6 增大λ  适合过拟合的模型

注意以上几点,就可以避免由于方向选择的不对造成的时间浪费。

对神经网络而言,一般说来,层数多/每层节点数多的复杂神经网络的性能往往比简答的神经网络性能好。

如果一个神经网络欠拟合的话,可以考虑增加层数、增加每层节点数、减小λ。

反之,如果是过拟合的话,最佳选项是增大λ。

时间: 2024-11-13 11:30:36

如何确定怎样进一步提升学习算法的性能的相关文章

对弈类游戏的人工智能(2)--学习算法

前言: 对弈类游戏的智能算法, 网上资料颇多, 大同小异. 我写这篇文章, 一方面是对当年的经典<<PC游戏编程(人机博弈)>>表达敬意, 另一方面, 也想对自己当年的游戏编程人生做下回顾. 上一篇博文:对弈类游戏的人工智能(1)--评估函数+博弈树算法, 着重讲述了评估函数+博弈树, 本文着重讲述学习算法, 以及性能优化和游戏性问题. 分析: 评估函数的引入, 为游戏AI提供了理论基础. G(s) = a1 * f1(s) + a2 * f2(s) + ... + an * fn

【神经网络和深度学习】笔记 - 第三章 如何提高神经网络学习算法的效果

文章导读: 1.交叉熵损失函数 1.1 交叉熵损失函数介绍 1.2 在MNIST数字分类上使用交叉熵损失函数 1.3 交叉熵的意义以及来历 1.4 Softmax 2. 过拟合和正则化 2.1 过拟合 2.2 正则化 2.3 为什么正则化可以减轻过拟合问题 2.4 正则化的其它方法 3. 参数初始化 4. 其它方法 4.1 随机梯度下降算法的改进 4.2 其它神经元模型 我们前面已经学习了反向传播算法,它是我们学习神经网络的基础.这一章将会介绍一系列的方法技巧来改善反向传播算法的效果,进而改善学

Ensemble_learning 集成学习算法 stacking 算法

原文:https://herbertmj.wikispaces.com/stacking%E7%AE%97%E6%B3%95 stacked 产生方法是一种截然不同的组合多个模型的方法,它讲的是组合学习器的概念,但是使用的相对于bagging和boosting较少,它不像bagging和boosting,而是组合不同的模型,具体的过程如下:1.划分训练数据集为两个不相交的集合.2. 在第一个集合上训练多个学习器.3. 在第二个集合上测试这几个学习器4. 把第三步得到的预测结果作为输入,把正确的回

写在前面:21天学习算法

最近打算找一份新的工作,感到自己在算法环节还很疲弱.由于时间还算充裕,就决定将LeetCode上面的算法题学一遍,找出自己的薄弱,锻炼算法思维,吸收他人长处.个人觉得,刷题只是学习算法中的一个环节,主要的作用是用来反馈错误和增加熟练度.相比较刷题,更加重要的是对比和总结,对比自己的代码和他人的代码,对比不同的解法,总结一类算法或一类问题,总结一些tips,这两步是提升自己的关键.另外,为了不让自己的视野过于局限,让得到的碎片化学习成果体系化,可以在刷题的时候,就某方面的算法或数据结构,多参考其他

【cs229-Lecture5】生成学习算法:1)高斯判别分析(GDA);2)朴素贝叶斯(NB)

参考: cs229讲义 机器学习(一):生成学习算法Generative Learning algorithms:http://www.cnblogs.com/zjgtan/archive/2013/06/08/3127490.html 首先,简单比较一下前几节课讲的判别学习算法(Discriminative Learning Algorithm)和本节课讲的生成学习算法(Generative Learning Algorithm)的区别. eg:问题:Consider a classi?cat

Stanford机器学习[第五讲]-生成学习算法

本课内容: 生成学习算法的介绍: 第一个典型的生成学习算法--高斯判别分析: 生成学习算法与之前的判别学习算法的对比: 朴素贝叶斯算法, Laplace平滑. 1.生成学习算法 学习算法分为两种:一种是判别学习算法(Discriminative Learning Algorithm),简称DLA,另一种是生成学习算法(Generative Learning Algorithm),简称GLA. DLA通过建立输入空间X与输出标注{1, 0}间的映射关系学习得到p(y|x).而GLA首先确定p(x|

集成学习算法总结----Boosting和Bagging(转)

1.集成学习概述 1.1 集成学习概述 集成学习在机器学习算法中具有较高的准去率,不足之处就是模型的训练过程可能比较复杂,效率不是很高.目前接触较多的集成学习主要有2种:基于Boosting的和基于Bagging,前者的代表算法有Adaboost.GBDT.XGBOOST.后者的代表算法主要是随机森林. 1.2 集成学习的主要思想 集成学习的主要思想是利用一定的手段学习出多个分类器,而且这多个分类器要求是弱分类器,然后将多个分类器进行组合公共预测.核心思想就是如何训练处多个弱分类器以及如何将这些

(笔记)斯坦福机器学习第五讲--生成学习算法

 本讲内容 1. Generative learning algorithms(生成学习算法) 2. GDA(高斯判别分析) 3. Naive Bayes(朴素贝叶斯) 4. Laplace Smoothing(拉普拉斯平滑) 1.生成学习算法与判别学习算法 判别学习算法:直接学习  或者学习一个假设  直接输出0或者1.logistic回归是判别学习算法的一个例子. 生成学习算法:对  建模,即在给定所属的类别的情况下,对特征出现的概率建模.出于技术上的考虑,也会对  建模.   根据贝叶斯公

什么是算法,学习算法有什么用

什么是算法 任何一个问题的解决方案都并非是凭空出现的,解决一个问题都需要选择一个合适的方法,并在此方法的引导下完成一系列的解答步骤,最终将问题转换为结果状态,对于计算机来说,这样的方法就是算法. 算法有很多种分类,可以是一系列的数学计算,也可以是一系列的操作步骤,总之,它存在的意义就是为了有针对性地解决问题,之所以强调针对性解决问题,是因为这个世界上还没有一种可以解决一切的万能算法,每个问题都有它独特的一面. 而对于这些特殊的需求,于是在这行业中出现了新的一批人,他们负责设计解决各种问题的算法.