有个事情可能会让初学者惊讶:神经网络模型并不复杂!『神经网络』这个词让人觉得很高大上,但实际上神经网络算法要比人们想象的简单。
这篇文章完全是为新手准备的。我们会通过用Python从头实现一个神经网络来理解神经网络的原理。本文的脉络是:
介绍了神经网络的基本结构——神经元;
在神经元中使用S型激活函数;
神经网络就是连接在一起的神经元;
构建了一个数据集,输入(或特征)是体重和身高,输出(或标签)是性别;
学习了损失函数和均方差损失;
训练网络就是最小化其损失;
用反向传播方法计算偏导;
用随机梯度下降法训练网络。
砖块:神经元
首先让我们看看神经网络的基本单位,神经元。神经元接受输入,对其做一些数据操作,然后产生输出。例如,这是一个2-输入神经元:
这里发生了三个事情。首先,每个输入都跟一个权重相乘(红色):
然后,加权后的输入求和,加上一个偏差b(绿色):
最后,这个结果传递给一个激活函数f:
激活函数的用途是将一个无边界的输入,转变成一个可预测的形式。常用的激活函数就就是S型函数:
S型函数的值域是(0, 1)。简单来说,就是把(−∞, +∞)压缩到(0, 1) ,很大的负数约等于0,很大的正数约等于1。
一个简单的例子
假设我们有一个神经元,激活函数就是S型函数,其参数如下:
就是以向量的形式表示 。现在,我们给这个神经元一个输入 。我们用点积来表示:
当输入是[2, 3]时,这个神经元的输出是0.999。给定输入,得到输出的过程被称为前馈(feedforward)。
编码一个神经元
让我们来实现一个神经元!用Python的NumPy库来完成其中的数学计算:
隐藏层就是输入层和输出层之间的层,隐藏层可以是多层的。
br/>姓名 体重(磅) 身高 (英寸) 性别 Alice 133 65 F Bob 160 72 M Charlie 152 70 M Diana 120 60 F
br/>
img src="https://nimg.ws.126.net/?url=http%3A%2F%2Fdingyue.ws.126.net%2F2024%2F0610%2F83a324a6j00sev5of001sd200u000d1g00it0085.jpg&thumbnail=660x&quality=80&type=jpg"/>
br/>
br/>姓名 体重 (减 135) 身高 (减 66) 性别 Alice -2 -1 1 Bob 25 6 0 Charlie 17 4 0 Diana -15 -6 1
br/>
blockquote id="2PATKSO3">我这里是随意选取了135和66来标准化数据,通常会使用平均值。
/blockquote>
br/>
br/>Name y_true
br/>y_pred
br/>(y_true - y_pred)^2
br/>Alice 1 0 1 Bob 0 0 0 Charlie 0 0 0 Diana 1 0 1
br/>
选择一个样本,用随机梯度下降法进行优化——每次我们都只针对一个样本进行优化;<="" p="">
代码:一个完整的神经网络
我们终于可以实现一个完整的神经网络了:
姓名 身高 (减 135) 体重 (减 66) Gender Alice -2 -1 1 Bob 25 6 0 Charlie 17 4 0 Diana -15 -6 1
随着网络的学习,损失在稳步下降。
现在我们可以用这个网络来预测性别了:
接下来?
介绍了神经网络的基本结构——神经元;
在神经元中使用S型激活函数;
神经网络就是连接在一起的神经元;
构建了一个数据集,输入(或特征)是体重和身高,输出(或标签)是性别;
学习了损失函数和均方差损失;
训练网络就是最小化其损失;
用反向传播方法计算偏导;
用随机梯度下降法训练网络;
接下来你还可以:
用机器学习库实现更大更好的神经网络,例如TensorFlow、Keras和PyTorch;
其他类型的激活函数;
其他类型的优化器;
学习卷积神经网络,这给计算机视觉领域带来了革命;
学习递归神经网络,常用于自然语言处理;
作者:Victor Zhou
原文链接:https://victorzhou.com/blog/intro-to-neural-networks/
到此这篇resnet网络作者(resnet1)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/rfx/73406.html