机器学习笔记:初始化0的问题

1 前言

假设我们有这样的两个模型:

  • 第一个是逻辑回归
  • 第二个是神经网络

他们的损失函数都是交叉熵

sigmoid函数的导数:

他们能不能用0初始化呢?

2 逻辑回归

2.1 求偏导

2.1.1 结论

2.1.2 L对a的偏导

2.1.3 对w1,w2求偏导

w2同理

2.1.4 对b偏导

2.2 参数更新与分析

w1,w2,b的梯度和w1,w2,b无关,所以初始化成0之后没有影响

3 神经网络

3.1 偏导

a3的部分和前面逻辑回归是一样的

3.1.1 a1部分推导

3.1.1.1 对a1的偏导

3.1.1.2 对w11,w21,b1的推导

3.2 初始化为0

3.2.1 w初始化为0,b初始化为0

3.2.2w初始化为0,b随机初始化

3.3 w随机初始化,b初始化为0

前向传播过程中,a1,a2均不为0,反向传播的过程中各参数均可以更新

更新幅度也不一样

参考内容:神经网络权重为什么不能初始化为0? (qq.com)

相关推荐
苦 涩6 分钟前
考研408笔记计算机网络(五)——传输层
笔记·计算机网络·考研408
朱一头zcy7 分钟前
Java基础复习10:Java网络编程入门、Junit单元测试、反射基本介绍、注解基本介绍、XML基本介绍
java·笔记
runningshark10 分钟前
【Linux】Virtualbox 中如何给Ubuntu扩容
笔记·学习
日拱一卒的小田19 分钟前
ZYNQ学习笔记1-裸机-PS端中断配置、IO配置及PS/PL AXI交互(2-2)
笔记·学习·microsoft
苦 涩2 小时前
考研408笔记之计算机网络(六)——应用层
笔记·计算机网络·考研408
handler0111 小时前
Linux: 基本指令知识点(2)
linux·服务器·c语言·c++·笔记·学习
南境十里·墨染春水15 小时前
C++ 笔记 thread
java·开发语言·c++·笔记·学习
南境十里·墨染春水15 小时前
C++ 笔记 高级线程同步原语与线程池实现
java·开发语言·c++·笔记·学习
lkforce15 小时前
MiniMind学习笔记(二)--model_minimind.py
笔记·python·学习·minimind·minimindconfig
三品吉他手会点灯16 小时前
C语言学习笔记 - 1.C概述 - 本讲内容概述
c语言·笔记·学习