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

文章目录

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

(一)神经网络的内涵

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

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

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

(二)如何构建神经元层

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

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明明可以直接拟合出参数。

相关推荐
宇称不守恒4.0几秒前
2025暑期—05神经网络-卷积神经网络
深度学习·神经网络·cnn
想变成树袋熊42 分钟前
【自用】NLP算法面经(6)
人工智能·算法·自然语言处理
格林威1 小时前
Baumer工业相机堡盟工业相机如何通过YoloV8深度学习模型实现沙滩小人检测识别(C#代码UI界面版)
人工智能·深度学习·数码相机·yolo·计算机视觉
checkcheckck1 小时前
spring ai 适配 流式回答、mcp、milvus向量数据库、rag、聊天会话记忆
人工智能
Microvision维视智造1 小时前
从“人工眼”到‘智能眼’:EZ-Vision视觉系统如何重构生产线视觉检测精度?
图像处理·人工智能·重构·视觉检测
巫婆理发2222 小时前
神经网络(多层感知机)(第二课第二周)
人工智能·深度学习·神经网络
lxmyzzs2 小时前
【打怪升级 - 03】YOLO11/YOLO12/YOLOv10/YOLOv8 完全指南:从理论到代码实战,新手入门必看教程
人工智能·神经网络·yolo·目标检测·计算机视觉
SEO_juper2 小时前
企业级 AI 工具选型报告:9 个技术平台的 ROI 对比与部署策略
人工智能·搜索引擎·百度·llm·工具·geo·数字营销
Coovally AI模型快速验证2 小时前
数据集分享 | 智慧农业实战数据集精选
人工智能·算法·目标检测·机器学习·计算机视觉·目标跟踪·无人机
xw33734095642 小时前
彩色转灰度的核心逻辑:三种经典方法及原理对比
人工智能·python·深度学习·opencv·计算机视觉