神经网络(三)—— 神经元多输出

本系列为慕课网《深度学习之神经网络(CNN/RNN/GAN)算法原理+实战》视频笔记,希望自己能通过分享笔记的形式更好的掌握该部分内容。
往期回顾:
神经网络(一)—— 机器学习、深度学习简介
神经网络(二)—— 神经元、Logistic回归模型

多分类的Logistic回归模型

多个神经元就可以得到多个输出!由此,我们可以得到多分类的Logistic回归模型。

  • W W W从向量扩展为矩阵
  • 输出 W ∗ x W*x Wx则变成向量
    fig1. 三分类模型
    上图为两个神经元组成的三分类模型,每个神经元有不同的权重 W W W
Example:

X = [ 3 , 1 , 2 ] X=[3,1,2] X=[3,1,2] W = [ [ 0.4 , 0.6 , 0.5 ] , [ 0.3 , 0.2 , 0.1 ] ] W=[[0.4,0.6,0.5],[0.3,0.2,0.1]] W=[[0.4,0.6,0.5],[0.3,0.2,0.1]]
then, Y = [ y 0 , y 1 ] = [ W [ 0 ] ∗ x , W [ 1 ] ∗ x ] = [ 2.8 , 1.3 ] Y=[y_0,y_1]=[W[0]*x,W[1]*x]=[2.8,1.3] Y=[y0,y1]=[W[0]x,W[1]x]=[2.8,1.3]

多输出神经元 → \rightarrow softmax → \rightarrow 多分类Logistic回归模型

前一节(神经元、Logistic回归模型)我们已经学过了二分类Logistic回归模型通过sigmoid函数给出分类概率。但我们还可以换一个角度,把它看成将 1 1 1 e − w T x e^{-w^Tx} ewTx做归一化。
fig2. 二分类Logistic回归分类概率的另一种解释角度
对于 K K K个分类的分类问题,如下图所示, W W W为一个 K − 1 K-1 K1行的矩阵,将 K − 1 K-1 K1个值和 1 1 1一起做归一化,给出 K K K个类别的分类概率。
fig3. Logistic回归处理多分类问题的分类概率
具体地分类概率:
P ( Y = k ∣ x ) = h w ( x ) = e − w k T x 1 + Σ 1 k − 1 e − w k T x ,   k = 1 , 2 , . . . , K − 1 P(Y=k|x)=h_w(x)=\frac{e^{-w^T_kx}}{1+\Sigma_1^{k-1} e^{-w^T_kx}}, \ k=1,2,...,K-1 P(Y=kx)=hw(x)=1+Σ1k1ewkTxewkTx, k=1,2,...,K1
P ( Y = k ∣ x ) = 1 − h w ( x ) = 1 1 + Σ 1 k − 1 e − w k T x ,   k = K P(Y=k|x)=1-h_w(x)=\frac{1}{1+\Sigma_1^{k-1} e^{-w^T_kx}}, \ k=K P(Y=kx)=1hw(x)=1+Σ1k1ewkTx1, k=K

Example:

Y = [ y 0 , y 1 ] = [ 2.8 , 1.3 ] Y=[y_0,y_1]=[2.8,1.3] Y=[y0,y1]=[2.8,1.3]
e − Y = [ e − 2.8 , e − 1.3 ] = [ 0.06 , 0.27 ] e^{-Y}=[e^{-2.8},e^{-1.3}]=[0.06,0.27] eY=[e2.8,e1.3]=[0.06,0.27]
S u m = 1 + 0.06 + 0.27 = 1.33 Sum=1+0.06+0.27=1.33 Sum=1+0.06+0.27=1.33
P ( Y = 0 ∣ x ) = 0.06 / 1.33 = 0.045 P(Y=0|x)=0.06/1.33=0.045 P(Y=0x)=0.06/1.33=0.045
P ( Y = 1 ∣ x ) = 0.27 / 1.33 = 0.203 P(Y=1|x)=0.27/1.33=0.203 P(Y=1x)=0.27/1.33=0.203
P ( Y = 2 ∣ x ) = 1.00 / 1.33 = 0.752 P(Y=2|x)=1.00/1.33=0.752 P(Y=2x)=1.00/1.33=0.752
从Logistic回归模型的介绍,我们可以看出其实我们也可以把Logistic回归模型看成神经网络,多分类的Logistic回归模型已经有多个神经元了。

目标函数(损失函数)

  • 衡量对数据的拟合程度。
Example:

( x 1 , y 1 ) = ( [ 10 , 3 , 9 , 20 , . . . , 4 ] , 1 ) (x_1,y_1)=([10,3,9,20,...,4],1) (x1,y1)=([10,3,9,20,...,4],1)
y 1 ′ = M o d e l ( x 1 ) = 0.8 y_1'=Model(x_1)=0.8 y1=Model(x1)=0.8
L o s s = ∣ y 1 − y 1 ′ ∣ = 0.2 Loss=|y_1-y_1'|=0.2 Loss=y1y1=0.2

One More Example:

( x 1 , y 1 ) = ( [ 10 , 3 , 9 , 20 , . . . , 4 ] , 3 ) (x_1,y_1)=([10,3,9,20,...,4],3) (x1,y1)=([10,3,9,20,...,4],3)
y 1 ′ = M o d e l ( x 1 ) = [ 0.1 , 0.2 , 0.25 , 0.4 , 0.05 ] y_1'=Model(x_1)=[0.1,0.2,0.25,0.4,0.05] y1=Model(x1)=[0.1,0.2,0.25,0.4,0.05]
L o s s = ∣ y 1 − y 1 ′ ∣ = a b s ( [ 0 , 0 , 0 , 1 , 0 ] − y 1 ′ ) = [ 0.1 , 0.2 , 0.25 , 0.6 , 0.05 ] = 1.2 Loss=|y_1-y_1'|=abs([0,0,0,1,0]-y_1')=[0.1,0.2,0.25,0.6,0.05]=1.2 Loss=y1y1=abs([0,0,0,1,0]y1)=[0.1,0.2,0.25,0.6,0.05]=1.2

常用目标函数
  • 平方差函数
    1 n Σ 1 2 ( y − M o d e l ( x ) ) 2 \frac{1}{n}\Sigma\frac{1}{2}(y-Model(x))^2 n1Σ21(yModel(x))2
  • 交叉熵函数
    1 n Σ y l n ( M o d e l ( x ) ) \frac{1}{n}\Sigma yln(Model(x)) n1Σyln(Model(x))

神经网络训练

  • 调整参数使模型在训练集上的损失函数最小
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值