1、实现目标
- 分类问题的最终目标是预测值要接近实际值
- 但为什么不是提高accuracy,而是减小dist between pred and real
- 原因1:如果让accuracy作为目标,即优化变成accuracy对w求梯度
那么当w变化使得正确概率从0.1变到0.4时,由于未突破0.5,所以accuracy保持不动,即gradient=0 - 原因2:与1相反,w的很小变化,使得正确概率从0.49变成0.51,则accuracy可能因此发生很大变化,即accuracy对w的梯度很大
- 综上,要么梯度为0,要么梯度爆炸,accuracy作为目标函数不合适
2、为什么叫regression
- 视频理解
- 当使用到的loss为mse时,跟回归问题类似,所以叫regression
- 当使用到的loss为cross entropy时,叫classification
3、激活函数
- 单分类:sigmoid
- 多分类:softmax
优点1:所有类别概率和为1
优点2:经过softmax,能够使大的概率和小的概率差距拉开
4、交叉熵(cross entropy)
4.1 entropy
- higher entropy = loss info = 不确定性越大
- log以2为底
4.2 cross entropy
- 当采用one-hot编码时,预测值只有0和1,所以H( p)=0
cross entropy转化为Dkl的问题 { KL Divergence }
-
Dkl(p | q)表征的是p和q的相似度,相似度越高,Dkl越小。
其实际意义为:p和q分别代表真实值和预测值,如果预测接近实际,那么Dkl小,cross entropy小,所以可以用cross entropy来作为衡量预测结果的一个损失函数 -
注意:函数cross_entropy中包含了softmax和log
cross_entropy = softmax + log + nll_loss