【学习笔记】深度神经网络基础

1. 监督学习和无监督学习

监督学习简单定义:提供一组输入数据和其对应的标签数据,然后搭建一个模型,让模型在通过训练后准确地找到输入数据和标签数据之间的最优映射关系,在输入新的数据后,模型能够通过之前学到的最优映射关系,快速地预测出这组新数据的标签。这就是一个监督学习过程。主要应用的是 分类问题和回归问题
[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:75a06c2a-9e53-4a8c-b60d-ce714baa66a2

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:aadad3fa-cac7-4dd2-afe7-500ba2b38720

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:f222462e-d8a9-41ce-9c21-8da133b6630b

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:3d167dd5-f56a-4288-a075-7a49bd79b010

无监督学习简单定义:提供一组没有任何标签的输入数据,在我们搭建好的模型中进行训练,对整个训练过程不作任何干涉,最后得到一个能够发现数据间隐藏特征的映射模型,使用这个模型实现对新数据的分类。使用无监督学习实现分类的算法又称为 聚类
举例:浏览器搜索”深度学习”,得到的网页大致被分为理论、算法、硬件、新闻几个类别,这就是聚类后的效果。

2.欠拟合和过拟合
2.1 欠拟合:拥有欠拟合的模型对已有数据的匹配性很差,不过对数据中的噪声不敏感。
解决方法:
(1)增加特征项:大部分欠拟合是因为没有准确把握数据的主要特征,所以可以尝试在模型中加入更多的和原数据有重要相关性的特征来训练搭建的模型,这样得到的模型会有更好的泛化能力。
(2)构造复杂多项式:函数的特性决定了函数的泛化能力,可以通过增加函数中的次项来增强模型的变化能力,提升其泛化性能。
(3)减少正则化参数:正则化参数出现的目的是为了防止过拟合情形的出现,若已经出现欠拟合,则可以通过减少正则化参数来消除欠拟合。
2.2 过拟合:拥有过拟合特性的模型对数据的 匹配性太好,所以对数据中的噪声非常敏感。
解决方法:
(1)增大训练的数据量:大多数情况下发生过拟合是因为用于模型训练的数据量太小,搭建的模型过度捕获了数据的有限特征,这时就会出现过拟合。因此增加参与模型训练的数据量以后,模型自然能捕获数据的更多特征,模型就不会过于依赖数据的个别特征。
2)增加正则化参数:正则化一般指在目标函数之后加上范数,用来防止模型过拟合发生,在实践中最常用到的正则化方法有L0正则、L1正则和L2正则。
(3)Dropout方法::Dropout方法在神经网络模型中使用的频率较高,简单来说就是神经网络模型在进行前向传播的过程中,随机选取和丢弃指定层次之间的部分神经连接,因为整个过程是随机的,所以能够有效防止过拟合的发生。

3.后向传播
[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:bc9f6865-f536-4389-93fc-aa15cfe39288

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:dae010f1-94ee-4fc8-91e4-fb12144b324a

4.损失和优化
[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:8a111446-fda0-43e3-89d3-509f3e2db2ae

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:1439d766-c054-4c69-bee5-47db73ac8f7c

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:be37ad74-d1e6-4459-a4b3-b90d306c579f

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:40555cb4-2b6b-4f7f-8dc7-202972ef4bcb

4.1 损失函数
(1)均方误差函数(Mean Square Error, MSE)计算预测值与真实值之差的平方的期望值。计算公式:
M S E = 1 N ∑ i = 1 N ( y t r u e i − y p r e d i ) 2 MSE = \frac{1}{N}\begin{matrix} \sum_{i=1}^N \end{matrix}(y_{true}^{i}-y_{pred}^{i})^2 M S E =N 1 ​∑i =1 N ​​(y t r u e i ​−y p r e d i ​)2

(2)均方根误差函数(Root Mean Square Error, RMSE)在均方误差基础上进行了改良,计算的是均方误差的算术平方根。计算公式:
R M S E = 1 N ∑ i = 1 N ( y t r u e i − y p r e d i ) 2 RMSE = \sqrt{\frac{1}{N}\begin{matrix} \sum_{i=1}^N \end{matrix}(y_{true}^{i}-y_{pred}^{i})^2}R M S E =N 1 ​∑i =1 N ​​(y t r u e i ​−y p r e d i ​)2 ​

(3)平均绝对误差函数(Mean Absolute Error, MAE)计算的是绝对误差的平均值,绝对误差即模型预测值和真实值之间的差的绝对值,能更好地反映预测值误差的实际情况。计算公式:
M A E = 1 N ∑ i = 1 N ∣ ( y t r u e i − y p r e d i ) ∣ MAE = \frac{1}{N}\begin{matrix} \sum_{i=1}^N \end{matrix}|(y_{true}^{i}-y_{pred}^{i})|M A E =N 1 ​∑i =1 N ​​∣(y t r u e i ​−y p r e d i ​)∣

4.2 优化函数
[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:722798c3-c85e-4707-ad4b-1a3ec404bc9d

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:e41771f9-4f51-4cdb-bccc-8d7fd07e68cb

在实践操作中最常用到的是一阶优化函数,典型的一阶优化函数包括GD、SGD、Momentum、Adagrad、Adam等。一阶优化函数在优化过程中求解的是参数的一阶导数,这些一阶导数的值就是模型中参数的微调值。
此处引入新概念: 梯度。梯度是将多元函数的各个参数求得的偏导数以向量的形式展现出来,也叫多元函数的梯度。例如二元函数f(x,y)分别对x和y求偏导,然后把求得的偏导数写成向量的形式,即( δ f δ x , δ f δ y ) (\frac{\delta f}{\delta x},\frac{\delta f}{\delta y})(δx δf ​,δy δf ​),也可以记做 gradf(x,y)。
[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:8addfc2d-6a8e-4a1c-b30f-1270175cdb6f

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:3c91e857-725b-4d05-9b0c-4440dc25986f

(1)梯度下降(Gradient Descent,GD)是参数优化的基础方法。全局梯度下降的参数更新公式为:
θ j = θ j − η × δ J ( θ j ) δ θ j \theta_j = \theta_j – \eta \times \frac{\delta J(\theta_j)}{\delta\theta_j}θj ​=θj ​−η×δθj ​δJ (θj ​)​
其中,训练样本总数为n,j = 0…n。θ \theta θ是优化的参数对象,η \eta η是学习速率,J ( θ ) J(\theta)J (θ)是损失函数,δ J ( θ j ) δ θ j \frac{\delta J(\theta_j)}{\delta\theta_j}δθj ​δJ (θj ​)​是根据损失函数计算出来的梯度。学习速率用于控制梯度更新的快慢,如果学习速率过快,参数的更新跨步就会变大,极易出现局部最优和抖动;如果学习速率过慢,梯度更新的迭代次数就会增加,参数更新、优化的时间也会变长。
[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:8485250c-442c-45ee-a713-58a9e79ef9de

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:3461a80d-93a3-42d1-8843-dbc31c0d2e34

(2)批量梯度下降(Batch Gradient Descent, BGD)。
[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:2fafd371-feb2-49cf-82d0-3c5e7f780572

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:9d5b6561-2146-4c07-a8a0-b9c0b4568eb9

假设划分出批量个数为m,其中的一个批量包含batch个数据样本,则一个批量的梯度下降参数更新公式为:
θ j = θ j − η × δ J b a t c h ( θ j ) δ θ j \theta_j = \theta_j – \eta \times \frac{\delta J_{batch}(\theta_j)}{\delta\theta_j}θj ​=θj ​−η×δθj ​δJ b a t c h ​(θj ​)​
[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:c3a99051-c3d2-4d0e-8804-755373696c0f

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:0c994706-417b-45ab-a866-5c9a86cd9f71

(3)随机梯度下降(Stochastic Gradient Descent,SGD)
随机梯度下降是通过随机的方式从整个参与训练的数据集中选取一部分来参与模型的训练,所以只要随机选取的数据集大小合适,就不用担心计算损失函数的时间成本和模型训练的复杂度,而且与整个参与训练的数据集大小没有关系。假设随机选取的一部分数据集包含stochastic个数据样本,则sgd的更新公式为:θ j = θ j − η × δ J s t o c h a s t i c ( θ j ) δ θ j \theta_j = \theta_j – \eta \times \frac{\delta J_{stochastic}(\theta_j)}{\delta\theta_j}θj ​=θj ​−η×δθj ​δJ s t o c h a s t i c ​(θj ​)​
[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:f98ad8e4-7371-4865-9c9e-dbadb72155e8

[En]

[TencentCloudSDKException] code:FailedOperation.ServiceIsolate message:service is stopped due to arrears, please recharge your account in Tencent Cloud requestId:2636779a-0a79-4a75-aa9f-5ff5c007c023

(4)自适应时刻估计方法(Adaptive Moment Estimation, Adam)
Adam在模型训练优化的过程中让每个参数获得自适应的学习率,来达到优化质量和速度的双重提升。在实际应用中Adam效果较好。

5.激活函数
如果不引入激活函数,无论增加多少层,模型都是线性模型,在应对非线性问题时会存在很大的局限性。激活函数的引入给模型带来非线性因素,非线性模型能够处理更复杂的问题。常见的三种激活函数为:Sigmoid、tanh和ReLU。

Original: https://blog.csdn.net/weixin_45131923/article/details/121745715
Author: 云烟成雨_sky
Title: 【学习笔记】深度神经网络基础

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/560998/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球