1. 监督学习和无监督学习
监督学习简单定义:提供一组输入数据和其对应的标签数据,然后搭建一个模型,让模型在通过训练后准确地找到输入数据和标签数据之间的最优映射关系,在输入新的数据后,模型能够通过之前学到的最优映射关系,快速地预测出这组新数据的标签。这就是一个监督学习过程。主要应用的是分类问题和回归问题。
回归问题:使用监督学习的方法,使得模型在通过训练后建立起一个连续的线性映射关系。
分类问题:使搭建的模型通过监督学习之后建立起一个离散的映射关系。
无监督学习简单定义:提供一组没有任何标签的输入数据,在我们搭建好的模型中进行训练,对整个训练过程不作任何干涉,最后得到一个能够发现数据间隐藏特征的映射模型,使用这个模型实现对新数据的分类。使用无监督学习实现分类的算法又称为聚类。
举例:浏览器搜索“深度学习”,得到的网页大致被分为理论、算法、硬件、新闻几个类别,这就是聚类后的效果。
2.欠拟合和过拟合
2.1 欠拟合:拥有欠拟合的模型对已有数据的匹配性很差,不过对数据中的噪声不敏感。
解决方法:
(1)增加特征项:大部分欠拟合是因为没有准确把握数据的主要特征,所以可以尝试在模型中加入更多的和原数据有重要相关性的特征来训练搭建的模型,这样得到的模型会有更好的泛化能力。
(2)构造复杂多项式:函数的特性决定了函数的泛化能力,可以通过增加函数中的次项来增强模型的变化能力,提升其泛化性能。
(3)减少正则化参数:正则化参数出现的目的是为了防止过拟合情形的出现,若已经出现欠拟合,则可以通过减少正则化参数来消除欠拟合。
2.2 过拟合:拥有过拟合特性的模型对数据的 匹配性太好,所以对数据中的噪声非常敏感。
解决方法:
(1)增大训练的数据量:大多数情况下发生过拟合是因为用于模型训练的数据量太小,搭建的模型过度捕获了数据的有限特征,这时就会出现过拟合。因此增加参与模型训练的数据量以后,模型自然能捕获数据的更多特征,模型就不会过于依赖数据的个别特征。
(2)增加正则化参数:正则化一般指在目标函数之后加上范数,用来防止模型过拟合发生,在实践中最常用到的正则化方法有L0正则、L1正则和L2正则。
(3)Dropout方法::Dropout方法在神经网络模型中使用的频率较高,简单来说就是神经网络模型在进行前向传播的过程中,随机选取和丢弃指定层次之间的部分神经连接,因为整个过程是随机的,所以能够有效防止过拟合的发生。
3.后向传播
深度学习中后向传播主要用于对模型参数的微调,通过多次后向传播后,就可以得到模型的最优参数组合。深度神经网络中参数进行后向传播的过程实际就是一个复合函数求导的过程。
4.损失和优化
神经网络中的损失用来度量我们模型得到的预测值和数据真实值之间的差距,也是一个用来衡量训练出来的模型泛化能力好坏的重要指标。模型预测值和真实值的差距越大,损失值就会越高,这时就需要通过不断地对模型中的参数进行优化来减少损失。对模型进行优化的最终目的是尽可能的在不过拟合的情况下降低损失值。
进行损失计算的函数叫做损失函数,对模型参数进行优化的函数叫做优化函数。
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 MSE=N1∑i=1N(ytruei−ypredi)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