机器学习入门_softmax

1. SoftMax原理

一个神经网络输入数据后,一般最后一层会输出一个连续的值,为了实现分类,假设总共有n类,我们可以定义网络的输出包含n个节点,每个节点代表一个输出,谁的输出值最高,那么就认为输入的数据属于哪一类。

然而这显然引入了一个问题:一方面,由于输出层的输出值的范围不确定,我们难以直观上判断这些值的意义。另一方面,由于真实标签是离散值,这些离散值与不确定范围的输出值之间的误差难以衡量。

例如,假设有3类,A,B和C类,其中最后一层输出了0.1,10,0.5,那么此时可以分为B类,但是也可能输出100,10,80,此时又认为应该属于A,但是他们之间的绝对值的差可能很大,这不利于构建loss,换而言之,如果某一类代表的输出先天性的大于其他,那么在收敛时,这一类可能会影响其他结果的分类效果。

1.1.归一化思想

容易想到,解决上述问题的方法可以是归一化,即再构建一层运算,或设置一种loss,使得最终输出的结果为“预测为属于该类的概率”,自然的,所有类的概率的和应该等于1。

认为Yi的概率为:

1.2. 利用信息熵


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容