Rosasco L, De Vito E, Caponnetto A, et al. Are loss functions all the same[J]. Neural Computation, 2004, 16(5): 1063-1076.

@article{rosasco2004are,

title={Are loss functions all the same},

author={Rosasco, Lorenzo and De Vito, Ernesto and Caponnetto, Andrea and Piana, Michele and Verri, Alessandro},

journal={Neural Computation},

volume={16},

number={5},

pages={1063--1076},

year={2004}}

作者给出了不同的损失函数, 在样本数量增多情况下的极限情况. 假设\(p(x,y)\)为\((x,y)\)的密度函数,其中\(x\in \mathbb{R}^d\)为输入样本, \(y\in \mathbb{R}\)为值(回归问题) 或 类别信息(分类问题). 设\(V(w,y),\)为损失函数, 则期望风险为:

\[\tag{1}
I[f]=\int_Z V(f(x),y)p(x,y)\mathrm{d} x \mathrm{d}y,
\]

其中\(f\)为预测函数, 不妨设\(f_0\)最小化期望风险. 在实际中, 我们只有有限的样本\(D=\{(x_1,y_1),\ldots, (x_l,y_l)\}\), 在此情况下, 我们采取近似

\[\tag{2}
I_{emp}[f]=\frac{1}{l}\sum_{i=1}^lV(f(x_i),y_i),
\]

同时

\[\tag{3}
f_D=\arg\min_{f \in \mathcal{H}} I_{emp}[f].
\]

其中\(\mathcal{H}\)为hypothesis space.

\(f_D\)与\(f_0\)之间的差距如何, 是本文的核心.

主要内容

一些假设

首先\(f_D\)的在空间\(\mathcal{H}\)中寻找, Reproducing Kernel Hilbert Space(RKHS)一文中(没看)给出了这种空间的构造方式. 给定对称正定函数\(K(x,s)\)(Mercer核):

\[K: X \times X \rightarrow \mathbb{R},
\]

同时\(K(\cdot, x)\)是连续函数.

函数\(f\)通过下述方式构造:

\[\tag{4}
f(x) = \langle f, K(\cdot, x)\rangle_{\mathcal{H}}.
\]

给定常数\(R>0\), 构造hypothesis space \(\mathcal{H}_{R}\):

\[\mathcal{H}_{R} = \{f \in \mathcal{H}, \|f\|_{\mathcal{H}}\le R\},
\]

则在\(\|\cdot\|_{\infty}\)下, \(\mathcal{H}_R\)是连续函数\(C(X)\)上的一个紧集,其中\(X\subset \mathbb{R}^d\)是紧的(这个证明要用到经典的Arela-Ascoli定理, 只需证明\(\mathcal{H}_R\)中的元素是等度连续即可).

另外:

\[|f(x)|= |\langle f, K(\cdot, x)\rangle_{\mathcal{H}}.| \le \|f\|_{\mathcal{H}} \sqrt{K(x,x)},
\]

\[\|f(x)\|_{\infty} \le RC_K,
\]

其中\(C_K=\sup_{x \in X} \sqrt{K(x,x)}\).

损失函数\(V\)为凸函数且满足:

  1. \(V\)是Lipschitz函数, 即对于任意的\(M>0\), 存在常数\(L_M>0\)使得
\[|V(w_1,y)-V(w_2,y)|\le L_M|w_1-w_2|,
\]

对于任意的\(w_1,w_2\in[-M,M],y\in Y\)成立.

2. 存在常数\(C_0\), \(\forall y\in Y\)

\[V(0, y) \le C_0,
\]

成立.

注: 这里的凸函数, 因为一般的损失函数实际上是以\(w-y\)(回归), \(wy\)(分类)为变元, 所以要求\(V(t)\)关于\(t=w-y\)或者\(t=wy\)为凸函数.

损失函数

回归问题:



分类问题:

这些损失函数都是满足假设的, 所对应的\(L_M, C_0\), 当\(Y=[a, b], \delta=\max \{|a|, |b|\}\)时为

\(I[f_D]-I[f_R]\)

假设\(f_R=\arg\min_{f \in \mathcal{H}_R}I[f]\), 一般的误差

\[I[f_D]-I[f_0]=(I[f_D]-I[f_R])+(I[f_R]-I[f_0]),
\]

第一项是我们所关注的, 称为估计误差, 第二项为逼近误差.

这里引入\(\mathcal{H}_R\)的covering number, \(N(\epsilon)\), 文中所指的应该是wiki中的external covering number.

下面是理论结果, 引理的证明用了Hoeffding不等式, 这个不了解, 感兴趣请回看原文.



这里\(\epsilon(\eta, \ell, R)\)实际上(6)不等式右端第二项, 令其为\(\eta\), 反解\(\epsilon\)的意思.

第一个不等式实际上就是引理的推论, 第二个不等式注意到:

又\(I[f_D]\ge I[f_R]\)(这个说是根据定义, 但我没弄清楚), 故不等式成立.

损失函数的统计性质

收敛速度

考察不同损失的函数的\(\eta\):

回归问题:

\(abs / \epsilon-insensitive\):



\(square\):



注意到, 因为square loss 的covering number 随着\(R, \delta\)的增加会变大, 所以\(\eta\)会变大,所以在收敛速度上, square比不上上面俩个.

分类问题:

hinge:



logistic:



二者的收敛表现是类似的, 而square是类似的(\(\delta=1\)).

分类的界

关注分类问题中的hinge损失, 因为它会逼近概率推断.

在二元分类问题中, 其最佳函数\(f_b\)为:



当\(p(1|x)\not= p(-1|x)\).

有如下事实:



证明蛮有趣的, 这里贴一下



\(p(1|x)<1/2\)的证明是类似的.

另外(证明在别的论文中):

\[\tag{11}I[f_0]=I[f_b].
\]

又(至少有\(1-\eta\)的概率)

\[I[f_D]-I[f_R]\le2\epsilon(\eta, \ell, R),
\]

并注意到(感觉怪怪的):

\[I[sgn(f_D)] \le I[f_D],
\]

故至少有\(1-\eta\)的概率



成立. 也就是说当样本个数\(\ell\)足够大的时候, \(sgn(f_D)\)的效用是等价于统计判别的, 这是hinge loss独有的优势.

Are Loss Functions All the Same?的更多相关文章

  1. 目标检测复习之Loss Functions 总结

    Loss Functions 总结 损失函数分类: 回归损失函数(Regression loss), 分类损失函数(Classification loss) Regression loss funct ...

  2. cs231n spring 2017 lecture3 Loss Functions and Optimization 听课笔记

    1. Loss function是用来量化评估当前预测的好坏,loss function越小表明预测越好. 几种典型的loss function: 1)Multiclass SVM loss:一般的S ...

  3. Basic Classifiers and Loss Functions

    Linear Classifier and Hing Loss (or Multiclass SVM Loss) Linear Mapping (Score function) Linear Clas ...

  4. CS231n笔记 Lecture 3 Loss Functions and Optimization

    这一讲总体上就是引入Loss Function的概念,以及让大家对优化有一个初步的认识,和其他课程里面说的内容大同小异. Loss function Multiclass svm loss multi ...

  5. cs231n spring 2017 lecture3 Loss Functions and Optimization

    1. Loss function是用来量化评估当前预测的好坏,loss function越小表明预测越好. 几种典型的loss function: 1)Multiclass SVM loss:一般的S ...

  6. 惩罚因子(penalty term)与损失函数(loss function)

    penalty term 和 loss function 看起来很相似,但其实二者完全不同. 惩罚因子: penalty term的作用是把受限优化问题转化为非受限优化问题. 比如我们要优化: min ...

  7. 损失函数(loss function) 转

    原文:http://luowei828.blog.163.com/blog/static/310312042013101401524824 通常而言,损失函数由损失项(loss term)和正则项(r ...

  8. [machine learning] Loss Function view

    [machine learning] Loss Function view 有关Loss Function(LF),只想说,终于写了 一.Loss Function 什么是Loss Function? ...

  9. 损失函数(loss function)

    通常而言,损失函数由损失项(loss term)和正则项(regularization term)组成.发现一份不错的介绍资料: http://www.ics.uci.edu/~dramanan/te ...

随机推荐

  1. A Child's History of England.46

    As, one hundred years before, the servile [卑躬屈膝的~serve] followers of the Court had abandoned the Con ...

  2. Celery进阶

    Celery进阶 在你的应用中使用Celery 我们的项目 proj/__init__.py   /celery.py   /tasks.py 1 # celery.py 2 from celery ...

  3. Scala(二)【基本使用】

    一.变量和数据类型 1.变量 语法:val / var 变量名:变量类型 = 值 val name:String = "zhangsan" 注意 1.val定义的变量想到于java ...

  4. 零基础学习java------23---------动态代理,ip,url案例

    1. 动态代理 2. ip,url案例 给定的access.log是电信运营商的用户上网数据,第一个字段是时间, 第二个字段是ip地址,第三个字段是访问的网站,其他字段可以忽略不计. 第一个字段是网段 ...

  5. netty系列之:手持framecodec神器,创建多路复用http2客户端

    目录 简介 配置SslContext 客户端的handler 使用Http2FrameCodec Http2MultiplexHandler和Http2MultiplexCodec 使用子channe ...

  6. jenkins之代码回滚

    #:通过传参数方式 #:保存后就会看到这样 #;:我们在jenkins服务器写一个脚本 root@ubuntu:~# mkdir /root/script/web1 -pv mkdir: create ...

  7. ORACLE DBMS_ROWID包详解

    这个包在11gR2中有11个函数或存储: 1. 根据给定参数返回一个rowid --根据给定参数返回一个rowid FUNCTION rowid_create(rowid_type IN NUMBER ...

  8. 【Linux】【Basis】网络

    Linux网络属性配置                           计算机网络:          TCP/IP:协议栈(使用)             ISO,OSI:协议栈(学习)     ...

  9. 【力扣】122. 买卖股票的最佳时机 II

    给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格. 设计一个算法来计算你所能获取的最大利润.你可以尽可能地完成更多的交易(多次买卖一支股票). 注意:你不能同时参与多笔交易(你必须在再次 ...

  10. ZooKeeper 06 - ZooKeeper 的常用命令

    目录 1 - 服务端常用命令 2 - 客户端常用命令 3 - 常用四字命令 4 - ZooKeeper 日志的可视化 版权声明 若要部署 ZooKeeper 单机环境,请查看此篇:https://ww ...