当前位置:网站首页 > R语言数据分析 > 正文

resnet网络作者(resnet1)



有个事情可能会让初学者惊讶:神经网络模型并不复杂!『神经网络』这个词让人觉得很高大上,但实际上神经网络算法要比人们想象的简单。

这篇文章完全是为新手准备的。我们会通过用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/>

    • 是样品数,这里等于4(Alice、Bob、Charlie和Diana)。

    • 表示要预测的变量,这里是性别。

    • 是变量的真实值(『正确答案』)。例如,Alice的 就是1(男性)。

    • 变量的预测值。这就是我们网络的输出。

    • 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)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!

      版权声明


      相关文章:

    • 电路图gr(电路图gry是什么意思?)2025-07-06 18:09:10
    • airplay怎么投屏到电视上(airplay如何投屏电视)2025-07-06 18:09:10
    • 数组方法find(数组方法filter返回值)2025-07-06 18:09:10
    • 文件权限-rw-r--r--描述正确的是(文件的权限是-rwxr)2025-07-06 18:09:10
    • qt 字符串转char(qt 字符串转16进制)2025-07-06 18:09:10
    • crse是什么软件(crw是什么软件)2025-07-06 18:09:10
    • redhat操作系统最新版本(red hat linux系统版本)2025-07-06 18:09:10
    • l messed up什么意思(measured up是什么意思)2025-07-06 18:09:10
    • docker版本升级(docker在线升级)2025-07-06 18:09:10
    • controller扫描不到(springmvc扫描不到controller)2025-07-06 18:09:10
    • 全屏图片