人工神经网络算法实战教程

article/2025/10/24 1:16:34

神经网络(Artificial Neural Network,也称为人工神经网络,简称ANN)具有通过示例学习能力。ANN是受生物神经元系统启发的的信息处理模型,它由大量高度互联的处理元素组成,这些处理元素被称神经元,整体协作用于解决实际问题。
它遵循非线性路径,并在整个节点中并行处理信息。神经网络是一个复杂的自适应系统,意味着它有能力通过调整输入的权重来改变其内部结构。

ANN主要用于解决对人很容易但对机器很难的问题,如:识别猫狗图片、数字图片。这些问题通常也称为模式识别,广泛应用于光学字符识别(OCR, optical character recognition)、物体检测等。本文主要介绍ANN并通过R示例介绍其实现过程。

介绍神经网络

1943年,沃伦·麦卡洛克(Warren McCulloch)和沃尔特·皮茨(Walter Pitts)建立了首个神经元数学模型。在他们的研究论文A logical calculus of the ideas immanent in nervous activity中,描述了神经元的简单数学模型,它代表了神经系统中接受输入、处理输入并返回输出的单个细胞,该模型被称为McCulloch-Pitts神经模型。

神经网络是一种受人脑启发而执行特定任务或功能的算法,它需要通过学习的过程再来进行计算。神经网络包括一组连接的输入/输出单元,其中每个连接都有一个与之相关的权值。在学习阶段调整连接节点的权值拟合训练模型,在预测阶段对给定输入预测其正确分类标签。

人脑由数十亿处理信息的神经元细胞组成,每个神经元细胞被认为是一个简单的处理系统。神经元通过信号传递信息,它们相互连接形成生物神经网络,这种并行交互的系统使得大脑能够思考和处理信息。一个神经元的树突(Dendrites)接收另一个神经元的输入信号,并根据这些输入对另一个神经元的轴突(axon)输出响应。
在这里插入图片描述

树突接收来自其他神经元的信号,细胞体将所有输入信号相加产生输出,当和达到阈值时轴突通过输出。突触(Synapse,来源于希腊语,意思是连接)是神经元相互作用的一个点,它向另一个神经元传递信号。
在这里插入图片描述
其中 y = ∑ ( w e i g h t ∗ i n p u t ) + b i a s {∑(weight * input) + bias} (weightinput)+bias

这里的x1, x2 …… Xn是输入变量,w1 w2 …… Wn是各自输入的权重。b为偏置,与加权输入相加形成净输入,偏置和权值都是神经元的可调节参数。参数调整采用一定的学习规则。神经元的输出可以从负无穷到正无穷,神经元不知道边界,所以需要在神经元输入和输出之间有一个映射机制,这种映射机制称为激活函数。

前向和反向传播

人工神经网络主要有两类:前向传播和反向传播。前向传播神经网络非递归的网络,前一层神经元只与下一层神经元相连,它们不形成循环,信号仅向输出层单向传播。

反向传播神经网络包含循环,信号通过在网络中引入环路进行双向传播,从而导致网络行为基于输入信号随着时间推移而改变。反向传播神经网络又称循环神经网络。
在这里插入图片描述

激活函数

激活函数用局部感应来定义神经元输出。激活函数给神经元引入了非线性因素,使得神经网络可以逼近任何非线性函数,让神经网络可以应用到众多的非线性模型中。下面介绍常用的几种激活函数:

  • 恒等函数:它总是返回和其输入相同的值。换句话说,恒等函数为函数f(x) = x,输入等于输出。

  • 阶跃函数:如果输出在特定阈值之上则输出为真(被激活),反之则输出假(没有被激活),作为分类器非常有用。

  • Sigmoid函数:是常见的S型函数,也称为S型生长曲线。Logistic函数和Tanh函数常用作Sigmoid函数。主要为输出值范围不同,一种输出范围为[0,1],另一种范围为[-1,1]。

  • 斜坡函数(ramp function):斜坡函数名称来源于其图形外观。它将负输入映射为0,将正输入映射为相同的输出。

  • ReLU函数:它是使用最多的激活函数。它将负输入映射为0,将正输入映射为相同的输出。
    在这里插入图片描述

R 实现神经网络示例

首先需要安装加载neuralnet包,然后创建示例数据。

示例数据包括两类变量,特征变量和标签变量。特征变量包括知识技能和沟通交流两方面的得分,标签变量为二值标签(是否为尖子生)。为了简化,示例数据仅包括6条的数据。

tScorecScoretopStu
20901
10200
30400
20500
80501
20801

下面代码主要实现神经网络分类模型,neuralnet函数的调用形式如下:

nn=neuralnet(topStu ~ tScore + cScore, data=df, hidden=3, act.fct = "logistic", linear.output = FALSE)

第一个参数指定标签和特征变量,data设置数据集,hidden指定隐藏层数量为3。
act.fct指定激活函数平滑结果;linear.output为False表示使用act.fct,设置True则不使用。

其他代码都加了注释,完整代码如下:

# 加载库
library(neuralnet)# 创建示例数据
tScore <- c(20,10,30,20,80,30)
cScore <- c(90,20,40,50,50,80)
topStu <- c(1,0,0,0,1,1)# 组合为数据框
df <- data.frame(tScore, cScore, topStu)# 拟合神经网络模型
nn <- neuralnet(topStu ~ tScore + cScore, data=df, hidden=3, act.fct = "logistic", linear.output = FALSE)# 画出神经网络图
plot(nn)# 创建测试数据
tScore <- c(30, 40, 85)
cScore <- c(85, 50, 40)
test <- data.frame(tScore, cScore)## 使用神经网络模型预测
Predict <- compute(nn, test)
Predict$net.result# 转换输出概率为标签,阈值设置为0.5
prob <- Predict$net.result
pred <- ifelse(prob>0.5, 1, 0)
pred

在这里插入图片描述

神经网络使用场景

神经网络更灵活,既可以用于回归问题,也可以用于分类问题。神经网络适合于图像等输入量较大的非线性数据集,神经网络可以处理任意数量的输入和层,神经网络采用并行方式执行。

当然也有很多替代算法,如支持向量机,决策树和回归算法,这些算法简单,快速,易于训练,并提供更好的性能。神经网络则是黑盒子,需要更多时间来训练模型,同时会占用更多计算能力;神经网络比其他机器学习算法需要更多样本数据,神经网络只能用于数值输入和非缺失值数据集。一位著名的神经网络研究者说: “神经网络是解决任何问题的第二好方法,最好的方法是真正理解问题所在。”

神经网络应用场景非常多,主要包括:

  • 模式识别: 神经网络非常适合用于人脸识别、目标检测、指纹识别等模式识别问题。

  • 异常检测: 神经网络擅长模式检测,它们可以很容易地检测出不符合一定模式的异常模式。

  • 时间序列预测: 神经网络可以用于预测时间序列问题,如股票价格,天气预报。

  • 自然语言处理: 神经网络在自然语言中有广泛的应用。

总结

恭喜你坚持读到结尾,给自己点个赞吧。本文介绍了神经网络的概念:前向和反向神经网络,激活函数等。并提供R语言实现示例以及神经网络的应用场景。希望你学习后能够应用神经网络算法分析自己的数据集,感谢阅读。


http://chatgpt.dhexx.cn/article/noNqi0yO.shtml

相关文章

人工神经网络的三个要素,神经网络三要素是指

一个完整的人工神经网络包括 人工神经网络主要架构是由神经元、层和网络三个部分组成。整个人工神经网络包含一系列基本的神经元、通过权重相互连接。神经元是人工神经网络最基本的单元。 单元以层的方式组&#xff0c;每一层的每个神经元和前一层、后-层的神经元连接&#x…

人工神经网络连接方式,全连接神经网络作用

人工神经元网络的拓扑结构主要有哪几种&#xff1f;谢谢大侠~~~ 神经网络的拓扑结构包括网络层数、各层神经元数量以及各神经元之间相互连接的方式。人工神经网络的模型从其拓扑结构角度去看&#xff0c;可分为层次型和互连型。 层次型模型是将神经网络分为输入层&#xff08…

神经网络算法的具体流程,人工神经网络算法步骤

神经网络 算法 思路&#xff1f;能否提供一个最简单的代码&#xff1f; 30 。 最基本的BP算法&#xff1a;1&#xff09;正向传播&#xff1a;输入样本&#xff0d;>输入层&#xff0d;>各隐层&#xff08;处理&#xff09;&#xff0d;>输出层注1&#xff1a;若输出…

人工神经网络的基本原理

1.1 人工神经网络原理 MeCulloch 和 Pitts 基于对大脑神经元的研究提 出了人工神经元模型&#xff08;M-P 模型&#xff09;。人工神经元模型如下图所示。 M-P模型把神经元看作n个的输入对应产生1个输出&#xff0c;该模型的函数的表达式如下&#xff1a; 该表达式中W[W1,W2,W3…

人工智能神经网络的应用,人工神经网络最新应用

人工智能在如今人们的现实生活中&#xff0c;都有哪些趣味十足的应用&#xff1f; 人工智能&#xff0c;也被称为AI。研究和开发模拟、扩展和扩展人类智能的理论、方法、技术和应用系统是一门新兴的技术科学。 人工智能是计算机科学的一个分支&#xff0c;它试图理解智能的本…

人工智能实验bp神经网络,BP人工神经网络模型

1、BP人工神经网络方法 &#xff08;一&#xff09;方法原理 人工神经网络是由大量的类似人脑神经元的简单处理单元广泛地相互连接而成的复杂的网络系统。理论和实践表明&#xff0c;在信息处理方面&#xff0c;神经网络方法比传统模式识别方法更具有优势。人工神经元是神经网…

介绍人工神经网络的两种常用结构

神经网络有哪些主要分类规则并如何分类&#xff1f; 神经网络模型的分类。 人工神经网络的模型很多&#xff0c;可以按照不同的方法进行分类。其中&#xff0c;常见的两种分类方法是&#xff0c;按照网络连接的拓朴结构分类和按照网络内部的信息流向分类。 1。 按照网络拓朴…

人工神经网络基本构成有哪些,常见的人工神经网络有哪几种

人工神经网络分类方法 从20世纪80年代末期&#xff0c;人工神经网络方法开始应用于遥感图像的自动分类。目前&#xff0c;在遥感图像的自动分类方面&#xff0c;应用和研究比较多的人工神经网络方法主要有以下几种&#xff1a; &#xff08;1&#xff09;BP&#xff08;Back …

简述人工神经网络的基本框架

简述人工神经网络的结构形式 神经网络有多种分类方式&#xff0c;例如&#xff0c;按网络性能可分为连续型与离散型网络&#xff0c;确定型与随机型网络:按网络拓扑结构可分为前向神经网络与反馈神经网络。本章土要简介前向神经网络、反馈神经网络和自组织特征映射神经网络。 …

人工神经网络 神经网络区别_人工神经网络概述

人工神经网络 神经网络区别 Artificial neural networks (ANN) in machine learning (artificial intelligence) are complex compounds of algorithms that work in an organized manner to extract labels or results for a given set of data. It is believed that this tec…

人工神经网络的功能特点,人工神经网络的优缺点

人工神经网络的特点有哪些 人工神经网络的特点和优越性&#xff0c;主要表现在三个方面&#xff1a;第一&#xff0c;具有自学习功能。 例如实现图像识别时&#xff0c;只在先把许多不同的图像样板和对应的应识别的结果输入人工神经网络&#xff0c;网络就会通过自学习功能&a…

人工神经网络基本分类有,人工神经网络基本概念

1、神经网络有哪些主要分类规则并如何分类&#xff1f; 神经网络模型的分类 人工神经网络的模型很多&#xff0c;可以按照不同的方法进行分类。其中&#xff0c;常见的两种分类方法是&#xff0c;按照网络连接的拓朴结构分类和按照网络内部的信息流向分类。 1 按照网络拓朴结构…

人工神经网络模型定义,人工神经网络基本框架

人工神经网络评价法 人工神经元是人工神经网络的基本处理单元&#xff0c;而人工智能的一个重要组成部分又是人工神经网络。人工神经网络是模拟生物神经元系统的数学模型&#xff0c;接受信息主要是通过神经元来进行的。 首先&#xff0c;人工神经元利用连接强度将产生的信号…

人工神经网络概念及组成,人工神经网络发展史

BP神经网络的发展历史 人工神经网络早期的研究工作应追溯至上世纪40年代。下面以时间顺序&#xff0c;以著名的人物或某一方面突出的研究成果为线索&#xff0c;简要介绍人工神经网络的发展历史。 1943年&#xff0c;心理学家WMcculloch和数理逻辑学家WPitts在分析、总结神经…

人工神经网络,人工神经网络是什么意思

人工神经网络&#xff0c;人工神经网络是什么意思 一、 人工神经网络的概念。 人工神经网络&#xff08;Artificial Neural Network&#xff0c;ANN&#xff09;简称神经网络(NN)&#xff0c;是基于生物学中神经网络的基本原理&#xff0c;在理解和抽象了人脑结构和外界刺激响…

人工神经网络算法

一、人工神经网络算法概念 1、神经元 正如我们日常生活中&#xff0c;遇到美女眼睛移不开、闻到香味流口水等生理现象等&#xff0c;其实都是神经所支配进行的&#xff0c;这就涉及到神经细胞。神经细胞&#xff08;nerve cell&#xff09;又称神经元或神经原&#xff0c;是神…

人工神经网络ANN

一、基本概念 ANN&#xff1a;Artificial neural network前馈神经网络的缩写 二、模型构建 2.1 神经元 2.2 激活函数 意义&#xff1a;激活函数是用来让给神经网络加入非线性因素的&#xff0c;因为线性模型的表达能力不够。如果没有激活函数&#xff0c;那么该网络仅能表达…

人工神经网络简介

1. 人工神经网络的概念 人工神经网络&#xff08;Artificial Neural Network&#xff0c;ANN&#xff09;简称神经网络&#xff08;Neural Network&#xff09;或类神经网络&#xff0c;是一种模仿生物神经网络的结构和功能的数学模型&#xff0c;用于对函数进行估计或近似。 和…

人工神经网络概念及组成,人工神经网络基本概念

1、什么是BP神经网络&#xff1f; BP算法的基本思想是&#xff1a;学习过程由信号正向传播与误差的反向回传两个部分组成&#xff1b;正向传播时&#xff0c;输入样本从输入层传入&#xff0c;经各隐层依次逐层处理&#xff0c;传向输出层&#xff0c;若输出层输出与期望不符&…

智能计算:人工神经网络(ANN)

2022/5/25 文章目录 神经网络一、神经网络基本简介二、神将网络的典型结构三、神经网络的学习算法四、BP神经网络 神经网络 人类的大脑是如何工作的呢&#xff1f; 在计算机上能模仿大脑的工作原理吗&#xff1f; 人工神经网络&#xff08;Artificial Neural Network&#xf…