损失函数

机器学习:集成学习

限于喜欢 提交于 2019-12-02 05:29:58
集成学习 基本概念 集成学习(Ensemble Learning)的 思想 是将若干个学习器(分类|回归)组合之后产生一个新的学习器, 如何产生“好而不同”的个体学习器,是集成学习研究的核心 ; 一般性用于集成的学习器都为 弱学习器 ,即学习器的预测精度不需要太高但是应该好于随机预测的结果; 集成学习 算法的成功 在于保证了弱分类器的多样性(Diversity),即学习器之间具有 差异性 弱分类器间存在一定的差异性,会导致分类的边界不同,即会存在错误;但当多个弱分类器合并后,就可以得到更加合理的边界,能减少错误率,实现更好的效果; 对于数据集过大/过小,可以进行划分/有放回抽样的操作产生不同的数据子集,然后使用数据子集训练不同的学习器,最后合并成一个大的学习器 若数据划分边界过于复杂,使用线性模式很难描述,可以训练多个模型,后将模型进行合并; 对于多个异构的特征集的时候,很难进行融合,那么可以考虑每个数据集构建一个学习器模型,然后将多个模型融合 常见的集成算法有: Bagging Boosting Stacking 按照集成方式划分: 串行集成方法:通过串行的方法生成基础模型(如AdaBoost);串行集成的 基本动机 是利用基础模型之间的依赖,给被错分的样本一个较大的权重来提升性能; 并行集成方法:并行的生成基础模型(若Random Forest);并行集成的 基本动机

损失函数

醉酒当歌 提交于 2019-12-02 02:59:05
损失函数综述 https://zhuanlan.zhihu.com/p/36503849 简单的交叉熵损失函数,你真的懂了吗? https://zhuanlan.zhihu.com/p/38241764 损失函数 - 交叉熵损失函数 https://zhuanlan.zhihu.com/p/35709485 损失函数 - 交叉熵损失函数 https://zhuanlan.zhihu.com/p/35709485 推荐系统遇上深度学习(六十二)-[阿里]电商推荐中的特殊特征蒸馏 https://www.jianshu.com/p/ee06e58e0ea7 来源: https://www.cnblogs.com/pengwang52/p/11727594.html

神经网络学习笔记(2)

我们两清 提交于 2019-12-01 22:47:09
神经网络学习笔记(2)   本文是神经网络学习笔记的第二部分,紧接着笔者的 神经网络学习笔记(1) ,主要内容为对总结神经网络的常用配置方式,包括如下几点:(1)数据预处理;(2)权重初始化;(3)正则化与Dropout;(4)损失函数。    1、数据预处理   对于神经网络而言,数据的预处理常见的方法主要包括0-1归一化,主成分分析(PCA)及one-hot编码标签。   (1)0-1归一化:将样本所有维度的数据转变为以0为均值,1为标准差的新数据。处理方式为,对训练数据的每一个维度,分别计算其均值和标准差,然后将这一维度的数据分别减去均值然后除以标准差。至于为什么需要对数据进行这一处理,笔者也没有找到很好的解答,欢迎各位大牛在本文下面留言探讨;    注意: 当我们在进行归一化处理的时候,我们处理所用的数值(例如:均值和方差)只能够从训练集上面获得,然后将从训练集上计算得到的值直接应用到验证集/测试集上,而不是在验证集/测试集上面重新计算新值,或者直接从整体的数据集上面计算均值和方差然后再划分数据集。我想这还是为了保证模型泛化能力检测的公正性,避免验证集/测试集中的任何数据泄露到训练过程中。   (2)主成分分析(PCA):对于神经网络而言,该方法主要用于对数据进行降维(也可用于数据的压缩)。网络上面已经有很多文章对PCA的基本过程进行解读

NLP中的预训练语言模型(四)—— 小型化bert(DistillBert, ALBERT, TINYBERT)

99封情书 提交于 2019-12-01 20:10:44
  bert之类的预训练模型在NLP各项任务上取得的效果是显著的,但是因为bert的模型参数多,推断速度慢等原因,导致bert在工业界上的应用很难普及,针对预训练模型做模型压缩是促进其在工业界应用的关键,今天介绍三篇小型化bert模型——DistillBert, ALBERT, TINYBERT。 一,DistillBert    论文: DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter    GitHub:暂无   DistillBert是在bert的基础上用知识蒸馏技术训练出来的小型化bert。整体上来说这篇论文还是非常简单的,只是引入了知识蒸馏技术来训练一个小的bert。具体做法如下:   1)给定原始的bert-base作为teacher网络。   2)在bert-base的基础上将网络层数减半(也就是从原来的12层减少到6层)。   3)利用teacher的软标签和teacher的隐层参数来训练student网络。   训练时的损失函数定义为三种损失函数的线性和,三种损失函数分别为:   1)$L_{ce}$。这是teacher网络softmax层输出的概率分布和student网络softmax层输出的概率分布的交叉熵(注:MLM任务的输出)。   2)$L_{mlm

交叉熵损失函数的优点(转载)

三世轮回 提交于 2019-12-01 15:49:32
利用一些饱和激活函数的如sigmoid激活时,假如利用均方误差损失,那么损失函数向最后一层的权重传递梯度时,梯度公式为 可见梯度与最后一层的激活函数的导数成正比,因此,如果起始输出值比较大,也即激活函数的导数比较小,那么整个梯度幅度更新幅度都比较小,收敛时间很长。若一开始输出值比较小那么更新速度比较好,收敛也快,因此不稳定。且与输出值a与真实值的误差成正比。 再看损失函数改成交叉熵损失时: 此时损失函数对于最后一层权重的梯度不再跟激活函数的导数相关,只跟输出值和真实值的差值成正比,此时收敛较快。又反向传播是连乘的,因此整个权重矩阵的更新都会加快。 另外,多分类交叉熵损失求导更简单,损失仅与正确类别的概率有关。而且损失对于softmax激活层的输入求导很简单。 ———————————————— 版权声明:本文为CSDN博主「无它,唯手熟尔」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_42422981/article/details/90645074 来源: https://www.cnblogs.com/hugh2006/p/11691369.html

机器学习中的目标函数、损失函数、代价函数

拥有回忆 提交于 2019-12-01 13:41:33
结论:损失函数和代价函数是同一个东西,目标函数是一个与他们相关但更广的概念,对于目标函数来说在有约束条件下的最小化就是损失函数(loss function)。    Loss function 损失函数是定义在单个样本上,算的是一个样本的误差。 Cost function 代价函数是定义在整个训练集上的,是所有样本误差的平均,也就是损失函数的平均。 Object function 目标函数定义为:Cost function+正则化项 for example    上面三个图的函数分别为f1(x) f2(x) f3(x)。用这三个函数来分别拟合Price,Price的真实值记为Y。     给定x,三个函数都会输出一个f(X),这个输出的f(X)与真实值Y可能是相同的,也可能是不同的,为了表示拟合的好坏,我们用一个函数 来度量拟合的程度:损失函数。  L(Y,f(X))=(Y-f(X)) 2 ,这个函数是损失函数(loss function),或者叫代价函数(cost function)。损失函数越小,拟合函数越好。 那是不是目标函数需要让cost function越小越好呢?肯定不是   加入一个新的概念:风险函数(risk function)。风险函数是损失函数的期望,因为我们输入输出的(X,Y)遵循一个联合分布,但是这个联合分布是未知的,所以无法计算。    f(X

机器学习总结:几种常见的损失函数(Loss function)

陌路散爱 提交于 2019-12-01 07:31:16
1. 平方损失函数 Square Error: $$L(f(x),y)=(f(x)-y)^{2}$$ 这时经验损失函数是MSE,例如在线性回归中出现 2. 绝对值损失函数: $$L(f(x),y)=\vert f(x)-y\vert$$ 这时经验损失函数就是MAE 3. 0-1损失函数: $$L(f(x),y)=1_{\lbrace f(x)=y\rbrace}$$ 4. 对数损失函数(crossentropy) $$L(P(y\mid x),y)=-\log P(y\mid x)$$ 对应模型:logistic回归,softmax回归 注意到,对于非平衡的二分类问题,我们也可以适当加上类的权重$w(y)$使其称为带权的对数损失函数: $$L(P(y\mid x),y)=-w(y)\log P(y\mid x),$$ 例如某个而分类问题的训练集:$D=\lbrace(x_{1},y_{1}),...,(x_{N},y_{n}), y_{i}\in\lbrace-1,+1\rbrace\rbrace$ 正例样本数$P$远远小于负例样本数{N},我们可以适当选取$w(+1)$,$w(-1)$使得$w(+1)P$与$w(-1)N$更加接近一些。 5.指数损失函数 Exponential loss Function: $$L(f(x),y)=\exp(-y\cdot f(x))$$

机器学习中常用的损失函数的整理

时光怂恿深爱的人放手 提交于 2019-11-30 17:04:12
机器通过 损失函数 进行学习。这是一种评估特定算法对给定的数据 建模程度的方法。如果预测值与真实值之前偏离较远,那么损失函数便会得到一个比较大的值。在一些优化函数的辅助下,损失函数逐渐学会减少预测值与真实值之间的这种误差。 机器学习中的所有算法都依赖于最小化或最大化某一个函数,我们称之为“目标函数”。最小化的这组函数被称为“ 损失函数” 。损失函数是衡量预测模型预测结果表现的指标。寻找函数最小值最常用的方法是“梯度下降”。把损失函数想象成起伏的山脉,梯度下降就好比从山顶滑下,寻找山脉的最低点(目的)。 在实际应用中,并没有一个通用的,对所有的机器学习算法都表现的很不错的损失函数(或者说没有一个损失函数可以适用于所有类型的数据)。针对特定问题选择某种损失函数需要考虑到到许多因素,包括是否有离群点,机器学习算法的选择,运行梯度下降的时间效率,是否易于找到函数的导数,以及预测结果的置信度等。 从学习任务的类型出发,可以从广义上将损失函数分为两大类——回归损失(Classification Loss)和分类损失(Regression Loss)。在 分类任务 中,我们要 从类别值有限的数据集中预测输出 ,比如给定一个手写数字图像的大数据集,将其分为 0~9 中的一个。而 回归问题 处理的则是 连续值的预测 问题,例如给定房屋面积、房间数量,去预测房屋价格。 回归损失 均方误差( Mean

deep_learning_cross_entropy

♀尐吖头ヾ 提交于 2019-11-30 16:06:51
交叉熵损失函数 交叉熵代价函数(Cross-entropy cost function)是用来衡量人工神经网络(ANN)的预测值与实际值的一种方式。与二次代价函数相比,它能更有效地促进ANN的训练。在介绍交叉熵代价函数之前,本文先简要介绍二次代价函数,以及其存在的不足。 二次代价函数的不足 ANN的设计目的之一是为了使机器可以像人一样学习知识。人在学习分析新事物时,当发现自己犯的错误越大时,改正的力度就越大。比如投篮:当运动员发现自己的投篮方向离正确方向越远,那么他调整的投篮角度就应该越大,篮球就更容易投进篮筐。同理,我们希望:ANN在训练时,如果预测值与实际值的误差越大,那么在反向传播训练的过程中,各种参数调整的幅度就要更大,从而使训练更快收敛。然而,如果使用二次代价函数训练ANN,看到的实际效果是,如果误差越大,参数调整的幅度可能更小,训练更缓慢。 以一个神经元的二类分类训练为例,进行两次实验(ANN常用的激活函数为sigmoid函数,该实验也采用该函数):输入一个相同的样本数据x=1.0(该样本对应的实际分类y=0);两次实验各自随机初始化参数,从而在各自的第一次前向传播后得到不同的输出值,形成不同的代价(误差): 交叉熵代价函数(Cross-entropy cost function)是用来衡量人工神经网络(ANN)的预测值与实际值的一种方式。与二次代价函数相比

攀登传统机器学习的珠峰-SVM (中)

雨燕双飞 提交于 2019-11-30 12:21:36
关于软间隔SVM和非线性SVM,在学习过程中,估计有很多入门的同学会好奇软间隔和硬间隔的区别有没有更合理的解释?软间隔中引入的松弛变量到底是什么?软间隔的优化函数和硬间隔的优化函数化简之后,为什么长得这么类似?有没有更形象的方式来划分软间隔中的支持向量,噪声点和误分类的点?软间隔SVM的代价函数,硬间隔SVM的代价函数和合页损失函数是一致的吗?以及核函数是个什么玩意?核函数的优点到底怎么解释? 下面我将用EM算法的思想去解释软间隔和硬间隔的区别,并用通俗易懂的语言解释松弛变量的几何含义,以及系数C对支持变量的影响。用一张图解释软间隔是怎样区分支持向量,噪声点和误分类的点。对软间隔SVM的代价函数,硬间隔SVM的代价函数和合页损失函数的一致性进行了推导。 之后对特征空间和核函数的核心idea进行了阐述,并分析了核函数的形式来历和那句让人捉摸不透的优点。最后简要介绍了一下几个重要的核函数。 由于文章当中包含很多自己理解的部分,如有不当之处,请多多指正!!! 线性分类SVM面临的问题 在上次课中,我们对线性可分SVM的算法的原理和流程进行了总结,如下图所示,为线性可分的数据集,我们可以采用线性可分的支持向量机,也称为硬间隔支持向量机。 当数据集中参杂了一些噪声,如下图所示,由于参杂了一个红色的噪声点,导致模型学习到的决策边界由下图中的粗虚线移动到了粗实线。 Q1