• 动手学深度学习二---softmax回归


    1、适用情景
    当模型需要输出图像类别这样的离散值时,可以使用包括softmax在内的分类模型。softmax回归即在输出中采用了softmax运算,使运算结果更适合离散值的训练和预测。
    2、softmax模型
    假设输入特征为x1、x2、x3、x4,根据输入特征判断图片类别为O1、O2、O3,权重为带下标的w,偏差为带下标的b,对于每个输出,计算过程如下:

    用神经网络描绘以上计算,输入为个数为特征个数4个,输出个数为类别数3个,每一个输出O1、O2、O3的计算完全依赖所有输入,故输出层也是全连接层,输入层不参与计算,故与线性回归一样也是单层神经网络

    分类问题需要得到离散的预测输出,一个方法是将输出值Oi作为预测类别是i的置信度,将最大的置信度对应的类别作为预测类别

    此时将会面临两个问题:

    (1)输出值的范围不确定,例如在,10、0.1、0.1中最大为10,属于类别1,若O2=O3=100,此时则不会是第一类

    (2)真实标签是离散值,与不确定范围的输出值之间的误差难以衡量

    解决办法:

    对输出值采用softmax运算,将结果变换成值为正且和为1的概率分布

    此时,,因此是一个合法的概率分布

    同时,根据ex函数的特征知,最大的Oi即为最大的,softmax运算没有改变预测类别

    最终得出模型的矢量计算表达式为:

    3、损失函数

    对于预测输出值,此时满足一个概率分布,而对于真实值,也可以用一个概率分布表示:使第y(i)(预测为第i类)个元素为1,其它为0(构造向量y(i)

    对于衡量两个概率分布差异,最常用的测量函数是交叉熵

    是向量y(i)中非0即1的元素,j为类别数值时,为1,其它为0;当一个样本只有一个标签(例如图像只需确定一个物体)时,以上函数可以简化为

    交叉熵损失函数取样本交叉熵的平均值,如下:

  • 相关阅读:
    MongoDB启动及用户名密码设置
    matplotlib热图
    Python--多进程--01
    python--进程
    python--pipe
    sklearn--feature extract--人脸识别
    Python--pool
    scikit-learn---PCA(Principle Component Analysis)---KNN(image classifier)
    pycharm 添加注册码
    django第三方库
  • 原文地址:https://www.cnblogs.com/slfh/p/10888415.html
Copyright © 2020-2023  润新知