cs331n 线性分类器损失函数与最优化

tip:老师语速超快。。。痛苦= =函数

线性分类器损失函数与最优化

\(Multiclass SVM loss: L_{i} = \sum_{j \neq y_{i}} max(0,s_{i}-s_{y_{i}}+1)\)优化

\(Loss = \frac{1}{N} \sum_{i=1}^{N} L_{i}\)spa

Q1: what if the sum was instead over all classes(j = yi)?code

A1:在计算中,咱们能够知道这个没有意义,在公式中至关于加上了1,由于yi-yi=0orm

Q2:咱们用平均值来替代求和会怎么样?ip

A2:没有任何意义,只是至关于使得最后损失的计算成倍地缩小。get

Q3:若是公式变成了 $ L_{i} = \sum_{j \neq y_{i}} max(0,s_{i}-s_{y_{i}}+1)^{2} $ 会怎么样?it

A3:这个公式其实是square hinge loss。第一个公式咱们一般叫作 hinge loss。io

Q4:最大的损失值和最小值是多少?ast

A4:显然最小就是0,最大是无穷

Q5:当W很小的时候,s都等于0的时候,咱们的loss会是多少?

A5:loss将会是种类数-1

code:
def L_i_vectorized(x,y,W):
    scores = W.dot(x)
    margins = np.maximum(0,scores - scores[y] + 1)
    margins[y] = 0 # margins[y] = 1
    loss_i = np.sum(margins)
    return loss_i

\(f(x,W) = Wx\)

\(L = \frac{1}{N} \sum_{i=1}^{N} \sum_{j!=y_{i}} max(0,f(x_{i};W)_{j} - f(x_{i};W)_{y-{i}} +1)\)

这个loss function其实是有bug,这个可能获得咱们不想获得的结果。

好比咱们想找到损失函数为0的W,是否W是独一无二?

显然不是,只要score[y]>1便可……

Weight Regularization

\(L = \frac{1}{N} \sum_{i=1}^{N} \sum_{j!=y_{i}} max(0,f(x_{i};W)_{j} - f(x_{i};W)_{y-{i}} +1) + \lambda R(W)\)

L2 regularzation \(R(W) = \sum_{k}\sum{l}W_{k,l}^2\)

L1 regularzation \(R(W) = \sum\sum \left | W_{k,l} \right |\)

Elastic net(L1+L2),Max norm regularization,Dropout

加入正则化,使得泛化能力加强。

L2正则化其实是想让你尽量展开你的W,使得充分的考虑更多的元素。

L1会使得W变得稀疏。

Softmax Classifier(Multinomial Logistic Regression)

scores = unnormalized log probabilities of the classes

\(L_{i} = -logP(Y = y_{i} | X = x_{i})\)

最大化正确的几率(最小化负的对数几率)

Q1:最大最小的loss是多少?

A1:最小为0,最大为无穷,显然。

Q2:当w很是小,都接近0的时候,loss会是什么值?

A2:-log(1/n) 显然

相关文章
相关标签/搜索