神经网络(第二课第一周)

文章目录

神经网络(第二课第一周)

(一)神经网络的内涵

主要应用:语音、图像、文本。

**神经网络的内涵:**从原有的特征(特征向量)进行学习或者回归得到新的更能预测真实值的或者是更具有代表性的特征,使用新的特征(激活向量)再次学习或者回归,得到最终的预测概率。它的基本构建模块是一个神经元层。

神经网络应用于人脸识别:

(二)如何构建神经元层

在拟合新特征时一般使用的是逻辑回归函数,也称为激活函数,得到激活向量,作为新的特征值,这样以此类推(称之为向前传播)。

1、tensorflow如何处理数据(Tensorflow 是由 Google 开发的机器学习包。)

tensorflow可以将之前创建的两层或多层神经元按照顺序串联起来,形成一个神经网络。示例如下:

向前传播的代码解释:

2、详细的一些实验代码,可以参考第二课第一周的相关代码。以下是一些代码相关的解释:(以下都是使用Tensorflow构建的神经网络)

(1)线性神经单元层

定义一个具有一个神经元或单元的层,激活函数是线性回归。

plain 复制代码
linear_layer = tf.keras.layers.Dense(units=1, activation = 'linear', )

我们可以使用linear_layer.get_weights()或者是linear_layer.set_weights([set_w, set_b])可以设置神经元层的各参数权重。同时也可以通过将实例(矩阵)输入给模型,模型会初始化随机值权重。示例如下:

(2)逻辑神经单元层(一层和两层)

TensorFlow 的 Normalization 层可以用来自动学习数据的统计特性(均值和方差),并对数据进行标准化处理,使得数据的分布更加均匀,这通常有助于机器学习模型的训练和收敛。

拟合后会得到新的权重。有了新的权重之后我们可以对新的测试集进行归一化,然后使用新模型进行预测。

3、详细的一些实验代码,可以参考第二课第一周的相关代码。以下是一些代码相关的解释:(以下都是使用Numpy构建的神经网络)

与之前的不同之处在于,计算逻辑回归值一个是使用的矩阵乘法,一个是使用循环相加。创建神经网络也各有不同。

明白上面的之后,我们可以做一下第二课第一周的最后一个练习,看看掌握没有。

(三)使用 Keras Sequential 模型和具有 sigmoid 激活的 Dense Layer 来构建网络。(以识别手写数字为例)
1、首先清楚你数据集特征值和目标值的大小

手写数字数据集大小为1000X400;共计1000个样本,每个样本400个特征;目标是一个二分类问题,分类结果是0或者1。大小是1000x1。

2、其次要清楚你要创建什么样的神经网络,这个神经网络有几层,每一层有多少个激活值(新特征),以及激活函数是什么

这里手写数字的这个要创建的神经网络一共是3层,激活值分别是25、15、1;激活函数都是sigmoid函数。

3、使用 Keras Sequential 模型和具有 sigmoid 激活的 Dense Layer 来构建上述网络。

示例代码如下:

使用model.summary可以输出你创建的神经网络的结构。例如:

创建完成神经网络之后,我们应该已经清楚每一层的w和b它们的大小是怎样的,例如第一层的w的大小应该是:400x25;b是25x1;第二层的w是25x15,b是15x1;以此类推。

我们可以检查一下创建的神经网络的权重大小是否一致,示例如下:

4、定义损失函数并运行梯度下降,以使模型的权重适合训练数据。
5、使用训练完成的模型对数据进行预测:使用 Keraspredict。要预测的输入是一个数组,因此单个示例被重塑为二维。

模型的输出被解释为概率。在上面的第一个示例中,输入为零。该模型预测输入为 1 的概率几乎为零。在第二个示例中,input 是 1。该模型预测输入为 1 的概率接近 1。与 Logistic 回归的情况一样,将概率与阈值进行比较以做出最终预测。

(四)使用 numpy来构建网络。(以识别手写数字为例)
1、特别需要注意的是,手动定义计算激活值的函数:

矢量化numpy,仅用三行代码代替循环计算。

2、定义三层神经网络(这里的权重和偏差需要我们输入给他,或者是使用tensorflow已经训练好的权重给他)

我不太清楚这里为啥还要用一下numpy,用它的意义在哪里,tensorflow明明可以直接拟合出参数。

相关推荐
jjjxxxhhh1236 分钟前
【AI】-RNN/LSTM ,Transformer ,CNN 通俗介绍
人工智能·rnn·lstm
xiangzhihong89 分钟前
AI编程实战:用 TRAE 开发一个写作助手
人工智能
~kiss~21 分钟前
图像处理之膨胀
图像处理·人工智能·计算机视觉
科兽的AI小记42 分钟前
市面上的开源 AI 智能体平台使用体验
人工智能·源码·创业
云雾J视界1 小时前
开源协作2.0:GitHub Discussions+AI重构开发者社区的知识共创生态
人工智能·开源·github·discussions·知识共创·社区知识·ai重构
橘子海全栈攻城狮1 小时前
【源码+文档+调试讲解】基于SpringBoot + Vue的知识产权管理系统 041
java·vue.js·人工智能·spring boot·后端·安全·spring
赋范大模型技术社区1 小时前
OpenAI Agent Kit 全网首发深度解读与上手指南
人工智能·workflow·内置评估
阿里云大数据AI技术1 小时前
云栖实录 | AI 搜索智能探索:揭秘如何让搜索“有大脑”
人工智能·搜索引擎
可触的未来,发芽的智生1 小时前
新奇特:神经网络速比器,小镇债务清零的算法奇缘
javascript·人工智能·python
Aaplloo2 小时前
机器学习作业七
人工智能·机器学习