精华内容
下载资源
问答
  • (转)机器学习中的损失函数 损失函数(loss function)是用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。损失函数是经验...

    (转)机器学习中的损失函数
    损失函数(loss function)是用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分,也是结构风险函数重要组成部分。模型的结构风险函数包括了经验风险项和正则项,通常可以表示成如下式子:

    θ=argminθ1Ni=1NL(yi,f(xi;θ)+λ Φ(θ)

    其中,前面的均值函数表示的是经验风险函数,L代表的是损失函数,后面的ΦΦ是正则化项(regularizer)或者叫惩罚项(penalty term),它可以是L1,也可以是L2,或者其他的正则函数。整个式子表示的意思是找到使目标函数最小时的θθ值。下面主要列出几种常见的损失函数。

    一、log对数损失函数(逻辑回归)(凸函数)
    有些人可能觉得逻辑回归的损失函数就是平方损失,其实并不是。平方损失函数可以通过线性回归在假设样本是高斯分布的条件下推导得到,而逻辑回归得到的并不是平方损失。在逻辑回归的推导中,它假设样本服从伯努利分布(0-1分布),然后求得满足该分布的似然函数,接着取对数求极值等等。而逻辑回归并没有求似然函数的极值,而是把极大化当做是一种思想,进而推导出它的经验风险函数为:最小化负的似然函数(即max F(y, f(x)) —-> min -F(y, f(x)))。从损失函数的视角来看,它就成了log损失函数了。

    log损失函数的标准形式:

    L(Y,P(Y|X))=−logP(Y|X)L(Y,P(Y|X))=−log⁡P(Y|X)

    刚刚说到,取对数是为了方便计算极大似然估计,因为在MLE中,直接求导比较困难,所以通常都是先取对数再求导找极值点。损失函数L(Y, P(Y|X))表达的是样本X在分类Y的情况下,使概率P(Y|X)达到最大值(换言之,就是利用已知的样本分布,找到最有可能(即最大概率)导致这种分布的参数值;或者说什么样的参数才能使我们观测到目前这组数据的概率最大)。因为log函数是单调递增的,所以logP(Y|X)也会达到最大值,因此在前面加上负号之后,最大化P(Y|X)就等价于最小化L了。
    逻辑回归的P(Y=y|x)表达式如下:

    P(Y=y|x)=11+exp(−yf(x))P(Y=y|x)=11+exp(−yf(x))

    将它带入到上式,通过推导可以得到logistic的损失函数表达式,如下:

    L(y,P(Y=y|x))=log(1+exp(−yf(x)))L(y,P(Y=y|x))=log⁡(1+exp(−yf(x)))

    逻辑回归最后得到的目标式子如下:

    J(θ)=1m[i=1my(i)loghθ(x(i))+(1y(i))log(1hθ(x(i)))]

    如果是二分类的话,则m值等于2,如果是多分类,m就是相应的类别总个数。这里需要解释一下:之所以有人认为逻辑回归是平方损失,是因为在使用梯度下降来求最优解的时候,它的迭代式子与平方损失求导后的式子非常相似,从而给人一种直观上的错觉。

    这里有个PDF可以参考一下:Lecture 6: logistic regression.pdf.

    二、平方损失函数(最小二乘法, Ordinary Least Squares )(凸函数)
    最小二乘法是线性回归的一种,OLS将问题转化成了一个凸优化问题。在线性回归中,它假设样本和噪声都服从高斯分布(为什么假设成高斯分布呢?其实这里隐藏了一个小知识点,就是中心极限定理,可以参考【central limit theorem】),最后通过极大似然估计(MLE)可以推导出最小二乘式子。最小二乘的基本原则是:最优拟合直线应该是使各点到回归直线的距离和最小的直线,即平方和最小。换言之,OLS是基于距离的,而这个距离就是我们用的最多的欧几里得距离。为什么它会选择使用欧式距离作为误差度量呢(即Mean squared error, MSE),主要有以下几个原因:

    简单,计算方便;
    欧氏距离是一种很好的相似性度量标准;
    在不同的表示域变换后特征性质不变。
    平方损失(Square loss)的标准形式如下:

    L(Y,f(X))=(Y−f(X))2L(Y,f(X))=(Y−f(X))2

    当样本个数为n时,此时的损失函数变为:

    L(Y,f(X))=i=1n(Yf(X))2

    Y-f(X)表示的是残差,整个式子表示的是残差的平方和,而我们的目的就是最小化这个目标函数值(注:该式子未加入正则项),也就是最小化残差的平方和(residual sum of squares,RSS)。

    而在实际应用中,通常会使用均方差(MSE)作为一项衡量指标,公式如下:

    MSE=1n∑i=1n(Yi~−Yi)2MSE=1n∑i=1n(Yi~−Yi)2

    上面提到了线性回归,这里额外补充一句,我们通常说的线性有两种情况,一种是因变量y是自变量x的线性函数,一种是因变量y是参数αα的线性函数。在机器学习中,通常指的都是后一种情况。

    三、指数损失函数(Adaboost)(非凸函数)指数函数是向下的
    学过Adaboost算法的人都知道,它是前向分步加法算法的特例,是一个加和模型,损失函数就是指数函数。在Adaboost中,经过m此迭代之后,可以得到fm(x)fm(x):

    fm(x)=fm1(x)+αmGm(x)

    Adaboost每次迭代时的目的是为了找到最小化下列式子时的参数αα 和G:

    argminα,G=i=1Nexp[yi(fm1(xi)+αG(xi))]

    而指数损失函数(exp-loss)的标准形式如下

    L(y,f(x))=exp[yf(x)]

    可以看出,Adaboost的目标式子就是指数损失,在给定n个样本的情况下,Adaboost的损失函数为:

    L(y, f(x)) = \frac{1}{n}\sum_{i=1}^{n}\exp[-y_if(x_i)]

    关于Adaboost的推导,可以参考Wikipedia:AdaBoost或者《统计学习方法》P145.

    四、Hinge损失函数(SVM)(铰链)
    在机器学习算法中,hinge损失函数和SVM是息息相关的。在线性支持向量机中,最优化问题可以等价于下列式子:

    minw,b iN[1yi(wxi+b)]++λ||w||2

    下面来对式子做个变形,令:
    [1yi(wxi+b)]+=ξi

    于是,原式就变成了:
    minw,b iNξi+λ||w||2

    如若取λ=12Cλ=12C,式子就可以表示成:
    \min_{w,b}  \frac{1}{C}\left ( \frac{1}{2}\ ||w||^2
    + C \sum_{i}^{N} \xi_i\right )
    \frac{1}{m} \sum_{i=1}^{m} l(w \cdot x_i + b, y_i) + ||w||^2$$

    前半部分中的ll就是hinge损失函数,而后面相当于L2正则项。

    Hinge 损失函数的标准形式

    L(y)=max(0,1−yy~),y=±1L(y)=max(0,1−yy~),y=±1

    可以看出,当|y|>=1时,L(y)=0。

    更多内容,参考Hinge-loss。

    补充一下:在libsvm中一共有4中核函数可以选择,对应的是-t参数分别是:

    0-线性核;
    1-多项式核;
    2-RBF核;
    3-sigmoid核。
    五、其它损失函数
    除了以上这几种损失函数,常用的还有:

    0-1损失函数
    L(Y, f(X)) = \left{

    1,Yf(X)0,y=f(X)
    \right.
    绝对值损失函数
    L(Y,f(X))=|Yf(X)|

    下面来看看几种损失函数的可视化图像,对着图看看横坐标,看看纵坐标,再看看每条线都表示什么损失函数,多看几次好好消化消化。
    这里写图片描述
    最后,需要记住的是:参数越多,模型越复杂,而越复杂的模型越容易过拟合。过拟合就是说模型在训练数据上的效果远远好于在测试集上的性能。此时可以考虑正则化,通过设置正则项前面的hyper parameter,来权衡损失函数和正则项,减小参数规模,达到模型简化的目的,从而使模型具有更好的泛化能力。

    展开全文
  • 定义:通过集合C任意两个不同直线仍然在集合C内,则层集合C为仿射集。 仿射集例子:直线,平面,超平面 超平面:AX=b f(x) = 0表示定义在定义域Rn超平面,令f(x)=Ax-b,则f(x)=0表示“截距”为b...

    仿射集

    定义通过集合C中任意的两个不同的点的直线仍然在集合C内,则层集合C为仿射集。

    仿射集的例子:直线,平面,超平面

    超平面:AX=b

    f(x) = 0表示定义在定义域Rn的超平面,令f(x)=Ax-b,则f(x)=0表示“截距”为b的超平面。在三维空间的平面是二维的,四维空间的平面是三维的,n维空间的平面是n-1维的仿射集。

    凸集

    定义:集合C内的任意取两点,形成的线段均在集合C内,则称集合C为凸集。仿射集一定是凸集。

    扩展到k个点的时候:

    凸集的示例:

    凸包

    集合C中的所有点的凸组合形成的集合,叫集合的凸包。

    凸包是能够包含集合的最小凸集

    示例:

     

    凸函数

     y=x**2是凸函数,即函数图像上方的区域能够构成凸集。

    凸函数示例:

     

    1. 凸函数图像的上方区域,一定是凸集
    2. 一个函数图像的上方区域为凸集,则该函数是凸函数

     凸集和凸函数能够一一对应

    凸函数的充要条件:如果函数的二阶导数存在且大于0,则函数为凸函数(很恒大于0)。反之则不成立,所以不是必要条件。

     

     

     

     

     

     

    凸函数的性质:

    1.若凸函数的f(x)的定义域domf为凸集,且满足:

    几何含义:

          割线位于函数值的上方

    一阶可微

    若函数f(x)一阶可微,则函数f为凸函数,当且仅当f的定义域为凸集,且:

    (支撑超平面)

    几何含义:

     

    切线在函数的下方

    思考:对于凸函数,其一阶taylor近视本质上是该函数的全局下估计,反之,如果一个函数的一阶Taylor近视总是超全局下估计,则该函数是凸函数。该不等式说明从一个函数的局部信息,可以得到一定程度上的全局信息。

    二阶可微

    若函数f(x)二阶可微,则函数f(x)为凸函数当且仅当dom为凸集,且:

    若f是一元函数,上述式子为二阶导数大于等于0

    若f是多元函数,上述式子表示二阶导hessian矩阵半正定

    凸函数举例:指数函数,幂函数(指数大于1或者小于0),负对数函数,负熵函数,范数函数,指数线性函数。

     

    Jensen不等式(函数需为凸函数)

    基本的Jensen不等式:

    注:当扩展到n元函数时,仍然成立

     

    保持函数凸性质的算子

    1.凸函数的非负加权和:f(x) = w1f1(x) + w2f2(x) + w3f3(x)

    2.凸函数与仿射函数的复合: f(x) = g(ax+b)

    3.凸函数的逐点最大值,逐点上确界: f(x) = max{f1(x), f2(x),........},f(x) = sup(x,y)

     

    转载于:https://www.cnblogs.com/baby-lily/p/10591441.html

    展开全文
  • 机器学习-凸函数

    2019-07-22 22:24:22
    1 凸优化是指X 是闭合的凸集,f 是X 上的凸函数的最优化问题,这两个条件任一不满足则该问题即为非凸的最优化问题。 其中,X 是凸集是指对集合任意两点,即任意两点的连线段都在集合内,直观上就是集合不会像下面...

    https://www.nowcoder.com/discuss/205341

    1 凸优化是指X 是闭合的凸集,f 是X  上的凸函数的最优化问题,这两个条件任一不满足则该问题即为非凸的最优化问题。

    其中,X 是凸集是指对集合中任意两点,即任意两点的连线段都在集合内,直观上就是集合不会像下面那样有凹下去的部分,至于闭合的凸集,则涉及到闭合的凸集,则涉及到闭集的定义,而闭集的定义又基于开集。闭合的凸集是指包含所以边界点的凸集。

    实际建模中判断一个最优化问题是不是凸优化问题一般看一下几点:

    目标函数f 如果不是凸函数,则不是凸优化函数

    决策变量x 中包含离散变量(0-1 变量或整数变量),则不是凸优化问题

    约束条件写成g(x) <=0 时,g 如果不是凸函数,则不是凸优化问题

    之所以要区分凸优化问题和非凸的问题的原因在于凸优化问题中局部最优解同时也是全局最优解,

    2 人工智能,机器学习和深度学习的区别

    机器学习: 一种实现人工智能的方法

    使用算法来解析数据,从中学习,然后对真实世界中的事件做出决策和预测,使用大量的数据来训练,通过各种算法从数据中学习如何完成任务。机器学习直接来源于早期的人工智能领域,传统的算法包括决策树,聚类,贝叶斯分类,支持向量机,EM,Adaboost 等,在学习方法上,机器学习算法可以分为监督学习,无监督学习,半监督学习,集成学习,深度学习和强化学习。

    2 深度学习:一种实现机器学习的技术

    深度学习并不是一种独立的学习方法,其本身也会用到有监督和无监督的学习方法来训练深度神经网络,但由于近几年该领域发展迅猛,一些特有的学习手段相继提出(如残差网络) 。

    最初的深度学习是利用深度神经网络来解决表征表达的一种学习过程,深度神经网络本身并不是一个全新的概率,可大致理解为包含多个隐含层的神经网络结构,为了提高深层神经网络的训练效果,人们对神经元的连接方法和激活函数等方面做出了相应的调整,其实有不少想法早年间也曾有过,但是训练数据量不足,计算能力不足,因此最终的效果不尽人意。

     

    参考:https://blog.csdn.net/wwf_lightning/article/details/73477215

    http://www.sohu.com/a/227603209_163476

     

    展开全文
  • 因为我们机器学习算法,就是要在模型空间找到这样一个模型,使得这个模型在一定范围内具有最优性能表现。因此,机器学习离不开最优化。然而,对于很多问题,我们并不总能够找到这个最优,很多时候我们都是尽力去...

    在很多机器学习算法中,都会遇到最优化问题。因为我们机器学习算法,就是要在模型空间中找到这样一个模型,使得这个模型在一定范围内具有最优的性能表现。因此,机器学习离不开最优化。然而,对于很多问题,我们并不总能够找到这个最优,很多时候我们都是尽力去找到近似最优,这就是解析解和近似解的范畴。

    很多最优化问题都是在目标函数是凸函数或者凹函数的基础上进行的。原因很简单,凸函数的局部极小值就是其全局最小值,凹函数的局部极大值就是其全局最大值。因此,只要我们依据一个策略,一步步地逼近这个极值,最终肯定能够到达全局最值附近。

    那么,如何判断目标函数凸或者凹呢?

    判断目标函数凸或者凹的方法

    1 暴力计算法

    这个方法是我自己起的名字,哈哈,但是方法不是我发明的。。所谓暴力计算法,就是直接对目标函数进行计算,然后判断其是否凸。具体地,就是计算目标函数的一阶导数和二阶导数。然后作出判断。

    凸函数的一阶充要条件

    这里写图片描述

    等号右边是对函数在x点的一阶近似。这个条件的意义是,对于函数在定义域的任意取值,函数的值都大于或者等于对函数在这点的一阶近似。用图来说明就是:

    这里写图片描述

    通过图可以很清楚地理解这个充要条件,但是,具体在应用中,我们不可能对每一个点都去计算函数的一阶导数吧,因此下面这个充要条件更加实用。

    凸函数的二阶充要条件

    这里写图片描述

    很简单,如果一个函数的二阶导数大于等于零,那么这个函数就是凸函数。图就不上了,很好理解,函数的一阶导数具有递增性,那么函数本身就是凸函数。

    通过暴力计算法,可以很快地判断函数是不是凸函数。凹函数同理。

    2 结构分析法

    重要的内容都在后面,哈哈。有时候我们不必通过暴力计算,可以通过分析目标函数的结构,就能在一些情况下判断函数是否是凸函数。下面给出一些结论:

    1. 指数函数是凸函数;
    2. 对数函数是凹函数,然后负对数函数就是凸函数;
    3. 对于一个凸函数进行仿射变换,可以理解为线性变换,结果还是凸函数;
    4. 二次函数是凸函数(二次项系数为正);
    5. 高斯分布函数是凹函数;
    6. 多个凸函数的线性加权,如果权值是大于等于零的,那么整个加权结果函数是凸函数。

    下面出一道题目:如何判断最大似然函数一定有最大值?

    思路:最大似然函数是求最大值,那么函数必须是凹函数。就拿我们常用的对数似然函数,是多个对数函数的线性加权而且权值为1,而对数函数是凹函数,然后每个对数内部有没有嵌套其他函数再分析一下,最后就能判断整个对数似然函数是凹函数,因此一定有最大值。

    机器学习中的最优化问题

    很多机器学习算法都设计最优化问题,判断目标函数是凸是凹是第一步,这只是可以最优化的前提,那么,有哪些最优化的问题呢?

    • 线性规划
    • 二次规划
    • 二次约束的二次规划
    • 半正定规划

    有哪些最优化的手段呢?常见的有:

    • 梯度上升(下降)法
    • 牛顿法 / 拟牛顿法
    • 坐标下降法

    关于这部分的知识下次详谈,先给出几篇相关的资料:

    凸优化和机器学习
    关于凸优化的一些简单概念
    斯坦福凸优化综述

    展开全文
  • 定义:从一个可行解找到一个最好元素。 通常来说优化问题都可以写成如下形式: 最小化目标函数: m个约束函数规划与非规划 规划满足: 规划都是相对容易解决,非规划比较难解决。 仿射集 一个...
  • 成本函数我们在机器学习中最主要目标是最小化成本函数,因此,将执行优化过程以最小化该成本函数。成本函数由下式给出:为了深入了解成本函数几何形状,让我们学习凹函数和凸函数:凹函数在凹函数g(x)中,对于x...
  • Classification: 1、0-1 1)普通01损失函数 ... 该损失函数能够直观刻画分类错误率,但是由于其非、非光滑特点,使得算法很难直接对函数进行优化。 2)Hinge损失函数 对0-1损失函数的扩展...
  • 机器学习中的凸优化问题

    万次阅读 2013-10-02 18:39:24
    凸集定义为:    其几何意义表示为:如果集合C任意2个元素连线上点也在集合C,则C为凸集。... 凸函数的定义为:    其几何意义表示为函数任意两点连线上值大于对应自变量处函数值,示意图如下:
  • 数学最优化问题的一般表述是求取 x∗∈χx^{*}\in \chix∗∈χ,使 f(x∗)=min{f(x):x∈χ}f(x^{*} )=min\{f(x)...凸优化问题是指χ\chiχ是闭合的凸集且f是χ\chiχ上的凸函数的最优化问题,这两个条件任一不满足...
  • 凸优化问题(OPT,convex optimization problem)指定义在凸集中的凸函数最优化的问题。一般形式为: 凸优化问题 虽然凸优化的条件比较苛刻,但仍然在机器学习参数最优化领域有广泛的应用。凸优化问题的优势...
  • 监督学习中基于一个训练集(特征1,,特征2,…,特征n,已知目标)训练出一个监督学习算法,去计算仅知道特征测试集(特征1,特征2,…,特征n,未知目标)中未知目标值。如果目标值是离散(如是男还是女),就是分类问题,...
  • 机器学习中几种损失函数的分析

    千次阅读 2017-07-14 09:04:14
    机器学习中,损失函数是非常重要,用于衡量目标结果好坏,用于训练模型,损失函数就是目标函数了。常见损失函数有以下几种: 1.‘0/1损失函数’ f(z)=1, 如果z是小于零,其他就等于0. 性质:不是凸函数,...
  • 机器学习模型求解最终都会归结为求解一个最优化问题,最优化目标为模型误差,它是模型参数的函数。例如线性回归优化目标是均方误差,参数是每个特征系数。根据目标函数的特点(与非),样本数量,特征...
  • 根据目标函数(当然是已知了,如果是未知下面很多算法都无法用)形式可分为凸函数规划和线性规划: 一、凸函数(比如目标函数:z=x^2 + y^2) 1.无任何条件极值 min z=x^2 + y^2 求解算法:理论手算:...
  • ---蔡佳 绪论---学科概述 最优化是从所有可能方案选择最合理一种方案,以达到最佳目标科学。 达到...
  • 机器学习】ML代价函数

    万次阅读 2019-12-17 21:49:31
    但是问题在于,当我们将hθ(x)=11+e−θTx{h_\theta}\left( x \right)=\frac{1}{1+{e^{-\theta^{T}x}}}hθ​(x)=1+e−θTx1​带入到这样定义了代价函数时,我们得到代价函数将是一个非凸函数(non-convexfun.....
  • 半小时梳理凸优化主要内容思考凸集和凸函数凸集超平面和半空间多面体保持凸性运算分割超平面分割超平面构造支撑超平面思考凸函数凸函数举例上境图凸集与凸函数Jensen不等式保持凸性算子凸优化凸优化问题基本...
  • 凸集合与凸函数基本概念凸集合与凸函数的关系凸集合与凸函数的性质对应3.凸集分离定理凸集分离定理4.共轭凸函数共轭凸函数 1.优化与凸优化简介 优化问题基本形式 优化问题一般形式: 最小化:f0(x) 最小化:f_0(x)...
  • 文章目录机器学习中的数学知识优化非优化 机器学习中的数学知识 优化 下面是实际问题中常见的凸集,记住它们对理解后面的算法非常有帮助。 nnn维实向量空间RnR^nRn,显然如果x,y∈Rnx,y \in R^nx,y∈Rn,则...
  • 机器学习——优化

    2020-04-18 20:34:14
    因为我们机器学习算法,就是要在模型空间找到这样一个模型,使得这个模型在一定范围内具有最优性能表现。 很多最优化问题都是在目标函数是凸函数或者凹函数基础上进行。原因很简单,凸函数的局部极小值就是...
  • 凸函数凸函数的任何极小值也是最小值。严格凸函数最多有一个最小值。 凹函数:凹函数任何极大值也是最大值。严格凹函数最多有一个最大值。 非凹凸函数:有多个极大极小值,只有局部最优解 机器学习的任务 ...
  • 凸优化和拉格朗日函数 对偶问题和拉格朗日函数: ...重点:在优化问题求假设函数最小值时候,原函数不是一个凸函数,这时候给它加两个项构造一个拉格朗日函数, 取下确界获得拉格朗日对偶函...
  • (此处凸函数是指下凸,国内和国外凸函数的标准不一样,是相反,吴恩达的机器学习教程凸函数是指下凸) A:使用梯度下降法优化策略,如果损失函数是非凸,最后得到可能只是局部最优解,而非全局最优解。 ...
  • 在学习机器学习的时候,经常会遇到数据集或者算法中的函数有着凸和非凸的区别,那么到底什么样的函数是凸函数,什么样的函数是非凸函数凸函数 ...
  • 优化属于数学最优化的一个子领域,所以其理论本身也是科研领域一门比较复杂高深的研究方向,常被应用于运筹学、管理科学、运营管理、工业工程、系统工程、信号处理、统计学等,我们主要关注其在机器学习中的应用。...
  • BoydConvex Optimization是神书,真想搞科研可以学一下这个书,但这个书理论多,侧重分析基础,花了非常长篇幅介绍函数的凸性、对偶等,但在机器学习中,至少在刚入门不久阶段这些东西用不算多,或者...
  •  没有系统学过数学优化,但是机器学习中又常用到这些工具和技巧,机器学习中最常见优化当属优化了,这些可以参考Ng教学资料:http://cs229.stanford.edu/section/cs229-cvxopt.pdf,从中我们可以大致了解到...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 404
精华内容 161
关键字:

机器学习中的凸函数