zoukankan      html  css  js  c++  java
  • Margin Loss 损失函数的设计

    参考:  http://blog.csdn.net/luo123n/article/details/48878759

    Hinge Loss

    也叫 max-margin objective   其最著名的应用是作为SVM的目标函数

    其二分类情况下,公式如下:

    y是预测值(-1与1之间,t是目标值+/-1)

    其含义为,y的值在-1到1之间就可以了,并不鼓励|y|>1,即并不鼓励分类器过度自信,让某个可以正确分类的样本距离分割线的距离超过1并不会有任何奖励。从而使得分类器可以更专注整体的分类误差。

     

    from PRML:

    The Hinge Loss E(z) = max(0,1-z) is plotted in blue, the Log Loss in red, the Square Loss in green and the misclassification error in black.

    换用其他的Loss函数的话,SVM就不再是SVM了。

    知乎:正是因为HingeLoss的零区域对应的正是非支持向量的普通样本,从而所有的普通样本都不参与最终超平面的决定,这才是支持向量机最大的优势所在,对训练样本数目的依赖大大减少,而且提高了训练效率。

     hinge loss是一个凸函数,很多常用的凸优化技术都可以使用。不过它是不可微的,只是有subgradient

    参考:  http://www.cnblogs.com/ooon/p/5539687.html

    SVM求解使通过建立二次规划原始问题,引入拉格朗日乘子法,然后转换成对偶的形式去求解,这是一种理论非常充实的解法。这里换一种角度来思考,在机器学习领域,一般的做法是经验风险最小化 ERM ,即构建假设函数为输入输出间的映射,然后采用损失函数来衡量模型的优劣。求得使损失最小化的模型即为最优的假设函数,采用不同的损失函数也会得到不同的机器学习算法,比如这里的主题 SVM 采用的是 Hinge Loss ,Logistic Regression 采用的则是负 log 损失,

     红色的线是log损失,E(x) = -log(P(Y|X))

    对于二分类问题,假设分类器为y = wx+b, 根据经验风险最小化原则,这里引入二分类loss hinge loss: 

    SVM可以通过直接最小化如下损失函数二求得最优的分离超平面:

    多分类问题:

    单个样本多分类问题  s = wx+b  s为向量,每个分量都是一个类的得分,  y标签类别为1,其他为0

    单个样本多分类的inge loss如下:

    对每个分量进行hinge loss求和

    所以k分类线性分类SVM的Hinge Loss表示为:

    变种

    实际应用中,我们的y值域并不是[-1,1],比如我们希望y更接近于一个概率,值域是[0,1], 另一方面,我们希望训练的是两个样本之间的相似关系,而非样本的整体分类,所以用以下公式:

    其中,y是正样本的得分,y'是负样本的得分,m是margin

     我们并不希望正样本分数越高越好,负样本分数越低越好,但二者得分之差最多到m就足够了,差距增大并不会有任何奖励

    比如,我们想训练词向量,我们希望经常同时出现的词,他们的向量内积越大越好;不经常同时出现的词,他们的向量内积越小越好。则我们的hinge loss function可以是:

     

    其中,w是当前正在处理的词,w+w+是w在文中前3个词和后3个词中的某一个词,ww−是随机选的一个词

     也就是说 1-正+负<=0    正-负>=1   

  • 相关阅读:
    Spark-sql windows 下 执行错误.
    notepad ++ 注册表
    log4j 配置文件 示例
    linux 查看 进程 内存占用
    spring boot 常见错误解决
    python 轻量 web 框架 Bottle 使用
    Spring cloud eureka 添加 spring-security
    vue can‘ not resolver sass-loader 的 解决办法。
    外国人眼中的珍珠奶茶是啥?
    75.2亿美元:诺基亚、微软终于在一起
  • 原文地址:https://www.cnblogs.com/lainey/p/8583101.html
Copyright © 2011-2022 走看看