zoukankan      html  css  js  c++  java
  • CS231n 学习笔记(2) Loss Function and Optimization

    Lecture 2 的最后部分中提到了linear classifier

    这里f(x,W) = Wx + b 是score fun 用来计算输入相对于各类的分数。 x为输入,W为权重,b为偏置项。

    那么在得到分数之后我们需要一个机制来评价当前的分类器是否理想,于是引入了loss function。

    下面看一下loss fun是怎么定义的,给定一组数据,xi为图像,yi是其对应的标签。则数据集上的loss为

     lecture中介绍了一种SVM的多类loss 称为hinge loss

    可以概括成

    下面我们看一个计算例子:

    蓝色式子是对青蛙类loss的计算 为 12.9.

    最后三类的loss分别为 2.9 , 0 , 12.9 所以数据集的loss L = (2.9 + 0 + 12.9) / 3 = 5.27

    lecture 中考虑了一些关于loss的问题,如初始权重都为零会怎么样,用mean替代max会怎么样等。。很有意思

    对于上面loss function,会存在一个bug,就是有时loss会等于0。下面notes中解释了为什么

    当初始权重能够准确的分类每一个例子,我们得到的对应类的score将会很高,这样对于loss fun 我们会得到Li = 0 for all i。然而我们又发现能这种权重并不唯一,

    对于权重W,与任何一个系数λ > 1相乘我们都将得到Li =0。然而我们希望在数据集上得到一个unique的 W,为此便引入了R(W)也就是正则项。

     其中最常用的是L2正则项,

     可以看出正则项是一个关于参数W的式子而与数据无关,加入正则项后我们得到了SVM多分类的最终loss形式如下。λ在这里是一个超参数。

     

    将L展开来则有,看起来很长好像很厉害的样子,但是将其拆分后单独理解发现其实也容易理解

     ---------------------------------------------------------------------------------------------

    softmax 分类器 也就是多项版的logistic regression

    softmax则给定一组输入时得到输出Y为k的概率为

    其中就是softmax fun。 为了对正确的类别最大化其log likelihood或者最小化其负log likelihood,这里loss function 采用了-log也就是

    看一个例子:得到的三类score分别为3.2 5.1 和 -1.7 红框按softmax计算得到未归一化的概率而后在对概率归一化

    ------------------------------------------------------------------------------------------------------------------------------

    当我们有了score function 和 loss function, 我们可以通过他们去寻找最优的权重W,这里就引入了optimization 最优化

    lecture先给了随机取W的方法。。只有15%的准确率。。

    而后从斜率引导了gradient decent方法。

  • 相关阅读:
    centos6.5升级gcc 4.4.7为最新版4.9.1
    vmware打开虚拟级断电情况下,无法找到虚拟机文件
    centos /usr/local 和/opt 安装软件你什么不同../configure --prefix=/usr...
    centos安装git
    P1207 双重回文数
    P1214 等差数列
    P1215 母亲的牛奶
    P1217 回文质数
    P3650 滑雪课程设计
    NOIP 2015[D2 T1] 跳石头
  • 原文地址:https://www.cnblogs.com/klitech/p/7066287.html
Copyright © 2011-2022 走看看