ImageVerifierCode 换一换
格式:PDF , 页数:8 ,大小:896.83KB ,
资源ID:6229119      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-6229119.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Standford 机器学习应用的建议及机器学习系统的设计.pdf)为本站会员(HR专家)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

Standford 机器学习应用的建议及机器学习系统的设计.pdf

1、Standford 机器学习应用的建议及机器学习系统的设计 By Jackie_Zhu 更多机器学习博客 http:/ 前几讲学习 了很多机器学习的算法,但是在实际的应用中会遇到很多过拟合和欠拟合 的问题, 这些问题都会导 致测试结果不理想。 用什么方法解决 这些问题,是本讲研究的主题。 举一个房价预测的例子,如果学习了一个模型,发现测试结果非常不理想 ( 有非常大的误差 ) , 那么接下去该怎么办? 下面有几种解决方法: 1、 获取 更多的样本 ,来训练模型 2、 试着用更少的特征 来构建特征向量 3、 特征向量中添加其他的特征 4、 特征向量中 添加 已有特征的多次项 5、 增加 regu

2、larization 中的 lambda 6、 减少 regularization 中的 lambda 但是我们不能盲目地去选取里面的 某个方法,这样会浪费不 必要的时间,比如用更多的样本,数据的获得往往是非常艰难的,会花上很多时间去收集数据,也许会发现,用更多的数据没有得到更好的结果。所以出现问题后,我们要首先去诊断,到底是什么导致了 很大的 误差 ,再针对问题去采取相应的措施。 一 、 评估模型 把数据集分成两部分 ( 训练数据和测试数据 ) , 往往在已有的数据集中训练数据分 70%,测试数据分 30%, 学习的过程就是最小 化训练误差,但是训练误差小,不一定测试误差 就小,这就是泛化能

3、力。我们要追求的就是 使模型具有很强的泛化能力。 在逻辑回归的例子中可以这样定义测试误差: 二、模 型的选择 在线性回归的例子中, 我们可以选取下面的多种模型中的一个作为模型拟合出不同的曲线,定义 d=degree of polynomial,即模型的最高项多项式的系数, 对每一个模型训 练之后会 学习 得到 10 个 theta 向量 ,对每一个向量用测试集进行验证,当然也会得到不同的测试结果如下图: 比如说 d=5 的时候测试误差是最小的,那么我们就认为 d=5 这个模型具有最强的泛化能力,为了测试这个模型预测准确率如何,就必须用新的样本( 不能再用这个测试样本 ) ,因为这个模型本来就是

4、根据这个测试样本的误差最 小得到的,再用这个样本测试定会得到很小的误差,但是对其他数据性能如何我们不得而知。 因此需要将数 据分成三部分:训练数据,交叉验证数据,测试数据。训练数据用来学习模型,交叉验证数据来 验证不同的模型的交叉 验证误差,选择交叉验证误差最小的那个模型。然后用测试数据来验证模型预测的准确率( 这里的测试数据不要和上面的测试数据搞混了,上面的测试数据其实就是交叉验证数据 ) 。 这三部分数据划分如下:分别占 60%, 20%,20%。 线性回归中, 他们的误差定义如下 : 三、诊断 bias 和 variance 模型欠拟合就是会有很高的 bias,如果过拟合就有很高的 va

5、riance,如下图: 随着 d 的增加, 训练误差会越来越小,因为多次项次数越高,拟合的越精 确,训练数据上的误差当然越小。对于测试误差, d 小的时候是欠拟合,误差当然大,中间慢慢减小,超过一定程度后就变成了过拟合,误差当然也就增大。 误差变化如下: 解决过拟合的方法就是 regularization, regularization 有没有好的效果关键是 lambda 的选取 , lambda 过小会过拟合, lambda 过大会欠拟合。 那么应该怎么样选取这个 lambda 值呢?当然是选测试误差最小时候 的 lambda! 如下图所示,根据不同的 lambda 学习出来的模型,在交叉验

6、证数据集上得到了相应的误差,选取交叉验证误差最小的那个 lambda 就行了。 那么随着 lambda 增大,训练误差和测试误差又是怎么样变化的呢?对于训练误差, lambda 很小 的时候,是过拟合,当然训练误差很小,随着 lambda 的增大,越来越不能精 确的拟合训练数据,所以训练误差不断增加,直到欠拟合。对于测试误差, lambda小的时候是过拟合,测试误差很大, lambda 到中间某个值的时候误差到最小, lambda 很大的时候是欠拟合,测试误差又变大。但往往测试误差比训练误差要大,因为模型是根据训练数据学习出来的。 变化关系如下图。 三、学习曲线 这条曲线是关于测试误差和训练样

7、本个数关系的。 如果训练样本很少,如下图 右边上面的例子,模型会很容易的拟合所有样本,训练误差小,随 着样本个数增多,模型越难越拟合所有的样本,因此训练误差逐渐升高。对于测试误差,样本个数少训练出来的模型当然不具有代表性,测试误差小,样本数增多测试误差会逐渐减小。 最后无论是测试误差还是训练误差都会收敛到一个阈值。 看 下面这个例子,样本数很多的时候,训练误差 和测试误差都很大,这个模型是欠拟合,于是增加样本不能对测试误差有一个很好的改进, 如果模型是过拟合的,增多样本会降低过拟合 的程度,试想,如果样本无限多,这样拟合出来的模型是否就是一个精确的模型呢?所以 high variance 的时

8、候,增加样本的数量是有帮助的。 样本越多可以得到越精确的模型。微博上看到 google 翻译之所以比别的翻译做的好,是因为它有海量数据的支撑,这些数据使得它比其他公司准确率搞了 5 个百分点,而提高一个百分点,需要 1 年的研究。 Google 的数据帮助 google 赢得了 5 年的时间。 回到刚才的例子,对应的方法可以解决什么样的问题呢? 用复杂的模型,比如有很高次项数的模型或者神经网络,往往会趋向于过拟合,但是可以用 regularization 来防止过拟合,增加训练样本的方法也可以得出非常令人满意的模型。 四、 误差的度量 在肿瘤预测的例子中,假设只有 0.5%的人得了肿瘤, 那么

9、我的模型一直预测 y=1 的话,也测得所有肿瘤的样本 ,这样明显不太合理。 现在让 y=1 定义为 我们想要检测的 rare class( 这个非常重要 ) 。 定义 precison=预测为正类的 正类 样本数 /(预测为 正类的样本数 ) Recall = 预测为正类的正类样本数 /实际为正类的样本 数 如下图: 根据上面这个例子,设得 没得 肿瘤为正类,那么 precision=0.5% recall=100%,用 precision和 recall 两个量可以衡量模型的好坏, precision 和 recall 都很高才是好的模型。 有上面三个模型的准确率和召回值,如何选择哪个模型最好呢? 明显用平均值的方法会选到第三个,然而第三个模型是不理想的。 常用的定义方法是 F1 score, F1 score 定义为2PR/(P+R),所以根据这个值,上面算法 1 是 最理想的模型。 总 结:在应用当中,遇到测试误差很大的时候,要学会去分析,通过话 Learning Curve 可以看出是过拟合的问题还是欠拟合的问题,然后在对症下药,该增加样本增加样本,该调整 lambda 调整 lambda,该改变 feature 改变 feature。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报