机器学习_神经网络

文章目录

简介

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

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

其中𝑥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. 使用优化算法来最小化代价函数
相关推荐
irisMoon062 分钟前
yolov5单目测距+速度测量+目标跟踪
人工智能·yolo·目标跟踪
Linux猿5 分钟前
365科技简报 2025年11月13日 星期四
人工智能·科技简报
终端域名12 分钟前
当今前沿科技:脑机共生界面(脑机接口)深度解析
人工智能·智能电视
2301_7833601321 分钟前
R语言机器学习系列|随机森林模型特征重要性排序的R语言实现
随机森林·机器学习·r语言
化作星辰1 小时前
深度学习_神经网络激活函数
人工智能·深度学习·神经网络
陈天伟教授1 小时前
人工智能技术- 语音语言- 03 ChatGPT 对话、写诗、写小说
人工智能·chatgpt
源码之家1 小时前
机器学习:基于python租房推荐系统 预测算法 协同过滤推荐算法 房源信息 可视化 机器学习-线性回归预测模型 Flask框架(源码+文档)✅
大数据·python·算法·机器学习·数据分析·线性回归·推荐算法
llilian_161 小时前
智能数字式毫秒计在实际生活场景中的应用 数字式毫秒计 智能毫秒计
大数据·网络·人工智能
打码人的日常分享2 小时前
基于信创体系政务服务信息化建设方案(PPT)
大数据·服务器·人工智能·信息可视化·架构·政务
硬汉嵌入式2 小时前
专为 MATLAB 优化的 AI 助手MATLAB Copilot
人工智能·matlab·copilot