共计 1405 个字符,预计需要花费 4 分钟才能阅读完成。
download:JAVA 进阶训练营 2021 最新海上生明月
softmax 回归的相干常识
机器学习次要解决监督学习畛域的两个问题,分类和回归。那么分类问题又能够分为二分类问题和多分类问题,二分类问题绝对容易解决。咱们只须要结构一个输入层只有一个神经元的神经网络,而后联合 sigmoid 函数就能够实现二分类问题。而神经网络的多分类问题绝对简单。如果要解决三分类问题,咱们在构建神经网络的时候,须要构建一个输入层有三个神经元的神经网络,而后应用 softmax 回归来实现神经网络的多分类工作。
意味着 Softmax 回归
通常,机器学习实践者应用分类这个词来形容两个有细微差别的问题:
(1)咱们只对样本的硬类别感兴趣,即它们属于哪个类别;
(2)咱们心愿失去软类别,即属于每个类别的概率。
这两者的界线往往很含糊,起因之一就是即便咱们只关怀硬品类,咱们依然应用软品类的模型。
那我就拿一个图像分类问题来具体解释一下。假如每个输出都是一个图像,可能是“猫”、“鸡”、“狗”中的任何一个,那么它们的标签就意味着咱们肯定不能应用 {猫、鸡、狗}{\text{猫}、\text{鸡}、\text{狗} {猫、鸡、鸡}。所以咱们用一个很久以前统计学家创造的简略办法来示意分类数据: 一热编码。一个独特的热门代码是一个向量,其重量与类别一样多。相应类别的组件设置为 1,所有其余组件设置为 0。在咱们的示例中,标签 yyy 将是一个三维向量,其中(1,0,0)(1,0,0)(1,0,0) 对应于“猫”,(0,1,0) (0,1,0)(0,1,0)(0,1,0)(0,1,0)对应于“鸡”
最大回归是一个单层神经网络。因为每个输入 o1o_1o1、o2o_2o2 和 o3o_3o3 的计算依赖于所有输出 x1x_1x1、x2x_2x2、x3x_3x3 和 x4x_4x4,因而 softmax 回归的输入层也是一个全连贯层。
最大操作
而后,对于多分类问题,应用的 softmax 函数是网络输入层的激活函数。softmax 函数能够将输入值归一化,并将所有输入值转换为概率,所有概率值之和等于 1。
为了将非归一化预测转换成非负的并且总和为 1,要求模型放弃可导。首先,计算每个非归一化预测的效用,以确保输入不是负的。为了确保最终输入的和为 1,须要将每个取幂后果除以它们的和。公式如下:
Y = softmax (o)其中 y j = exp(OJ)∑kexp(ok)\ hat {\ mathbf { y} } = \ mathrm {soft max}(\ mathbf { o})\ quad \ text {where} \ quad \ hat
其中 yj hat {y} jyj(模型的输入)能够被认为是属于类 jjj 的概率。那么咱们能够抉择输入值最大的类别 argmaxjyj \ operator name * {arg max} j y jargmaxjyj 作为咱们的预测。例如,如果 y 1 \ hat {y} 1y 1、y 2 \ hat {y} 2y 2 和 y 3 \ hat {y} 3y 3 别离是 0.1、0.8 和 0.1,那么咱们预测的类别是 2,在咱们的例子中它代表“鸡”。
咱们能够看到,对于所有的 jjj,总有 0≤y j≤10 \ leq \ hat {y} _ j \ leq 10≤y j≤1,所以 y \ hat {\ mathbf {y}} y 能够看作是一个正确的概率分布。最大值运算不会扭转非归一化预测 o\mathbf{o}o 之间的程序,而只会确定调配给每个类别的概率。因而,在预测过程中,依然应用上面的公式来抉择最可能的类别。