自学内容网 自学内容网

Softmax多分类(机器学习)

之前的逻辑回归只能进行二分类。

我们现在使用Softmax进行多分类。

假如我们有的y有4个可选结果(如优秀、良好、及格、不及格)。

x是我们的输入

z_{1} = \vec{w}_{1}\cdot \vec{x}+b_{1}

z_{2} = \vec{w}_{2}\cdot \vec{x}+b_{2}

z_{3} = \vec{w}_{3}\cdot \vec{x}+b_{3}

z_{4} = \vec{w}_{4}\cdot \vec{x}+b_{4}

上面的z是通过输入,计算出的在这4个维度上的“中间值”。

a_{1}=\frac{e^{z_{1}}}{e^{z_{1}}+e^{z_{2}}+e^{z_{3}}+e^{z_{4}}}=P(y=1|\vec{x})

a_{2}=\frac{e^{z_{2}}}{e^{z_{1}}+e^{z_{2}}+e^{z_{3}}+e^{z_{4}}}=P(y=2|\vec{x})

a_{3}=\frac{e^{z_{3}}}{e^{z_{1}}+e^{z_{2}}+e^{z_{3}}+e^{z_{4}}}=P(y=3|\vec{x})

a_{4}=\frac{e^{z_{4}}}{e^{z_{1}}+e^{z_{2}}+e^{z_{3}}+e^{z_{4}}}=P(y=4|\vec{x})

经过这样处理,可以得到预测值为各数的概率。

推广:

z_{j}=\vec{w}_{j}\cdot\vec{x}+b_{j}\\ a_{j}=\frac{e^{z_{j}}}{\sum_{k=1}^{N}e^{z_{k}}}=P(y=j|\vec{x})

接下来定义损失函数:

loss(a_{1},...,a_{N},y)=\left\{\begin{matrix} -loga_{1} ,if \quad y =1\\ -loga_{2} ,if \quad y =2 \\ ... \\-loga_{N} ,if \quad y =N \end{matrix}\right.

然后看一下Softmax在神经网络中的应用:

此时我们最后一层有10个神经元,那么输出向量也是10维的。

那么我们也应该有:
z^{[3]}_{1}=\vec{w}^{[3]}_{1}\cdot\vec{a}^{[2]}+b^{[3]}_{1}\\ a^{[3]}_{1}=\frac{e^{z^{[3]}_{1}}}{e^{z^{[3]}_{1}}+...e^{z^{[3]}_{10}}}=P(y=1|\vec{x})

以此类推。


原文地址:https://blog.csdn.net/2303_77275067/article/details/140567654

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!