机器学习笔记:初始化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)

相关推荐
北顾南栀倾寒1 分钟前
[杂学笔记]C++编译过程、静态链接库与动态链接库的区别、动态多态的实现机制、虚拟地址空间分布与C++内存分布、volatile的作用以及使用场景
笔记
星轨初途2 小时前
数据结构二叉树之链式结构(3)(下)
c语言·网络·数据结构·经验分享·笔记·后端
智者知已应修善业3 小时前
【51单片机LED贪吃蛇】2023-3-27
c语言·c++·经验分享·笔记·嵌入式硬件·51单片机
charlie1145141916 小时前
从 0 开始:在 WSL + VSCode 上利用 Maven 构建 Java Spring Boot 工程
java·笔记·vscode·后端·学习·maven·springboot
思成不止于此13 小时前
【C++ 数据结构】二叉搜索树:原理、实现与核心操作全解析
开发语言·数据结构·c++·笔记·学习·搜索二叉树·c++40周年
碧海潮生_CC14 小时前
【CUDA笔记】03 CUDA GPU 架构与一般的程序优化思路(下)
笔记·架构·cuda
钟屿14 小时前
Back to Basics: Let Denoising Generative Models Denoise 论文阅读学习
论文阅读·人工智能·笔记·学习·计算机视觉
d111111111d14 小时前
SPI通信协议--在STM32中介绍(学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习
愚昧之山绝望之谷开悟之坡15 小时前
业务接待-公务接待-商务接待
笔记
大数据追光猿16 小时前
LangChain / LangGraph / AutoGPT / CrewAI / AutoGen 五大框架对比
经验分享·笔记·python·langchain·agent