【深度学习】(1)--神经网络

news/2024/9/19 20:43:36 标签: 深度学习, 神经网络, 人工智能, python

文章目录

深度学习

深度学习(DL, Deep Learning)是机器学习(ML, Machine Learning)领域中一个新的研究方向。

在这里插入图片描述

从上方的内容包含结果,我们可以知道,在学习深度学习之前,我们还需要了解一下什么是神经网络

神经网络

神经网络,我们可以将它类比为人类的神经元,由外界传递信息,产生神经冲动,传递电信号,做出行为的过程。

在这里插入图片描述

这是生物学上的体现,那么,在神经网络中是如何体现的呢?
在这里插入图片描述

由外界传入数据,然后通过“路径”抵达神经元,在每一条的“路径”上会有不同的w参数,与传入的数据进行计算。从而影响接收值:

在这里插入图片描述

在推导式中,每条“路径”上的信息传入神经元,然后对他们进行累加求和,接着经过特定的输出函数sigmoid函数输入,对结果进行分类。

神经网络的本质:通过参数与激活函数来拟合特征与目标之间的真实函数关系。但在一个神经网络的程序中,不需要神经元和线,本质上是矩阵的运算,实现一个神经网络最需要的是线性代数库。

1. 感知器

由两层神经元组成的神经网络–“感知器”(Perceptron),感知器只能线性划分数据。

在这里插入图片描述

对于这样简单的感知器,只能线性划分数据,因为对于神经元的结果,只有y =kx+b一层计算,只可以在二维空间画一条直线划分,这样的话,对于一些区域型的数据无法具体分类,比如:

在这里插入图片描述

对于这组数据的分类,是无法通过一条直线就让它们分开的,那该如何分类N呢?

我们得让分类的线弯曲,比如:

在这里插入图片描述

这样就将类别划分开了。可是,我们该怎样使这条“线”弯曲呢?通过多层感知器。

2. 多层感知器

多层感知器其实就是增加了一个中间层,即隐含层。而这,也就是神经网络可以做非线性分类的关键。

在这里插入图片描述

多层感知器同简单感知器的区别就是多加了1层运算,那这样我们的计算就变成了y=w1x1+w2x2+b,在一个二维图片中,这样的函数计算可以使“线”弯曲,从而实现了非线性分类。

偏置

神经网络中需要默认增加偏置神经元(节点),这些节点是默认存在的。它本质上是一个只含有存储功能,且存储值永远为1的单元。在神经网络的每个层次中,除了输出层以外,都会含有这样一个偏置单元。

在这里插入图片描述

偏置节点没有输入(前一层中没有箭头指向它)。一般情况下,我们都不会明确画出偏置节点。

3. 神经网络的构造

在这里插入图片描述

神经网络从左到右分为输入层、隐含层、输出层。

需要记忆

  1. 设计一个神经网络时,输入层与输出层的节点数往往是固定的,中间层则可以自由指定
    1. 输入层的节点数:与特征的维度匹配(特征数量)。
    2. 输出层的节点数:与目标的维度匹配(类别结果数量)。
    3. 中间层的节点数:目前业界没有完善的理论来指导这个决策。一般是根据经验来设置。
  2. 神经网络结构图中的拓扑与箭头代表着预测过程时数据的流向,跟训练时的数据流有一定的区别;
  3. 结构图里的关键不是圆圈(代表“神经元”),而是连接线(代表“神经元”之间的连接)。每个连接线对应一个不同的权重(其值称为权值),这是需要训练得到的。

4. 模型训练

模型训练的目的:使得参数尽可能的与真实的模型逼近。

具体做法:

  1. 首先给所有参数赋上随机值。我们使用这些随机生成的参数值,来预测训练数据中的样本。
  2. 计算预测值为yp,真实值为y。那么,定义一个损失值loss,损失值用于判断预测的结果和真实值的误差,误差越小越好。

损失函数

  1. 均方差损失函数

对真实值与预测值作差然后做平方,计算每一条数据的差值平方加起来,然后再除以数据的条数即可得到损失值。

在这里插入图片描述

  1. 多分类的情况下,交叉熵损失函数

运算过程,将一组数据传入:

在这里插入图片描述

公式:

在这里插入图片描述

总结

本篇介绍了:

  1. 神经网络的构造
  2. 神经网络的运行过程
  3. 感知器

http://www.niftyadmin.cn/n/5666130.html

相关文章

内部工具使用

1. displaytool 开发的渲染工具,如将车端建图结果显示在渲染窗口中,便于查bug 2. localization / csmap 开发的定位工具 和 车端建图工具 3. bolepack 第三方,处理感知数据的工具 运行流程:1-> 2 -> 3 bol…

从内容创作到分发,数字媒体产业链如何编织无限可能?你了解吗?

在当今数字化飞速发展的时代,数字媒体产业链正逐渐成为经济增长的新引擎。那么,究竟什么是数字媒体产业链呢? 数字媒体产业链涵盖了从内容创作、生产到传播、消费的全过程。它以数字技术为核心,将各种媒体形式如文字、图像、音频…

数据结构与算法-17高级数据结构_图论(迪杰斯特拉算法)

迪杰斯特拉算法 1 是什么? 迪杰斯特拉算法(Dijkstra’s Algorithm),又称狄克斯特拉算法,是由荷兰计算机科学家埃德加狄克斯特拉(Edsger Dijkstra)于1959年提出的一种用于解决有权图中最短路径…

云手机的海外原生IP有什么用?

在全球数字化进程不断加快的背景下,企业对网络的依赖程度日益加深。云手机作为一项创新的工具,正逐步成为企业优化网络结构和全球业务拓展的必备。尤其是云手机所具备的海外原生IP功能,为企业进入国际市场提供了独特的竞争优势。 什么是海外原…

使用Java实现高效用户行为监控系统

引言 背景介绍:随着Web应用的日益复杂和用户体验成为产品成功的关键因素,用户行为监控(User Behavior Monitoring, UBM)变得越来越重要。UBM不仅帮助开发者理解用户如何与应用程序交互,还能用于性能优化、错误追踪、用户体验改进等方面。目标读者:本文面向Java开发者、系…

海思SD3403(A9B8Z2100RFCW, 108DC2910 )4K60 的 ISP 图像处理能力,4Tops INT8算力

21AP10 是一颗面向市场推出的专业超高清智能网络录像机 SoC。该芯片最高支持四 路 sensor 输入,支持最高 4K60 的 ISP 图像处理能力,支持 3F WDR、多级降噪、六 轴防抖、硬件拼接等多种图像增强和处理算法,为用户提供了卓越的图像处理能力。…

今日leetCode 454. 四数相加 II

454. 四数相加 II 给你四个整数数组 nums1、nums2、nums3 和 nums4 &#xff0c;数组长度都是 n &#xff0c;请你计算有多少个元组 (i, j, k, l) 能满足&#xff1a; 0 < i, j, k, l < nnums1[i] nums2[j] nums3[k] nums4[l] 0 示例 1&#xff1a; 输入&#xf…

形象化展示numpy.stack

https://numpy.org/doc/stable/reference/generated/numpy.stack.html#numpy.stack 1. 一维数组 import numpy as npa np.arange(4) b np.arange(4) c np.stack([a,b]) d np.stack([a,b], axis1) print(a -->, a.shape,:\n, a) print(b -->, b.shape,:\n, b) print…