机器学习_神经网络

文章目录

简介

为了构建神经网络模型,我们需要首先思考大脑中的神经网络是怎样的?每一个神经元都可以被认为是一个处理单元/神经核,它含有许多输入/树突,并且有一个输出/轴突。神经网络是大量神经元相互链接并通过电脉冲来交流的一个网络。

我们设计出了类似于神经元的神经网络,效果如下:

其中𝑥1, 𝑥2, 𝑥3是输入单元(input units),我们将原始数据输入给它们。

𝑎1, 𝑎2, 𝑎3是中间单元,它们负责将数据进行处理,然后呈递到下一层。

最后是输出单元,它负责计算ℎ𝜃(𝑥)。

神经网络模型是许多逻辑单元按照不同层级组织起来的网络,每一层的输出变量都是下一层的输入变量。下图为一个 3 层的神经网络,第一层成为输入层(Input Layer),最后一层称为输出层(Output Layer),中间一层成为隐藏层(Hidden Layers)。我们为每一层都增加一个偏差单位(bias unit).

反向传播

1.前向传播:在进行反向传播之前,首先进行前向传播。前向传播是指从输入层开始,通过网络中的每一层逐步计算并传递信号,直到达到输出层,得到网络的输出值。在这个过程中,每个神经元都将其输入加权求和,并通过激活函数产生输出。

2.计算损失:在前向传播的基础上,计算输出层的预测值与真实标签之间的损失(误差)。损失函数通常采用均方误差(MSE)或交叉熵(Cross Entropy)等。

3.反向传播误差:反向传播是从输出层到输入层的过程,用来计算损失函数对网络中每个参数的梯度。这个过程是基于链式法则的,它将输出层的误差反向传播到每一层的权重和偏置,以便对它们进行更新。

4.梯度下降更新参数:根据反向传播计算得到的梯度信息,采用梯度下降算法来更新网络中的参数(权重和偏置),以使损失函数最小化。梯度下降的目标是沿着梯度的负方向更新参数,使损失函数逐渐减小。

5.重复迭代:通过多次迭代上述过程,不断调整网络参数,使网络的预测值逼近真实值,从而提高模型的性能。

小结

小结一下使用神经网络时的步骤:

网络结构:第一件要做的事是选择网络结构,即决定选择多少层以及决定每层分别有多

少个单元。

第一层的单元数即我们训练集的特征数量。

最后一层的单元数是我们训练集的结果的类的数量。

如果隐藏层数大于 1,确保每个隐藏层的单元个数相同,通常情况下隐藏层单元的个数

越多越好。

我们真正要决定的是隐藏层的层数和每个中间层的单元数。

c 复制代码
训练神经网络:
1. 参数的随机初始化
2. 利用正向传播方法计算所有的ℎ𝜃(𝑥)
3. 编写计算代价函数 𝐽 的代码
4. 利用反向传播方法计算所有偏导数
5. 利用数值检验方法检验这些偏导数
6. 使用优化算法来最小化代价函数
相关推荐
NAGNIP9 小时前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
冬奇Lab10 小时前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab10 小时前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
AngelPP14 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年14 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼14 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS15 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区16 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈16 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang16 小时前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx