损失函数

损失函数

与世无争的帅哥 提交于 2019-11-30 08:15:41
损失函数 表示方式 代表算法 0-1损失函数 绝对值损失函数 |Y-f(X)| 平方损失函数 sum((y(i)-f(xi))^2) 回归算法,可理解为最小二乘 对数损失函数 -log(P(Y|X)) 经典的对数损失函数包括entropy和softmax,一般在做分类问题的时候使用。 也叫交叉熵损失函数。 指数损失函数 exp(-yf(x)) boosting算法 铰链损失函数 max(0,1-ty) svm 参考地址: https://blog.csdn.net/chkay399/article/details/81878157 来源: https://www.cnblogs.com/ironan-liu/p/11574959.html

损失函数

房东的猫 提交于 2019-11-29 21:07:11
交叉熵损失函数 Cross Entropy Error Function 二分类表达式 其中: y——表示样本的label,正类为1,负类为0 p——表示样本预测为正的概率 \(y=1\) 时,对应的 \(p\) 越大则 \(-log(p)\) 越小,即损失越小 同理 , \(y=0\) 时, \(p\) 越小, \(-log(1-p)\) 越小,即损失越小 eg: \(target=1\) ,预测 \([0.6,0.4]\) , \(L=-[1*log(0.6)]+0]\) 多分类 多分类的情况实际上就是对二分类的扩展: 其中: - ——类别的数量; - ——指示变量(0或1),如果该类别和样本的类别相同就是1,否则是0; - ——对于观测样本属于类别 的预测概率。 现在我们利用这个表达式计算上面例子中的损失函数值: 模型1 : 模型2: 可见,交叉熵损失函数只关注某一类别的信心最大概率,为0的概率不计算 来源: https://www.cnblogs.com/rise0111/p/11532547.html

机器学习常用的损失函数

纵然是瞬间 提交于 2019-11-29 14:28:40
分类损失函数 一、LogLoss对数损失函数(逻辑回归,交叉熵损失)   有些人可能觉得逻辑回归的损失函数就是平方损失,其实并不是。 平方损失函数可以通过线性回归在假设样本是高斯分布的条件下推导得到 ,而逻辑回归得到的并不是平方损失。在逻辑回归的推导中,它假设样本服从 伯努利分布(0-1分布) ,然后求得满足该分布的似然函数,接着取对数求极值等等。而逻辑回归并没有求似然函数的极值,而是把极大化当做是一种思想,进而推导出它的经验风险函数为: 最小化负的似然函数(即max F(y, f(x)) —> min -F(y, f(x))) 。从损失函数的视角来看,它就成了log损失函数了。 log损失函数的标准形式 :   刚刚说到,取对数是为了方便计算极大似然估计,因为在MLE(最大似然估计)中,直接求导比较困难,所以通常都是先取对数再求导找极值点。损失函数L(Y, P(Y|X))表达的是样本X在分类Y的情况下,使概率P(Y|X)达到最大值(换言之, 就是利用已知的样本分布,找到最有可能(即最大概率)导致这种分布的参数值;或者说什么样的参数才能使我们观测到目前这组数据的概率最大 )。因为log函数是单调递增的,所以logP(Y|X)也会达到最大值,因此在前面加上负号之后,最大化P(Y|X)就等价于最小化L了。   逻辑回归的P(Y=y|x)表达式如下(为了将类别标签y统一为1和0

算法推导、面试、调用——LogisticRegression(LR)

本秂侑毒 提交于 2019-11-29 08:27:46
/*--> */ /*--> */ # 算法解析 > LogisticRegression是线性回归的一个变形,对于线性回归请参阅[线性回归](www)一节 LR模型是线性模型处理分类任务的一种,是联系函数$g(\cdot)=sigmoid(\cdot)$时的广义线性模型。二分类任务的预测值$y\in\{0, 1\}$,而线性回归模型的预测值是一个实数,因此必须用一个映射函数将线性回归模型的预测值映射到$\{0, 1\}$。最理想的映射函数为单位阶跃函数$y=\begin{} \end{}$,但是单位阶跃函数并不连续可导,这将对后续求解模型参数带来困难,因此我们通常采取对数几率函数$y=sigmoid(x)=\frac{1}{1+e^{(-x)}}$作为映射函数。**sigmoid(x)函数能将输入值$x$映射到$(0,1)$之间的一个值**,这个值可以作为二分类问题预测值为1、0的概率。 ![sigmoid函数图像](_v_images/20190908170933507_1988946760.jpg =400x) LogisticRegression模型: $$f(x_i)=\frac{1}{1+e^{-(w^Tx_i+b)}} $$ 令$\beta=(w^Tx_i;b), \hat{x}=(x;1)$,损失函数为: $$L(\beta)=\sum_{i=1}^{N}(-y_i

MSE, MAE, Huber loss详解

对着背影说爱祢 提交于 2019-11-29 06:03:19
转载: https://mp.weixin.qq.com/s/Xbi5iOh3xoBIK5kVmqbKYA https://baijiahao.baidu.com/s?id=1611951775526158371&wfr=spider&for=pc 无论在机器学习还是深度领域中,损失函数都是一个非常重要的知识点。损失函数(Loss Function)是用来估量模型的预测值 f(x) 与真实值 y 的不一致程度。我们的目标就是最小化损失函数,让 f(x) 与 y 尽量接近。通常可以使用梯度下降算法寻找函数最小值。 关于梯度下降最直白的解释可以看我的这篇文章: 简单的梯度下降算法,你真的懂了吗? 损失函数有许多不同的类型,没有哪种损失函数适合所有的问题,需根据具体模型和问题进行选择。一般来说,损失函数大致可以分成两类:回归(Regression)和分类(Classification)。今天,红色石头将要总结回归问题中常用的 3 种损失函数,希望对你有所帮助。 回归模型中的三种损失函数包括:均方误差(Mean Square Error)、平均绝对误差(Mean Absolute Error,MAE)、Huber Loss。 1. 均方误差(Mean Square Error,MSE) 均方误差指的就是模型预测值 f(x) 与样本真实值 y 之间距离平方的平均值。其公式如下所示: 其中

线性回归、损失函数和梯度

风格不统一 提交于 2019-11-29 04:52:16
实例 首先举个例子,假设我们有一个二手房交易记录的数据集,已知房屋面积、卧室数量和房屋的交易价格,如下表: 假如有一个房子要卖,我们希望通过上表中的数据估算这个房子的价格。这个问题就是典型的回归问题,这边文章主要讲回归中的线性回归问题。 线性回归(Linear Regression) 首先要明白什么是回归。回归的目的是通过几个已知数据来预测另一个数值型数据的目标值。假设特征和结果满足线性关系,即满足一个计算公式h(x),这个公式的自变量就是已知的数据x,函数值h(x)就是要预测的目标值。这一计算公式称为回归方程,得到这个方程的过程就称为回归。 线性回归就是假设这个方式是一个线性方程,即假设这个方程是一个多元一次方程。以咱们上面提到的例子为例:假设房子的房屋面积和卧室数量为自变量x,用x1表示房屋面积,x2表示卧室数量;房屋的交易价格为因变量y,我们用h(x)来表示y。假设房屋面积、卧室数量与房屋的交易价格是线性关系。他们满足公式 上述公式中的θ为参数,也称为权重,可以理解为x1和x2对h(x)的影响度。对这个公式稍作变化就是 公式中θ和x是向量,n是样本数。 假如我们依据这个公式来预测h(x),公式中的x是我们已知的,然而θ的取值却不知道,只要我们把θ的取值求解出来,我们就可以依据这个公式来做预测了。 那么如何依据训练数据求解θ的最优取值呢?这就牵扯到另外一个概念: 损失函数

Insightface----loss

一曲冷凌霜 提交于 2019-11-29 04:26:57
总结下insightface的相关内容,其实,个人理解,这种用于分类的算法,相比较检测的算法来说的话,要来的简单一点。 为了搞清楚整个算法的流程,这里先对arcface_loss做一些在项目过程中的记录。先贴上损失函数公式 损失函数如上图所示。其实对于arcface的损失函数,网上的理解比比皆是,无非是为了增加分类的准确性,扩大化类间差距,增强类内紧度,引入了参数m。 但是这里看下公式,既然是损失函数,那么我们的网络的输出呢?我们数据的label呢?那么到底是怎么实现的呢?这里再贴上一个简化的网络结构 ok!看下网络结构,首先输入图片维度为(batch,112,112,3),然后中网络的话使用了Res_net100然后每个block做了改变变为IR,作者解释,更有利于人脸特征的提取!在这里我们暂且不研究网络具体结构,然后再看,以Resnet_100为例,网络输出为(batch,512),也就是生成了一个512维的向量来表示图片特征。其实从embedding到下一个(b,class)层,是我们用来构建arcface的,什么意思呢?也就是我们损失函数中的W矩阵是这一层的矩阵,然后利用BP来更新所有的前面的权重!我们先把这些明确,还有就是无论arcface_loss怎么变,最后我们就是要求一个Wx将(batch,512)映射到(batch,classes)上

模式识别与机器学习(三)

别来无恙 提交于 2019-11-28 22:59:08
最大最小距离 和 层次聚类 算法的一个共同特点是某个模式一旦划分到某一类之后,在后续的算法过程中就不再改变了,而 简单聚类算法中类心一旦选定后,在后继算法过程中也不再改变了。因此,这些方法效果一般不会太理想。 为解决该问题,可以采用 动态聚类法: 使用动态聚类法的要点: 确定模式和聚类的距离测度。当采用欧式距离时,是计算此模式和该类中心的欧式距离;为能反映出类的模式分布结构,可采用马氏距离。 确定评估聚类质量的准则函数。 确定模式划分以及聚类合并或分裂的规则。 基本步骤: 建立初始聚类中心,进行初始聚类 计算模式和类的距离,调整模式的类别 计算各聚类的参数,删除、合并或分裂一些聚类 从初始聚类开始,运用迭代算法动态地改变模式的类别和聚类的中心使准则函数取得极值或设定的参数达到设计要求时停止 C-均值法 条件及约定 设待分类的模式特征矢量集为:{ \(\vec x_1, \vec x_2,...,\vec x_N\) },类的数目C是事先取定的。 算法思想 该方法取定C个类别和选取C个初始聚类中心,按最小距离原则将各模式分配到C类中的某一类,之后不断地计算类心和调整各模式的类别,最终使各模式到其判属类别中心的距离平方和最小。 算法原理步骤 (1) 任选C个模式特征矢量作为初始聚类中心: \(\vec z_1^{(0)}, \vec z_2^{(0)},...,\vec z_C^{(0

[译]Multi-View Stereo: A Tutorial(3)

孤者浪人 提交于 2019-11-28 16:34:47
chapter 3 基于图像一致性的三维重建 基于第二章的图像一致性算法,本章将会详细介绍最近几年流行的多视角立体几何算法。区分MVS算法有许多因素,例如图像一致性函数,场景表达,可视化计算和初始化条件。因此提出一个单独的分类并不容易。本文将会依据输出的场景表示方法作为主要分类方式。因为它决定了应用的场景,有兴趣的读者可以参考[165]查看mvs算法的分类方法。 Fig3.1 表示4种常用的表示方法:深度图、点云、体素场、mesh面片,本章将会介绍每种重建算法的state-of-the-art 方法。点云重建方法的渲染方式是采用基于点的渲染技术[160,83],展示了一个完整的纹理渲染模型,但是点云模型仅仅是独立的带颜色的3D点;体素场常用于计算机视觉和计算机图形学表示3D平面,常将体素场当成距离一个平面的带符号的距离函数,该平面是函数场的零势面。 Fig3.2表示MVS算法的重建步骤和中间或者最终几何形态类型,许多MVS算法集中于单个重建步骤,然而有些将多个步骤组合成操作管线,本表表达了大多数MVS算法/系统,除了一种算法-直接通过图像一致性体素构建mesh,通过体素融合方法[190,102],在这个方法中,图像一致性体素替换了点云图或者深度图。 当然有许多过去开发的算法再这里没有列举出来,例如level-set方法,level-set曾经在MVS算法中非常流行

反向传播算法简介

我怕爱的太早我们不能终老 提交于 2019-11-28 13:28:52
反向传播算法 参考: http://neuralnetworksanddeeplearning.com/chap2.html BP 算法所关注的是损失函数 C 关于神经网络每一个权重 w 和偏置 b 的偏导。BP 算法向我们展示权值和偏置对损失值的影响。BP 不仅仅是一个快速的算法,其同时为我们提供了一个视角,让我们观察权值和偏置是如何影响网络输出的。 热身:使用矩阵计算网络输出 先介绍一个网络权重和偏置值的数学表示:$w_{jk}^l$,左侧的数学表达式表示第 $l$ 层网络的第 $j$ 个元素和第 $l-1$ 层第 $k$ 个元素之间的权重。同样的,$b_j^l$ 表示第 $l$ 层第$j$个元素的偏置值,$a_j^l$ 表示 $l$ 层第 $j$ 个元素的激活函数输出。利用这种数学表示,$a_j^l$ 可以表示为: $$ a_j^l = \sigma(\sum_k w_{jk}^l a_k^{l-1} + b_j^l) \tag{1} $$ 使用矩阵形式表示上述表达式: $$ a^l = \sigma(w^l a^{l-1} + b^l) \tag{2} $$ 定义 $z^l = w^l a^{l-1} + b^l$ 为激活函数的输入值则可以将上面表达式$(2)$ 表示为: $$ a^l = \sigma(z^l) \tag{3} $$ 损失函数的两个要求 BP