Datawhale 吃瓜教程 神经网络

一、最初始化的神经网络 神经元模型

模拟生物神经系统 最基本成分是神经元模型 其从其他神经元传递过来输入信号 通过不同weight进行整合 并与神经元阈值比较 通过激活函数处理神经元输出

Q 这里与神经元阈值比较没搞明白是在干啥??是bias吗??

激活函数包含阶跃函数即0 or 1的输出 但不连续不可微 所以转化为sigmoid函数 更为平滑可微

二、感知机

感知机由两层神经元组成 可以实现简单操作 但对于复杂的线性不可分问题无法学习 所以引入了多层神经元 包含输入层 隐层 输出层 称为多层前馈神经网络

训练模型其实就是学习网络参数的过程 比如weight bias

三、神经网络的训练

训练复杂的多层网络需要反向传播即back propagation 一层一层更新参数

这里涉及到网络参数个数计算 输入层神经元个数*隐层1神经元个数+隐层1神经元个数*隐层2神经元个数+……直到隐层n神经元个数*输出层神经元个数 (weight)+每层神经元个数(bias)

避免过拟合:val早停;正则化(在loss func中加入参数大小限制or个数限制 来限制model的复杂度)

四、全局最小与局部极小

参数空间中梯度为0的点就是局部极小点 即可能存在多个局部极小 但全局最小只有一个 这是我们搜索或者说是训练想要达到的目标

如何避免or跳出 局部极小:多组不同初始化参数;模拟退火(每一步都以一定概率接受比当前解更差的结果 就能跳出极小值);随机梯度下降(梯度下降中引入随机性)

五、深度学习

即很深层的神经网络 (隐层数量多) 但训练成本较高 减少训练成本的方法有:预训练;weight或者说参数共享 比如CNN 即每一层的卷积核 e.g., 5*5 可以共享权重 这其实也是防止过拟合的一种方式(通过防止model过于复杂)

深度学习其实就是学习输入数据特征的过程 让这个特征和我们想要的输出(target)产生联系 区别于之前的传统机器学习 需要人类先获取feature再输入到model学习来说是进一步的自动化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值