当前位置: 首页 > web >正文

机器学习-- 神经网络

为什么要有神经网络

通过之前的学习,我们知道了,对于特征-标签呈现线性关系的建模需求,可以利用线性模型搭配梯度下降算法,模型可以在学习的过程中找到接近最优的参数搭配:
在这里插入图片描述

但是,对于特征-标签呈现非线性关系的建模需求,我们只接触了构建特征组合等合成特征的方法进行建模,但是,构建特征组合往往需要数据科学家手动进行尝试,可能花费大量时间。

如果模型能在学习中,自动帮我们构建最优特征组合,该多好?

神经网络- 节点和隐藏层

通过构建神经网络,可以使模型学习非线性的关系。

然而,神经网络也是基于线性模型构建的,如何将线性模型改造,以达到非线性的学习效果呢?

先从线形模型开始讲起。

在这里插入图片描述

按照预先设定好的权重 W,偏差 b,根据三个输入值,可以计算得到输出值。
在这里插入图片描述

下一步,在输入层与输出层之间添加另一个层。在神经网络术语中, 输入层和输出层之间的层被称为隐藏层(Hidden layer),隐藏层的节点被称为神经元(Neuron)

隐藏层中每个神经元值的计算方式与 线性模型一致:上一层的所有输出*唯一权重+偏差得到下一层的输入, 以及偏差。

如下图所示,每个隐藏层节点会依据具有唯一性的 4 个参数计算;输出层会依据具有唯一性的 5 个参数计算
在这里插入图片描述
在这里插入图片描述

因此,该神经网络中,总计有 16 +5 = 21 个参数。

神经网络- 激活函数(Activation Function)

从上一节中可以发现,向网络添加隐藏层还不足以表示非线性关系–对线性运算执行的线性运算后,仍然是线性的。

我们需要找到一种将非线性数学运算插入模型的方法。

如果这看起来有点熟悉,那是因为我们在本课程的早些部分实际上就对线性模型的输出应用了非线性数学运算。在逻辑回归模块中,我们通过将模型的输出通过 S 型函数传递,使线性回归模型输出介于 0 到 1 之间的连续值(表示概率)。

我们可以将同样的函数应用于神经网络。

在这里插入图片描述

在下图中,在输出每个节点的值之前,我们先应用 S 型函数(也即整个计算公式的最外层嵌套一个 S 型函数):

在这里插入图片描述
在这里,S 型函数用作神经网络的激活函数,用于对神经元的输出值进行非线性转换,然后将该值作为输入传递给神经网络下一层的计算。

添加了激活函数之后,隐藏层会产生更大的影响。通过将非线性叠加到非线性上,我们可以对输入和预测输出之间的非常复杂的关系进行建模。简而言之,每一层都会针对原始输入有效地学习更复杂、更高级别的函数。

常用激活函数

广义上,Sigmoid 函数通常指代任何图像近似 S 型的函数,对于上述例子中的函数,称其为逻辑函数更为合适。

在这里插入图片描述
在这里插入图片描述

修正线性单元(Rectified Linear Unit/ReLU使用以下算法转换输出:

  • 如果输入值 小于 0,则返回 0。
  • 如果输入值 大于或等于 0,则返回输入值。
    在这里插入图片描述

神经网络- 反向传播(Back Propagation)

http://www.xdnf.cn/news/14849.html

相关文章:

  • 认识 Spring AI
  • 【Springai】项目实战进度和规划
  • Android阴影效果的艺术与实现:从入门到精通
  • 【冷知识】Spring Boot 配置文件外置
  • [15-2] 读写内部FLASH读取芯片ID 江协科技学习笔记(20个知识点)
  • YOLOv13:最新的YOLO目标检测算法
  • AlpineLinux安装部署MongoDB
  • Flutter 布局之 IntrinsicHeight 组件
  • 浪潮和曙光服务器的ipmi配置教程
  • jenkins集成sonarqube(使用token进行远程调用)
  • 【硬核数学 · LLM篇】3.1 Transformer之心:自注意力机制的线性代数解构《从零构建机器学习、深度学习到LLM的数学认知》
  • Springboot + vue + uni-app小程序web端全套家具商场
  • Junit_注解_枚举
  • 网络安全2023—新安全新发展
  • Java 案例 6 - 数组篇(基础)
  • 【知识图谱构建系列7】:结果评价(1)
  • DBeaver 设置阿里云中央仓库地址的操作步骤
  • 基于hive的电商用户行为数据分析
  • Webpack原理剖析与实现
  • 【嵌入式ARM汇编基础】-ELF文件格式内部结构详解(三)
  • 《AI for Science:深度学习如何重构基础科学的发现范式?》
  • 用户行为序列建模(篇十)-【加州大学圣地亚哥分校】SASRec
  • mybatis-plus从入门到入土(一):快速开始
  • 【学习】《算法图解》第八章学习笔记:平衡树
  • Linux下基于C++11的socket网络编程(基础)个人总结版
  • 智能新纪元:大语言模型如何重塑电商“人货场”经典范式
  • 电子计数跳绳原型
  • X-Search:Spring AI实现的AI智能搜索
  • JS中判断数据类型的方法
  • 左神算法之矩阵旋转90度