过拟合

台湾大学林轩田机器学习基石课程学习笔记15 -- Validation

五迷三道 提交于 2020-12-18 18:26:05
台湾大学林轩田机器学习基石课程学习笔记15 -- Validation 上节课我们主要讲了为了避免overfitting,可以使用regularization方法来解决。在之前的Ein上加上一个regularizer,生成Eaug,将其最小化,这样可以有效减少模型的复杂度,避免过拟合现象的发生。那么,机器学习领域还有许多选择,如何保证训练的模型具有良好的泛化能力?本节课将介绍一些概念和方法来解决这个选择性的问题。 1 Model Selection Problem 机器学习模型建立的过程中有许多选择,例如对于简单的二元分类问题,首先是算法A的选择,有PLA,pocket,linear regression,logistic regression等等;其次是迭代次数T的选择,有100,1000,10000等等;之后是学习速率η的选择,有1,0.01,0.0001等等;接着是模型特征转换Φ的选择,有linear,quadratic,poly-10,Legendre-poly-10等等;然后是正则化regularizer的选择,有L2,L1等等;最后是正则化系数λ的选择,有0,0.01,1等等。不同的选择搭配,有不同的机器学习效果。我们的目标就是找到最合适的选择搭配,得到一个好的矩g,构建最佳的机器学习模型。 假设有M个模型,对应有H1,H2,⋯,HM,即有M个hypothesis

台湾大学林轩田机器学习基石课程学习笔记14 -- Regularization

亡梦爱人 提交于 2020-12-18 18:25:25
台湾大学林轩田机器学习基石课程学习笔记14 -- Regularization 上节课我们介绍了过拟合发生的原因并介绍了解决overfitting的简单方法。本节课,我们将介绍解决overfitting的另一种非常重要的方法:Regularization规则化。 1. Regularized Hypothesis Set 先来看一个典型的overfitting的例子: 如图所示,在数据量不够大的情况下,如果我们使用一个高阶多项式(图中红色曲线所示),例如10阶,对目标函数(蓝色曲线)进行拟合。拟合曲线波动很大,虽然Ein很小,但是Eout很大,也就造成了过拟合现象。 那么如何对过拟合现象进行修正,使hypothesis更接近于target function呢?一种方法就是regularized fit。 这种方法得到的红色fit曲线,要比overfit的红色曲线平滑很多,更接近与目标函数,它的阶数要更低一些。那么问题就变成了我们要把高阶(10阶)的hypothesis sets转换为低阶(2阶)的hypothesis sets。通过下图我们发现,不同阶数的hypothesis存在如下包含关系: 我们发现10阶多项式hypothesis sets里包含了2阶多项式hypothesis sets的所有项,那么在 H10中加入一些限定条件,使它近似为H2即可

Generative Adversarial Nets[AAE]

我只是一个虾纸丫 提交于 2020-12-16 10:24:50
本文来自《Adversarial Autoencoders》,时间线为2015年11月。是大神Goodfellow的作品。本文还有些部分未能理解完全,不过代码在 AAE_LabelInfo ,这里实现了文中2.3小节,当然实现上有点差别,其中one-hot并不是11个类别,只是10个类别。 本文提出“对抗自动编码器(AAE)”,其本质上是自动编码器和GAN架构的合体,通过将AE隐藏层编码向量的聚合后验与任意先验分布进行匹配完成变分推论(variational inference)。将聚合后验与先验进行匹配确保从该先验任何部分都能够生成有意义的样本。AAE的解码层可以看成是一个深度生成模型,可以将强加的先验映射到数据分布上。本文并介绍如何将AAE用在如半监督分类,图像分类,无监督聚类,维度约间和数据可视化。 本文主要是介绍了几种AAE的应用: Basic AAE (文中2到2.1之间的部分) Incorporatiing Label Information in the Adversarial Regularization (文中2.3小节) Supervised AAE (文中4小节) Semi-supervised AAE (文中5小节) Unsupervised Clustering with AAE (文中6小节) Dimensionality Reduction with

机器学习【初探建模那些事儿】(五)

淺唱寂寞╮ 提交于 2020-12-11 12:59:05
https://zhuanlan.zhihu.com/p/106927814 本篇你将了解过拟合和欠拟合的概念,并且能够使得你的模型更准确 (一)尝试不同的模型 既然你有一种可靠的方法来测量模型精度,那么你可以尝试使用其他模型,并查看哪种模型可以提供最佳预测。 可以在scikit-learn的文档中看到决策树模型有很多选项(比你想要的或需要的更多)。 最重要的选项决定了树的深度。 回想一下这个微课程的第一课,树的深度是衡量它在进行预测之前分裂的数量。 这是一棵相对较浅的树 在实践中,树在顶层(所有房屋)和叶子之间有10个分裂并不罕见。随着树木越来越深,数据集被切成了更少房屋的树叶。如果树只有1个分割,则将数据分为2组。如果每组再次拆分,我们将获得4组房屋。再次拆分每个将创建8个组。如果我们通过在每个级别添加更多分组来保持组的数量翻倍,那么当我们到达第10级时,我们将拥有210组房屋。这是1024片叶子。 当我们将房屋分成许多树叶时,每片叶子中的房屋数量也会减少。拥有极少数房屋的树叶将做出与房屋实际值非常接近的预测,但它们可能会对新数据做出非常不可靠的预测(因为每个预测仅基于少数房屋)。 这是一种称为过度拟合的现象,其中模型几乎完美地匹配训练数据,但在验证和其他新数据方面表现不佳。另一方面,如果我们使树很浅,它不会将房屋分成非常不同的组。 在极端情况下,如果一棵树将房屋分成2或4

机器学习【初探建模那些事儿】(五)

蹲街弑〆低调 提交于 2020-12-11 12:58:41
https://zhuanlan.zhihu.com/p/106927814 本篇你将了解过拟合和欠拟合的概念,并且能够使得你的模型更准确 (一)尝试不同的模型 既然你有一种可靠的方法来测量模型精度,那么你可以尝试使用其他模型,并查看哪种模型可以提供最佳预测。 可以在scikit-learn的文档中看到决策树模型有很多选项(比你想要的或需要的更多)。 最重要的选项决定了树的深度。 回想一下这个微课程的第一课,树的深度是衡量它在进行预测之前分裂的数量。 这是一棵相对较浅的树 在实践中,树在顶层(所有房屋)和叶子之间有10个分裂并不罕见。随着树木越来越深,数据集被切成了更少房屋的树叶。如果树只有1个分割,则将数据分为2组。如果每组再次拆分,我们将获得4组房屋。再次拆分每个将创建8个组。如果我们通过在每个级别添加更多分组来保持组的数量翻倍,那么当我们到达第10级时,我们将拥有210组房屋。这是1024片叶子。 当我们将房屋分成许多树叶时,每片叶子中的房屋数量也会减少。拥有极少数房屋的树叶将做出与房屋实际值非常接近的预测,但它们可能会对新数据做出非常不可靠的预测(因为每个预测仅基于少数房屋)。 这是一种称为过度拟合的现象,其中模型几乎完美地匹配训练数据,但在验证和其他新数据方面表现不佳。另一方面,如果我们使树很浅,它不会将房屋分成非常不同的组。 在极端情况下,如果一棵树将房屋分成2或4

####好好好#####知识图谱上的双塔召回:阿里的IntentGC模型

Deadly 提交于 2020-12-11 10:35:59
关注本人的同学可能发现,我最近点评的文章都是关于"GNN在推荐系统应用"方向的。这当然与现如今这个方向非常火有关,但是作为一个合格的炼丹师+调参侠,总要搞清楚一门技术为什么火?这么火的技术对于自己是否有用?根据我的理解,由“传统机器学习→深度学习→图计算或知识图谱”这一路下来的发展脉络如下: 一切技术的目标都是为了更好地“伺候”好“ 推荐系统的一等公民 — ID类特征 ”。用户购买过的商品、光顾过的店铺、搜索过的关键词、商品的分类与标签,都是这样的ID类特征 传统的机器学习只会“ 严格匹配 ”。用户喜欢喝可口可乐,算法不会给他推百事可乐,因为“可口可乐”与“百事可乐”是两个不同的概念,占据了两个不同的ID。这时的推荐算法只有“ 记忆 ”功能。 深度学习的特点是, 一切皆可embedding 。通过将“可口可乐”与“百事可乐”都扩展成embedding向量,发现这两个“概念”不是正交的,反而在向量空间里非常相近,从而推荐系统有机会给一个只喝过可口可乐的用户推荐百事可乐。这时的推荐算法不再只能记忆,而是有了举一反三的“ 扩展 ”功能。 而到了“图计算”或“知识图谱”的阶段,ID类特征换了个名字,变成图上的节点或者知识图谱中的entity。换名字是小事,关键是 这些ID不再是孤立的,而是彼此关联,从而带来了信息的传递 。之前,小明喝过“可口可乐”,只有“可口可乐

冷启动问题的一点尝试LCE

核能气质少年 提交于 2020-12-09 06:36:31
各位大佬好,最近我又抑郁了。比上不足,我比上不足,Life is harder. For Recommendation in Deep learning QQ Group 277356808 For Visual in deep learning QQ Group 629530787 I'm here waiting for you 不接受这个网页的私聊/私信!!! 说了多少次不接受网页的私信与私聊还是有人这样私信,我看了也不回的,您继续就好了。评论一下会死?加群详聊会见光死?老子又不是和你相亲。 有些公号的文章骂我,翻译paper谁不会,老子其实不是秀,我翻译下至少当时“假装理解”了,是不是真的懂不知道,但过后还可以自己再看下啊,不然又要重头看,那样太累了。另外至少我翻译时不会想很多杂乱的破事,至少我可以静下来,别乱指责别人,总有你不了解的事。 写在前面—— 当你迷茫、困惑时,不妨想想来时的路,那么推荐到底是为了解决什么问题呢?在信息流APP中,有视频,文章,gif,小视频等内容,推荐的任务就是将这些分发给每个用户,如果item很少(比如1000以下),这时候其实用不上推荐,过不了两天用户都走了,用户为啥走,这时的主要原因是内容少或者内容很差(没有吸引力,这时候不能怪推荐算法),那么留住用户或者装逼的说法,留存率啥的,第一条关键因素不就是好的内容相当够吗?当item数量上来后

机器学习 | 一个基于机器学习的简单小实践:波斯顿房价预测分析

我的未来我决定 提交于 2020-12-06 12:24:24
本 文采用Kaggle上面的Boston HousePrice数据集展示了如何建立机器学习模型的通常过程 ,包括以下几个阶段: 数据获取 数据清洗 探索性数据分析 特征工程 模型建立 模型集成 标签变量(房价) 采取了对数转换,使其符合正太分布,最后从12个备选模型中选出预测效果最好的6个模型Lasso,Ridge,SVR,KernelRidge,ElasticNet,BayesianRidge分别进行加权平均集成和Stacking集成,最后发现Stacking集成效果更好,创新之处在于将Stacking集成后的数据加入原训练集中再次训练Stacking集成模型,使得模型性能再次得到改善,作为最后的预测模型,预测结果提交kaggle上后表现不错。另外受限于训练时间,超参数搜索空间小,有待改善。 数据获取 Kaggle官网提供了大量的机器学习数据集,本文从其中选择了Boston HousePrice数据集,下载地址为https://www.kaggle.com/c/house-prices-advanced-regression-techniques/data,下载后的数据集包括train.csv,test.csv,data_description.txt,sample_submission.csv四个文件,顾名思义train.csv为训练数据集,用于训练模型,test

波士顿房价预测

Deadly 提交于 2020-12-06 02:53:55
机器学习入门项目分享 - 波士顿房价预测 该分享源于Udacity机器学习进阶中的一个mini作业项目,用于入门非常合适,刨除了繁琐的部分,保留了最关键、基本的步骤,能够对机器学习基本流程有一个最清晰的认识; 项目描述 利用马萨诸塞州波士顿郊区的房屋信息数据训练和测试一个模型,并对模型的性能和预测能力进行测试; 项目分析 数据集字段解释: RM : 住宅平均房间数量; LSTAT : 区域中被认为是低收入阶层的比率; PTRATIO : 镇上学生与教师数量比例; MEDV : 房屋的中值价格(目标特征,即我们要预测的值); 其实现在回过头来看,前三个特征应该都是挖掘后的组合特征,比如RM,通常在原始数据中会分为多个特征:一楼房间、二楼房间、厨房、卧室个数、地下室房间等等,这里应该是为了教学简单化了; MEDV为我们要预测的值,属于回归问题,另外数据集不大(不到500个数据点),小数据集上的回归问题,现在的我初步考虑会用SVM,稍后让我们看看当时的选择; Show Time Step 1 导入数据 注意点: 如果数据在多个csv中(比如很多销售项目中,销售数据和店铺数据是分开两个csv的,类似数据库的两张表),这里一般要连接起来; 训练数据和测试数据连接起来,这是为了后续的数据处理的一致,否则训练模型时会有问题(比如用训练数据训练的模型,预测测试数据时报错维度不一致); 观察下数据量

机器学习 | 一个基于机器学习的简单小实践:波斯顿房价预测分析

旧时模样 提交于 2020-12-02 16:37:21
本 文采用Kaggle上面的Boston HousePrice数据集展示了如何建立机器学习模型的通常过程 ,包括以下几个阶段: 数据获取 数据清洗 探索性数据分析 特征工程 模型建立 模型集成 标签变量(房价) 采取了对数转换,使其符合正太分布,最后从12个备选模型中选出预测效果最好的6个模型Lasso,Ridge,SVR,KernelRidge,ElasticNet,BayesianRidge分别进行加权平均集成和Stacking集成,最后发现Stacking集成效果更好,创新之处在于将Stacking集成后的数据加入原训练集中再次训练Stacking集成模型,使得模型性能再次得到改善,作为最后的预测模型,预测结果提交kaggle上后表现不错。另外受限于训练时间,超参数搜索空间小,有待改善。 数据获取 Kaggle官网提供了大量的机器学习数据集,本文从其中选择了Boston HousePrice数据集,下载地址为https://www.kaggle.com/c/house-prices-advanced-regression-techniques/data,下载后的数据集包括train.csv,test.csv,data_description.txt,sample_submission.csv四个文件,顾名思义train.csv为训练数据集,用于训练模型,test