深度学习 神经网络 逻辑斯蒂回归模型

神经元

在这里插入图片描述
h W , b ( x ) = f ( W T x ) = f ( ∑ i = 1 3 w i x i + b ) h_{W, b}(x) = f(W^Tx) = f(\sum^{3}_{i=1}w_ix_i+b) hW,b(x)=f(WTx)=f(i=13wixi+b)

  • W W W 表示权重, 是一个向量
  • w w w 表示 W W W中的元素
  • x x x 表示特征
  • f ( ) f() f() 表示激活函数
  • b b b 是偏置, (如果没有 b b b, 那么分类线或者分类面都必须经过原点), b b b 可以看作 W W W 中的 w 0 w_0 w0, 与图中的 +1 相乘

二分类

把激活函数应用到神经元上, 就可以得到一个二分类逻辑斯蒂回归模型

如果激活函数是 sigmoid, 即 f ( x ) = 1 1 + e − x f(x) = \frac{1}{1+e^{-x}} f(x)=1+ex1, 则
h W ( x ) = f ( W T x ) = 1 1 + e − W T x h_{W}(x) = f(W^Tx) = \frac {1} {1+e^{-W^Tx}} hW(x)=f(WTx)=1+eWTx1
P ( Y = 0 ∣ x ) = h W ( x ) = 1 1 + e − W T x P ( Y = 1 ∣ x ) = 1 − h W ( x ) = e − W T x 1 + e − W T x P(Y=0|x) = h_{W}(x) = \frac {1} {1+e^{-W^Tx}} \\ P(Y=1|x) = 1 - h_{W}(x) = \frac {e^{-W^Tx}} {1+e^{-W^Tx}} \\ P(Y=0x)=hW(x)=1+eWTx1P(Y=1x)=1hW(x)=1+eWTxeWTx
这两个式子可以看做是 1 1 1 e − W T x e^{-W^Tx} eWTx 做归一化,
那么多分类就是 1 1 1, e − W 1 T x e^{-W^T_1x} eW1Tx, e − W 2 T x e^{-W^T_2x} eW2Tx e − W k T x e^{-W^T_kx} eWkTx 做归一化

多分类

在这里插入图片描述
再加一个神经元, 就可以做三分类(两个神经元各一类, 1减去两类为第三类)
也就是把 W W W 从向量扩展为矩阵, W n W_n Wn表示矩阵中的第 n n n个向量,
输出 W ∗ x W*x Wx 则变为向量

如果分为 K K K

P ( Y = k ∣ x ) = e − W k T x 1 + ∑ 1 k − 1 e − W k T x k = 1 , 2 , . . . K − 1 P ( Y = k ∣ x ) = 1 1 + ∑ 1 k − 1 e − W k T x k = K P(Y=k|x) = \frac{e^{-W^T_kx}}{1+\sum^{k-1}_{1}e^{-W^T_k x}} \quad k=1,2,...K-1\\ P(Y=k|x) = \frac{1}{1+\sum^{k-1}_{1}e^{-W^T_k x}} \quad k=K P(Y=kx)=1+1k1eWkTxeWkTxk=1,2,...K1P(Y=kx)=1+1k1eWkTx1k=K

举例:
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]]
W ∗ X W*X WX 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.006 , 0.27 ] e^{-Y} = [e^{-2.8}, e^{-1.3}] =[0.006, 0.27] eY=[e2.8,e1.3]=[0.006,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

目标函数

平方差损失

1 n ∑ x , y 1 2 ( y − M o d e l ( x ) ) 2 \frac{1}{n}\sum _{x,y}\frac{1}{2}(y-Model(x))^2 n1x,y21(yModel(x))2

  • 1 2 \frac{1}{2} 21 是为了求导方便
  • y y y 需要做 one hot 编码

交叉熵损失

1 n ∑ x , y y l n ( M o d e l ( x ) ) \frac{1}{n}\sum_{x, y} yln(Model(x)) n1x,yyln(Model(x))

梯度下降

x t + 1 = x t − α ▽ f ( x t ) x_{t+1} = x_t - \alpha \triangledown f(x_t) xt+1=xtαf(xt)

  • ▽ f ( x ) \triangledown f(x) f(x) x x x 求偏导
  • α \alpha α 学习率

动量梯度下降

v t + 1 = ρ v t + ▽ f ( x t ) x t + 1 = x t − α v t + 1 v_{t+1} = \rho v_t + \triangledown f(x_t)\\ x_{t+1} = x_t - \alpha v_{t+1} vt+1=ρvt+f(xt)xt+1=xtαvt+1

  • v t v_t vt 为之前梯度的积累值
  • v t + 1 v_{t+1} vt+1 为之前梯度的积累值加上当前梯度的新的积累值
  • 由于梯度是矢量, 所以他们的加法包括大小和方向
    在这里插入图片描述
  • 训练开始时, 动量积累得快, 可以加速训练
  • 在局部极值附加震荡时, 可以借助动量跳出来
  • 如果梯度方向发生变化, 动量能够缓解震荡
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值