吴恩达2022机器学习专项课程C2(高级学习算法)W1(神经网络):Lab01 神经元和层

2024-05-14 1176阅读

目录

  • 导入Tensorflow的库
  • 无激活函数 vs 有激活函数?
    • 1.无激活函数
    • 2.有激活函数
    • 无激活函数的神经元-回归/线性模型
      • 1.创建训练集散点图
      • 2.创建层
      • 3.层输入
      • 4.获取层参数
      • 5.层参数的形状
      • 6.手动设置层的参数
      • 7.层计算vs线性回归模型计算
      • 有激活函数sigmoid的神经元
        • 1.创建训练集散点图
        • 2.快速创建具备前向传播算法的神经网络模型
        • 3.获取模型信息
        • 4.获取模型层信息
        • 5.神经网络模型计算 vs sigmoid计算
        • 总结

          导入Tensorflow的库

          Tensorflow 是由 Google 开发的机器学习包。2019 年,Google 将 Keras 集成到 Tensorflow 中,并发布了 Tensorflow 2.0。Keras 是由 François Chollet 独立开发的框架,它为 Tensorflow 提供了一个简单的、以层为中心的接口。本课程将使用 Keras 接口。

          import numpy as np
          import matplotlib.pyplot as plt
          import tensorflow as tf
          from tensorflow.keras.layers import Dense, Input
          from tensorflow.keras import Sequential
          from tensorflow.keras.losses import MeanSquaredError, BinaryCrossentropy
          from tensorflow.keras.activations import sigmoid
          from lab_utils_common import dlc
          from lab_neurons_utils import plt_prob_1d, sigmoidnp, plt_linear, plt_logistic
          plt.style.use('./deeplearning.mplstyle')
          import logging
          logging.getLogger("tensorflow").setLevel(logging.ERROR)
          tf.autograph.set_verbosity(0)
          

          无激活函数 vs 有激活函数?

          1.无激活函数

          神经元使用线性回归模型,即f(x)=wx+b。

          2.有激活函数

          神经元使用sigmoid函数,sigmoid函数是激活函数,wx+b不能称为激活函数,它只是用来计算sigmoid中的z。神经元通过sigmoid函数的输出才能被称为神经元的激活项(截止目前的课,神经元都使用逻辑回归模型)。

          吴恩达2022机器学习专项课程C2(高级学习算法)W1(神经网络):Lab01 神经元和层

          无激活函数的神经元-回归/线性模型

          1.创建训练集散点图

          使用第一课时的例子,房价预测,绘制散点图。

          吴恩达2022机器学习专项课程C2(高级学习算法)W1(神经网络):Lab01 神经元和层

          2.创建层

          参数1:指定神经元数量,餐数2:指定激活函数,此处为线性激活函数。Dense表示全连接层,截止目前我们学习的神经网络都是使用这种类型的层。

          吴恩达2022机器学习专项课程C2(高级学习算法)W1(神经网络):Lab01 神经元和层

          3.层输入

          -参数必须为二维数组。

          吴恩达2022机器学习专项课程C2(高级学习算法)W1(神经网络):Lab01 神经元和层

          4.获取层参数

          给层输入,linear_layer就被实例化了,才能够查看层的参数,否则无法查看,此时w,b参数是被自动初始化。

          吴恩达2022机器学习专项课程C2(高级学习算法)W1(神经网络):Lab01 神经元和层

          5.层参数的形状

          • w:(输入特征的数量,本层神经元数量)。
          • b:(本层神经元数量,)。

            6.手动设置层的参数

            • set_weights设置层的神经元参数w,b。
            • 本例中的神经元数量为1,输入的特征数量为1。

              吴恩达2022机器学习专项课程C2(高级学习算法)W1(神经网络):Lab01 神经元和层

              7.层计算vs线性回归模型计算

              • 使用一个训练样本,可以看到层计算的结果和线性回归模型计算的结果相同。

                吴恩达2022机器学习专项课程C2(高级学习算法)W1(神经网络):Lab01 神经元和层

              • 使用全部的训练样本,看到两者计算结果也相同。吴恩达2022机器学习专项课程C2(高级学习算法)W1(神经网络):Lab01 神经元和层

                有激活函数sigmoid的神经元

                1.创建训练集散点图

                吴恩达2022机器学习专项课程C2(高级学习算法)W1(神经网络):Lab01 神经元和层

                2.快速创建具备前向传播算法的神经网络模型

                • Sequential是构建神经网络模型的一种便捷方式,可以设置多层,并且自动使用前向传播。参数1:指定本层神经元数量。参数2:指定输入样本的特征数。参数3:设置激活函数。参数4:设定层名称。吴恩达2022机器学习专项课程C2(高级学习算法)W1(神经网络):Lab01 神经元和层

                  3.获取模型信息

                  包含每个层的名称、类型、输出形状和参数数量等。对于快速查看模型结构和参数数量很有用。示例中只有一个神经元和一个特征,因此参数只有一个w和b,因此Param-2。

                  吴恩达2022机器学习专项课程C2(高级学习算法)W1(神经网络):Lab01 神经元和层

                  4.获取模型层信息

                  吴恩达2022机器学习专项课程C2(高级学习算法)W1(神经网络):Lab01 神经元和层

                  5.神经网络模型计算 vs sigmoid计算

                  • 手动设定wb,带入一个训练样本,两者计算的值是一样的。

                    吴恩达2022机器学习专项课程C2(高级学习算法)W1(神经网络):Lab01 神经元和层

                  • 使用神经网络模型预测,plt_logistic分别展示了模型预测和sigmoid预测的过程。

                    吴恩达2022机器学习专项课程C2(高级学习算法)W1(神经网络):Lab01 神经元和层

                  • 模型的预测

                    吴恩达2022机器学习专项课程C2(高级学习算法)W1(神经网络):Lab01 神经元和层

                  • sigmoid函数的预测。

                    吴恩达2022机器学习专项课程C2(高级学习算法)W1(神经网络):Lab01 神经元和层

                  • 阴影反应了sigmoid的输出,使用Tensorflow和使用原始的sigmoid预测分类一致。

                    吴恩达2022机器学习专项课程C2(高级学习算法)W1(神经网络):Lab01 神经元和层

                    总结

                    有激活函数的案例和无激活函数的案例,展示了两种不同的构建一个层的方式,一种是以Dense为主的函数式API形式创建层以及和层的操作,另一种是以Sequential为主的创建一个层的模型,以及通过模型对层的相关操作。

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]