softmax回归的基本要素
1.数据集:带有标签的图片,即已分类好的图片。以
28
×
28
28\times28
28×28的灰度图为例,它们共分为10类。
2.模型:只有一个全连接层的神经网络,因此是单层神经网络。
1.输入为图片,以其像素为输入,即一个样本的输入应为1行784列(
28
×
28
=
784
28\times28=784
28×28=784)的向量。
2.一个样本的真实输出为
1
×
10
1\times10
1×10的向量,这10个数字中只有一个是1,其它数字都是0,1所在的位置表明这个图片属于那一类。
3.对于一个样本(
1
×
784
1\times784
1×784的输入向量),采用线性回归的方法,需要
784
×
10
784\times10
784×10的权重矩阵,
1
×
10
1\times10
1×10的偏差矩阵,得到的
1
×
10
1\times10
1×10的向量是不好预想的结果,里面的值可能有的特别大,如
1
0
3
10^3
103,因此将预测结果做类似归一化的处理,使该向量表现为概率分布的样子,每个数字都在0到1之间,且向量中所有数字相加之和为1,而这些数字中最大的数字所在的位置就是模型预测该图片的分类结果。这种归一化的过程就是 softmax运算符 作用在线性回归所得结果的过程。例如,第
i
i
i个样本线性回归后得到的预测向量的第
j
j
j个分量是
o
j
i
o^i_j
oji,将softmax运算符作用后得到
y
^
j
i
=
e
x
p
(
o
j
i
)
∑
j
e
x
p
(
o
j
i
)
\hat{y}^i_j=\frac{exp(o^i_j)}{\sum_j{exp(o^i_j)}}
y^ji=∑jexp(oji)exp(oji),其满足
∑
j
y
^
j
i
=
1
\sum_j\hat{y}^i_j=1
∑jy^ji=1
3.损失函数:交叉熵损失函数(cross entropy loss)
衡量真实的概率分布和预测的概率分布差异的测量方法是计算两个概率分布的 交叉熵 。第
i
i
i个样本的交叉熵计算方法:
l
i
=
−
∑
j
y
j
i
log
y
^
j
i
l^i=-\sum_jy^i_j\log{\hat{y}^i_j}
li=−∑jyjilogy^ji
设样本个数为
n
n
n,则交叉熵损失函数计算方法:
l
o
s
s
=
1
n
∑
i
l
i
loss=\frac{1}{n}\sum_il^i
loss=n1∑ili
4.优化函数:小批量随机梯度下降法:将训练数据集分成一批一批,先使用一批的数据来训练,修正参数,再用下一批的数据训练去修正参数。修正参数的过程,就是对每一个参数,减小损失函数
l
o
s
s
loss
loss对于该参数的梯度。