神经网络原理&一个简单的神经网络模型搭建

神经网络基本原理


前言

神经网络是一门重要的机器学习技术,它是目前最为火热的研究方向----深度学习的基础。本文以一个生活中的小场景切入,不去调用别人训练好的神经网络模型,手撸每一行代码,详细的介绍了人工神经网络的本质基本原理。


一、神经网络是什么?

神经网络是机器学习中的一种模型,是一种模仿动物神经网络行为特征,进行分布式并行信息处理的算法数学模型。这种网络依靠系统的复杂程度,通过调整内部大量节点之间相互连接的关系,从而达到处理信息的目的。

1.1 神经网络的分类

  • 前馈神经网络:在网络中,当前层的输入只依赖于前一层的节点输出,与更早的网络输出状态无关;
  • 反馈神经网络:将输出经过一步时移再接入到输入层,输入不仅仅取决于上一层节点的输出

在这里插图片描述

图1-1 神经网络的分类

1.2 神经网络结构图

一个经典的神经网络,一般包含三个层次的神经网络。红色的是输入层,绿色的是输出层,紫色的是中间层(也叫隐藏层)。输入层有3个输入单元,隐藏层有4个单元,输出层有2个单元。

图1-2 神经网络结构图

几点说明:

1️⃣ 设计一个神经网络时,输入层与输出层的节点数往往是固定的,中间层则可以自由指定;
2️⃣ 神经网络结构图中的拓扑与箭头代表着预测过程时数据的流向,跟训练时的数据流有一定的区别;
3️⃣ 结构图里的关键不是圆圈(代表“神经元”),而是连接线(代表“神经元”之间的连接)。每个连接线对应一个不同的权重(其值称为权值),这是需要训练得到的。

1.3 神经元

下图为生物神经网络中一个神经元。
在这里插入图片描述

图1-3 生物神经元基本结构图

我们的人工神经网络也可以类比生物神经网络,神经元模型是一个包含输入,输出与计算功能的模型。输入可以类比为神经元的树突,而输出可以类比为神经元的轴突,计算则可以类比为细胞核。

下图是一个典型的神经元模型:包含有3个输入,1个输出,以及2个计算功能。中间的箭头线称为“连接”,每个箭头线上都有一个“权值”。一个神经网络的训练算法就是让权重的值调整到最佳,以使得整个网络的预测效果最好。

在这里插入图片描述

图1-4 神经元计算

我们使用a来表示输入,用w来表示权值。一个表示连接的有向箭头可以这样理解:在初端,传递的信号大小仍然是a,端中间有加权参数w,经过这个加权后的信号会变成aw,因此在连接的末端,信号的大小就变成了aw,最终神经元计算得到的输出信号z=g(a1w1+a2w2+a3*w3)。

1.4 为什么神经网络能预测?

从宏观上来理解:根据历史数据(即训练集),利用神经网络,建立从输入到输出之间的映射关系,并且假定该映射关系在未知的预测集上也同样成立,从而在给定预测集输入的基础上给出输出,实现预测。

具体到上图的神经元模型就是利用三个已知属性的值a1,a2,a3,通过神经元计算公式,计算出未知属性的值z。这里,已知的属性称之为特征,未知的属性称之为目标。假设特征与目标之间确实是线性关系,并且我们已经得到表示这个关系的权值w1,w2,w3(训练集训练得到的)。那么,在遇到未知数据集时,我们就可以输入未知数据集的特征(已知属性a1,a2,a3),通过神经元模型预测新样本的目标(未知属性z)。

二、 一个最简单的神经网络模型

人脑中的神经网络是一个非常复杂的组织,成人的大脑中估计有1000亿个神经元之多。今天我们只用一个神经元对案例中的问题进行信息处理。

1.去不去爬山?

为了能说清楚神经网络的本质和实际意义,我们首先引入生活中的一个场景——去不去爬山?
小A、小B、小C、小D是登山爱好者,经常相约一起去爬山。我们用数字“1”表示去爬山了,数字“0”表示没去爬山,前五次的结果如下表:

小A 小B 小C 小D
0 1 0 1
1 1 0 1
1 0 1 0
0 0 1 0
0 1 1 1

今天四个人又相约去爬山,结果如下:

小A 小B 小C 小D
0 1 0

现在我们根据上面的几组数据找一下规律,预测下小D今天去不去爬山呢?

我们可能已经发现了,小D是不是喜欢小B呢?因为每次小B去,小D也会去。今天小B决定去爬山,所以我们预测小D也会去爬山。刚刚我们动用了1000亿个神经元的人脑神经网络对上述问题进行信息收集、处理和计算,最终得到小D会去爬山的结果,待会我们用只有一个神经元的人工神经网络对上述问题进行预测。

2.案例代码

针对上述问题,我们构建一个最简单的神经网络对小D今天是否去爬山做个预测。

2.1 引入类库

from numpy 
  • 25
    点赞
  • 77
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

放点花椒~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值