龙空技术网

单个神经元

羊驼也爱写代码 105

前言:

现时看官们对“神经元输出公式”大体比较重视,各位老铁们都想要知道一些“神经元输出公式”的相关文章。那么小编同时在网摘上收集了一些对于“神经元输出公式””的相关内容,希望看官们能喜欢,大家一起来了解一下吧!

1.什么是深度学习(Deep Learning)

近年来,人工智能领域最令人印象深刻的一些进展是在深度学习领域。自然语言翻译、图像识别和游戏都是深度学习模型接近甚至超过人类水平的任务。

那么什么是深度学习呢?深度学习(Deep learning)是一种机器学习方法,其特点是计算量大。这种计算深度使得深度学习模型能够解开在最具挑战性的现实世界数据集中发现的各种复杂和层次结构模式。

神经网络(neural networks)以其强大的功能和可扩展性成为深度学习的定义模型。神经网络由神经元组成,每个神经元单独执行一个简单的计算。神经网络的力量来自于这些神经元所能形成的复杂连接。

2.线性单元(The Linear Unit)

让我们从神经网络的基本组成部分开始:单个神经元。如图所示,只有一个输入的神经元(或单元)如下所示:

输入是x。它与神经元的连接有一个权重,是w。每当一个值流经一个连接时,就用该值乘以连接的权重。对于输入x,到达神经元的是w*x。神经网络通过修改权值来“学习”。

b是一种特殊的权重,我们称之为偏差。偏差没有任何与之相关的输入数据;相反,我们把1放在图中,这样到达神经元的值就是b(因为1*b=b)。偏差使神经元能够独立于输入修改输出。

y是神经元最终输出的值。为了得到输出,神经元将通过连接接收到的所有值相加。这个神经元的激活是y=w*x+b,或者用公式y=wx+b。

公式y=wx+b看起来眼熟吗?这是一条直线的方程式!这是斜率截距方程,其中w是斜率,b是y截距。

线性单元作为模型

虽然单个神经元通常只作为一个更大网络的一部分发挥作用,但从单个神经元模型开始作为基线通常是有用的。单神经元模型是线性模型。

让我们考虑一下,在像80种谷类食品这样的数据集上,模型如何工作的。训练一个以“糖”(每餐糖克数)为输入,以“卡路里”(每餐卡路里数)为输出的模型,我们可能会发现偏差为b=90,重量为w=2.5。我们可以这样估计每份含5克糖的谷类食品的卡路里含量:

并且,根据我们的公式,我们有热量=2.5×5+90=102.5,就像我们所期望的。

多输入

80谷类食品数据集的功能远不止“糖”。如果我们想扩展我们的模型来包含纤维或蛋白质含量之类的东西呢?这很简单。我们只需为神经元添加更多的输入连接,每个附加功能对应一个。为了找到输出,我们将每个输入乘以其连接权重,然后将它们相加。

这个神经元的公式是y=w0x0+w1x1+w2x2+b。一个有两个输入的线性单元将适合一个平面,一个输入多于这个输入的单元将适合一个超平面。

3.例子

在Keras中创建模型最简单的方法是通过Keras.Sequential,它将神经网络创建为一个层堆栈。我们可以使用密集层创建类似于上面的模型。

我们可以定义一个线性模型,接受三个输入特征(“糖”、“纤维”和“蛋白质”),并产生单一输出(“卡路里”),如下所示:

对于第一个参数units,我们定义了需要多少输出。在这种情况下,我们只是预测“卡路里”,所以我们将使用单位=1。

对于第二个参数input_shape,我们告诉Keras输入的维度。设置input_shape=[3]可确保模型接受三个特征作为输入(“糖”、“纤维”和“蛋白质”)。

这个模型现在可以适应训练数据了!

为什么input_shape是Python列表?

我们将在本课程中使用的数据是表格数据,如pandas数据框中的数据。我们将为数据集中的每个特性提供一个输入。这些特性是按列排列的,因此我们将始终使用input_shape=[num_columns]。Keras在这里使用列表的原因是允许使用更复杂的数据集。例如,图像数据可能需要三个维度:[高度、宽度、通道]。

标签: #神经元输出公式 #人工智能数学公式神经元