预测模型

偏差方差分解

旧时模样 提交于 2019-12-23 16:37:23
偏差方差分解 (误差分解) 先引入一个问题: Machine Learning 与 Curve Fitting 的区别是什么? 1 Curve Fitting 是使用所有的数据拟合一条曲线; 而 Machine Learning 是采用真实世界中采样的一小部分数据,并且我们希望我们的模型能够对于未知数据有不错的泛化性能.因此涉及到Bias-Variance的权衡. 学习算法的预测误差, 或者说泛化误差(generalization error)可以分解为三个部分: 偏差(bias), 方差(variance) 和噪声(noise). 在估计学习算法性能的过程中, 我们主要关注偏差与方差. 因为噪声属于不可约减的误差 (irreducible error). 下面来用公式推导泛化误差与偏差与方差, 噪声之间的关系. 符号 涵义 \(\mathbf{x}\) 测试样本 \(D\) 数据集 \(y_{D}\) \(\mathbf{x}\) 在数据集中的标记 \(y\) \(\mathbf{x}\) 的真实标记 \(f\) 训练集 \(D\) 学得的模型 \(f(\mathbf{x}; D)\) 由训练集 \(D\) 学得的模型 \(f\) 对 \(\mathbf{x}\) 的预测输出 \(\bar{f}(\mathbf{x})\) 模型 \(f\) 对 \(\mathbf{x}\) 的

【ML-QA-0】模型评估

ⅰ亾dé卋堺 提交于 2019-12-23 04:20:01
没有测量,就没有科学 ——门捷列夫 原本之前的知识点总结里面没有太多关于模型评估的内容,QA这部分开始也没打算单独整理出来模型评估的部分。不过考虑到一个模型的评估指标是一个机器学习任务核心的部分,需要清楚各类机器学习任务的评估指标,那就汇总整理一下。 评估指标 评估方法 评估指标 机器学习的问题主要有分类、回归、聚类等等 当我们选择评估指标的时候,要考虑具体的任务目标,要考虑具体的数据样本。有的时候我们关注准确率,有时候关注精准率,有时候更关注召回,不同的指标结果评定不同的任务产出。 1、分类 1.1 准确率 Accuracy 准确率指的是分类正确的样本占总样本个数的比例: A c c u r a c y = N c o r r e c t N Accuracy=\frac{N_{correct}}{N} A c c u r a c y = N N c o r r e c t ​ ​ 其中 N c o r r e c t N_{correct} N c o r r e c t ​ 是分类正确的样本数, N是样本总数。 准确率是我们最常见最基本的评估指标,但是我们常见的机器学习任务中遇到的数据太多数情况下都是 正负样本不均衡 ,这个时候 A c c u r a c y Accuracy A c c u r a c y 就没有什么参考价值了。 比如一个数据样本中,正样本比例为99%

Progressive Self-Supervised Attention Learning forAspect-Level Sentiment Analysis论文阅读

你。 提交于 2019-12-23 03:07:08
Progressive Self-Supervised Attention Learning forAspect-Level Sentiment Analysis翻译及理解 1.本文针对神经网络在学习过程中存在的强模式过学习和弱模式欠学习的问题,提出了渐进自监督注意力机制算法,有效缓解了上述问题。主要基于擦除的思想,使得模型能够渐进的挖掘文本中需要关注的信息,并平衡强模式和弱模式的学习程度。在基于方面层次的情感分析三个公开数据集和两个经典的基础模型上测试表明,所提出的方法取得了不错的性能表现。 2.在方面层次的情感分类任务中,经典方法为使用注意力机制来捕获上下文文本中与给定方面最为相关的信息。然而,注意力机制容易过多的关注数据中少部分有强烈情感极性的高频词汇,而忽略那些频率较低的词。 摘要 在方面级别的情感分类(ASC)中,普遍的做法是为优势神经模型配备注意机制,以便获得给定方面每个上下文词的重要性。 但是,这种机制倾向于过分关注少数带有情感极性的频繁单词,而忽略了很少出现的单词。 本文提出了一种针对神经ASC模型的渐进式自我监督注意学习方法,该方法会自动从训练语料库中挖掘有用的注意监督信息,以细化注意机制。特别是,我们对所有训练实例进行 迭代的情感预测 。 将具有最大注意力权重的上下文单词提取为对每个实例的正确/不正确预测具有积极/误导性影响的上下文单词

大数据线性回归预测学生成绩

♀尐吖头ヾ 提交于 2019-12-22 04:34:20
通过训练集训练和测试集测试来生成多个线性模型,从而预测学生成绩,本文所有代码请点击 Github 1. 实验数据背景 1.1 数据来源 本项目的数据来源于kaggle.com,数据集的名称为Student Grade Prediction,Paulo Cortez,Minho大学,葡萄牙吉马良斯, http://www3.dsi.uminho.pt/pcortez 1.2 数据简介 该数据接近了两所葡萄牙学校的中学学生的学习成绩。数据属性包括学生成绩,人口统计学,社会和与学校相关的特征),并通过使用学校报告和调查表进行收集。提供了两个关于两个不同学科表现的数据集:数学(mat)和葡萄牙语(por) 该数据集共有396条,每列33个属性,属性简介如下: 1.学校-学生学校(二进制:“ GP”-加布里埃尔·佩雷拉(Gabriel Pereira)或“ MS”-Mousinho da Silveira) 2.性别-学生的性别(二进制:“ F”-女性或“ M”-男性) 3.年龄-学生的年龄(数字:15至22) 4.地址-学生的家庭住址类型(二进制:“ U”-城市或“ R”-农村) 5.famsize-家庭大小(二进制:“ LE3”-小于或等于3或“ GT3”-大于3) 6.Pstatus-父母的同居状态(二进制:“ T”-同居或“ A”-分开) 7.Medu-母亲的教育(数字:0-无,1

ERNIE: Enhanced Representation through Knowledge Integration(百度)论文翻译

荒凉一梦 提交于 2019-12-22 03:16:17
paper: https://arxiv.org/pdf/1904.09223.pdf code: https://github.com/PaddlePaddle/LARK/tree/develop/ERNIE 文前总结 ERNIE相比于BERT,做出了如下改进: 1.mask策略。BERT只使用了字级别的随机masking,但是ERNIE使用了字、实体、短语三个级别的masking,旨在使模型学习到更多高级的语义。 2.中文异构数据预训练。对异构无监督数据进行预训练的语义编码器可以提高迁移学习性能。百度构建了混合语料库——中文Wikepedia,百度百科,百度新闻和百度贴吧。 3.对话语言模型。DLM任务可帮助ERNIE学习对话中的隐式关系,这也增强了模型学习语义表示的能力。 0.摘要 我们提出了一种新的语言表示模型,该模型称为ERNIE(通过知识集成的增强表示)。 受到BERT掩盖策略的启发(Devlin等人,2018), ERNIE被设计为学习通过知识掩盖策略增强的语言表示,其中包括实体级掩盖和短语级掩盖。 实体级策略可掩盖通常由多个单词组成的实体。 短语级策略掩盖了整个短语,该短语由几个词组成,作为一个概念单元。 实验结果表明,ERNIE优于其他基准方法,在五个自然语言处理任务(包括自然语言推理,语义相似性,命名实体识别,情感分析和问题解答)上取得了最新的最新成果。

个数是如何用大数据做行为预测的?

…衆ロ難τιáo~ 提交于 2019-12-22 01:39:39
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> “个数”是“个推”旗下面向 APP 开发者提供数据统计分析的产品。“个数”通过可视化埋点技术及大数据分析能力从用户属性、渠道质量、行业对比等维度对 APP 进行全面的统计分析。 “个数”不仅可以及时统计用户的活跃、新增等,还可以分析卸载用户的成分、流向,此外还能实现流失、付费等用户关键行为的预测,从而帮助 APP 开发者实现用户精细化运营和全生命周期管理。其中很值得一提的是,“个数”在“可视化埋点”及“行为预测”方面的创新,为 APP 开发者在实际运营中带来了极大便利,所以,在下文中,我们也将围绕这两点做详细的分析。 可视化埋点 埋点是指在产品流程的关键部位植入相关统计代码,以追踪用户行为,统计关键流程的使用程度,并将数据以日志的方式上报至服务器的过程。 目前,数据埋点采集模式主要有代码埋点、无埋点、可视化埋点等方式。 “代码埋点”是指在监控页面上加入基础 js,根据需求添加监控代码,它的优点是灵活,可以自定义设置,可以选择自己需要的数据来分析,但对复杂网站来说,每次修改一个页面就得重新出一份埋点方案,成本较大。目前,采用这种埋点方案的代表产品有百度统计、友盟、腾讯云分析、Google Analytics 等。 “可视化埋点”通常是指开发者通过设备连接用户行为分析工具

分类模型评估

﹥>﹥吖頭↗ 提交于 2019-12-21 08:37:19
一直对于各种分类器评估的指标有点晕,今天决定琢磨下,并且写下来,方便以后回忆。 一、混淆矩阵 来源于信息论,根据上面的混淆矩阵,有3个指标需要搞清楚,我觉得记公式真的很容易搞混,建议大家都直接记文字加上自己理解就好了。 准确率=正确预测正负的个数/总个数(这个指标在python中的交叉验证时可以求准确率) 覆盖率(也叫作召回率)=正确预测正的个数/实际正的个数 (当然也可以是负覆盖率) 命中率=正确预测正的个数/预测正的个数 以上指标,在Python中提供混淆矩阵的报告 二、ROC 之所以又有ROC曲线,是因为,前面的准确率和召回率存在缺陷。从准确率来说,如果我们关心的是y=1,而恰好y=1的样本个数又很少,此时用准确率的指标就可能不靠谱了,有个比较好的例子如下:测试样本中有A类样本90个,B 类样本10个。分类器C1把所有的测试样本都分成了A类,分类器C2把A类的90个样本分对了70个,B类的10个样本分对了5个。则C1的分类精度为 90%,C2的分类精度为75%。但是,显然C2更有用些,因为它分对了我们更关心的B类。 召回率TPR(True Positive Rate) =TP/(TP+FN) = a / (a+b) 取伪率FPR(False Positive Rate) = FP/(FP+TN) = c / (c+d) ROC空间将取伪率(FPR)定义为 X 轴,召回率

机器学习漫游(1) 基本设定

两盒软妹~` 提交于 2019-12-20 08:29:34
  最近的十几年机器学习很是火热,尤其是其中的一个分支深度学习在工业界取得很好应用,吸引了很多眼球。不过从其历程来看,机器学习的历史并不短暂~从早期的感知机到八十年代火热的神经网络,再到九十年代被提出的经典算法集成学习和支持向量机;而最近的十年算得上是机器学习发展的黄金年代,软、硬件计算条件大幅提高,尤其是现在数据量的爆发式增长让机器拥有充分“学习”的资本,另一方面现在开源项目越来越多,即便一些算法的实现很复杂,我等小白只需要调几个接口也能完成对数据的处理;在这个年代里,不同的人充斥着不同的野心,计算机科学家仍在探索人工智能的奥义,资本、媒体都在热炒机器学习概念,大数据、AI俨然成为宠儿,各行程序员也在茶余饭后有了谈资。盛名之下,其实难副,机器学习、人工智能的发展还处在浅层,特别是深度学习这些被媒体过度炒作的产物,从计算智能到感知智能再到认知智能,前面的路依然很远。长路漫漫,不管怎样,越来越多的人投入这个行业确实对行业本身有很大的发展,特别是可以看出,国内外很多高校的专家学者已经把研究阵地转向工业,不仅仅是因为报酬丰厚,更因为工业界提供了现实场景更丰富的数据,而这些数据让算法拥有很好的施展空间。   还记得16年在亚马逊买了一本南大周志华老师的<<机器学习>>,到手之后真的超出了预期,书上面的算法介绍的比较系统,每一章节提到了某个领域的经典算法,后面给出的附录也适合非科班同学看懂

词向量的发展

只愿长相守 提交于 2019-12-20 02:13:39
一、n-gram-model 谈到词向量则必须要从语言模型讲起,传统的统计语言模型是对于给定长度为m的句子,计算其概率分布P(w1, w2, ..., wm),以表示该句子存在的可能性。该概率可由下列公式计算得到: 但实际过程中句子的长度稍长便会为估计带来很大难度,因此n-gram 模型对上述计算进行简化:假定第i个词的出现仅与其前n-1个词有关,即: 实际计算中,通常采用n元短语在语料中出现的频率来估计其概率: 为保留句子原有的顺序信息,我们当然希望n越大越好,但实际上当n略大时,该n元短语在语料中出现的频率就会越低,用上式估计得到的概率就容易出现数据稀疏的问题。而神经网络语言模型的出现,有效地解决了这个问题。 二、Neural Network Language Model(NNLM) 神经网络语言模型不 使用频率来估计n元短语出现的概率 ,而是通过神经网络训练得到一个语言模型,所以会有如下优势: 首先将原始文本进行one-hot编码,在分别乘以词嵌入矩阵,得到每个词的词向量表示,拼接起来作为输入层。输出层后加上softmax,将y转换为对应的概率值。模型 采用随机梯度 下降对 进行最大化。 三、CBOW(continous Bag of words) CBOW的主要思想是将一句话中的某个词挖去,用其上下文对其进行预测,输出的时候是一个哈夫曼树,或者称之为分层softmax,

pointnet-补充材料阅读

泪湿孤枕 提交于 2019-12-20 00:21:35
文章正文部分参考博客: https://blog.csdn.net/batflo_wsh/article/details/89330195 论文地址: https://arxiv.org/pdf/1612.00593.pdf Supplementary A.Overview 该文件为主要论文提供了额外的定量结果,技术细节和更多定性的测试示例。 在Sec B中,我们扩展了健壮性测试,以比较不完整输入上的PointNet和VoxNet。 在Sec C中,我们提供了有关神经网络架构,训练参数的更多详细信息,在Sec D中,我们描述了场景中的检测流程。 然后,Sec E显示了PointNet的更多应用,而Sec F显示了更多的分析实验。Sec G为我们在PointNet上的理论提供了证明。 最后,我们在Sec H中显示了更多的可视化结果。 B. Comparison between PointNet and VoxNet (Sec 5.2) 我们扩展了第5.2节“鲁棒性测试”中的实验,以比较PointNet和VoxNet [17](代表体积的代表性体系结构)输入点云中丢失的数据的鲁棒性。两个网络都在相同的训练测试段上进行训练,输入的点数为1024。对于VoxNet,我们将点云体素化为32×32×32的占用栅格,并通过围绕上轴的随机旋转和抖动来增强训练数据。 在测试时