吴恩达 深度学习 神经网络 softmax adam 交叉验证

神经网络中的层 :输入层(layer 0)、隐藏层、卷积层(看情况用这个)、输出层。(参考文章)

激活函数 :

隐藏层一般用relu函数;

输出层根据需要,二分类用sigmoid,多分类用softmax...前向传播算法 :参考文章
前向传播python实现
反向传播算法 :参考文章
用Tensorflow搭建一个神经网络 :参考文章

多分类问题

  1. softmax回归算法 :
    上图中 左二分类;右多分类

算法公式:

  1. Softmax回归算法的损失函数 :

Adam算法

参考文章

  • 在梯度下降中,学习率α控制着每一步的大小,如果α太小,可能会导致每一步走的太小,从而使梯度下降执行的太慢;相反,如果α太大,可能会导致每一步走的太大,从而使梯度下降来回振荡。
  • Adam算法可以自动调整α的大小 ,来保证可以用最短、最平滑的路径到达成本函数的最小值,通常它比梯度下降算法的速度要更快。
  • 在w、b参数每次改变都朝着大致相同的方向 移动时,adam算法会加大学习率α
  • 在w、b参数每次改变都不断来回振荡 时,adam算法会减小学习率α

交叉验证集


首先用训练集训练模型,之后用验证集选出最小的J,即相对最好的模型。
超参数d与 J t r a i n J_{train} Jtrain、 J c v J_{cv} Jcv的关系 :(即随着数据的增多, J t r a i n J_{train} Jtrain、 J c v J_{cv} Jcv的图)

λ如何影响 J t r a i n J_{train} Jtrain、 J c v J_{cv} Jcv :

通过最小 J c v J_{cv} Jcv,可以帮助选择一个合适的λ、d,从而帮助选择合适的模型
补充:下图中的式子为L2正则化(L1和L2正则化的区别)

如何选择一个合适的λ:

从0开始,一次次的增大,找出最小的J。

学习曲线

通过画学习曲线这种可视化方式,来观察 J c v J_{cv} Jcv和 J t r a i n J_{train} Jtrain,并判断模型是否有高方差和高偏差。通过高方差、高偏差来改善模型算法。

(貌似一般不咋用,了解即可)参考文章

数据添加

  1. 加新数据
  2. 数据增强:通过旋转、缩小、方法、增加对比度、镜像变换等改变已有的训练样本,来获得一个全新的训练样本
    3. 数据合成:使用电脑上的字体,通过不同的对比度,颜色,字体进行截图得到。

迁移学习

参考文章1
参考文章2

举例:你要训练狗的图片,但你先用猫的图片进行训练模型,训练好的模型再用狗的进行训练微调模型。这就是迁移学习。

相关推荐
irislinAmelia2 小时前
缺陷检测AI关键点在哪
人工智能·嵌入式硬件·1024程序员节
Ai-_Man2 小时前
Meta Muse还是不可以导出左侧所有对话,只能点进去单条内容导出,方法不对吗?
开发语言·人工智能·ai·小程序·c#·1024程序员节
安托智造2 小时前
MBD:从二维图纸到三维模型的制造革命(下)
大数据·人工智能·制造·mbd
火山引擎开发者社区2 小时前
VeOps 深度调查:让 AI 排障从“能用”走向“可靠”
人工智能
梓豪csd2 小时前
消息订阅中心:谁该收到哪条通知
java·开发语言·人工智能·低代码·自动化·1024程序员节
王中阳Go2 小时前
两个入口答案不一致先别调模型:6 行入口口径对账表(附脚本)
人工智能·后端·python·大语言模型·1024程序员节
武天旭2 小时前
AI安全--AI大模型的隐私保护与法律法规
人工智能·安全
Solange__2 小时前
影视预演怎么用AI生成3D场景?从分镜、Blockout到镜头交付的完整流程
人工智能·游戏·3d·ai·自然语言处理·aigc·游戏策划
冬奇Lab3 小时前
一次 Skill 评测的复盘:我推翻了一份现成的模型选型结论,然后自己造了个评测平台
人工智能·llm·agent
不脱发的程序猿4 小时前
纳指ETF量化策略
数据库·人工智能·1024程序员节