深入浅出pytorch学习笔记(一)

1.1深度学习的发展史

  • 深度学习的本质是一个前馈神经网络
  • 梯度消失和梯度爆炸:在反向传播过程中需要对激活函数进行求导,如果导数大于1,那么随着网络层数的增加梯度更新将会朝着指数爆炸的方式增加这就是梯度爆炸。同样如果导数小于1,那么随着网络层数的增加梯度更新信息会朝着指数衰减的方式减少这就是梯度消失。因此,梯度消失、爆炸,其根本原因在于反向传播训练法则,属于先天不足。

(8条消息) 梯度消失与梯度爆炸产生原因及解决方法_霜叶的博客-CSDN博客_梯度消失和梯度爆炸https://blog.csdn.net/u013069552/article/details/108307491?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164206792816780274135034%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=164206792816780274135034&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-1-108307491.pc_search_insert_ulrmf&utm_term=%E6%A2%AF%E5%BA%A6%E6%B6%88%E5%A4%B1%E5%92%8C%E6%A2%AF%E5%BA%A6%E7%88%86%E7%82%B8&spm=1018.2226.3001.4187

1.2机器学习的基本概念

1.2.1机器学习的主要任务

  •  从概率论的角度来说,可以认为机器学习模型是一个概率分布PP_{\theta }(X),X为训练数集,这个概率拥有参数\theta,机器学习的任务就是求最优的\theta,argmax函数代表的是去参数使得数据的概率密度最大,即:\theta _{t}=argmax\, P_{\theta }(X)
  • 对于数据集X=(X1,X2,...,Xn),(成为数据的批次batch),有:\theta _{t}=argmax\, \prod_{i}^{} P_{\theta }(X_{i})=argmax\sum_{i}^{} logP_{\theta }(X_{i})

1.2.2模型的类型

  • 包含数据X和对应的标签Y,对应的概率分布为联合概率分布P_{\theta }(X,Y)和条件概率分布P_{\theta }(Y|X)
  • P_{\theta }(X,Y)表示的是数据和标签共同出现的概率,基于联合概率分布,可以构建生成式模型,如朴素贝叶斯和隐马尔科夫模型,可根据X预测Y,还能够根据训练结果生成服从分布的(X,Y)
  • P_{\theta }(Y|X)表示的是在给定数据的条件下,对应标签的概率,基于条件概率分布,可以构建判别式模型,如逻辑斯蒂回归、条件随机场等,只可根据X预测Y,但是准确率较生成式模型更高
  • 全概率公式:P(X,Y)=\int P(Y|X)P(X)dX
  • 信息熵公式:H(X)=-\int P(X)logP(X)dX
  • 由上述公式可得H(X,Y)=H(X)+H(Y|X),如果概率分布的相对集中,意味着概率密度包含的信息比较少,信息熵就比较小。因此条件概率分布的的信息熵较小,即模型效果更好。

1.2.3损失函数以及模型的拟合

  •  回归模型:可以简单地认为拟合一个函数f_{\theta }(x),给定输入的值Xi,给出对应的目标值Yi,可以用极大似然估计的方法来求最优的参数\theta _{t},使得预测值和目标值的差值对于训练集的平方和最小。假设噪声符合高斯分布N(0,\sigma),则有:\theta_{t}=-argmax \sum_{i}^{}log\frac{1}{\sqrt{2\pi }\sigma }e^{-\frac{(f_{\theta} (X_{i})-Y)^{2}}{2\sigma ^{2}}},化简后可得\theta_{t}=argmin\sum_{i}(f_{\theta }(X_{i})-Y_{i})^2(损失函数为argmin函数中需要优化的函数)
  • 对于分类问题,我们关注的是多项分布,我们需要输出的是概率,相应的任务是拟合一个函数f_{\theta }^{k}(x),给定输入的值Xi,给出对应的目标值Y_{i}^{k}的概率,其中k=1,2,…,L,L为总的分类个数,Y只取0和1,假如标签是目标标签,则为1,否则为0.,则有:\theta_{t}=-argmin\sum_{i}^{}\sum_{k}^{}Y_{i}^{k}logf_{\theta }^{k}(X_{i})
  • 训练集:用于模型拟合的数据样本,即用于训练的样本集合,主要用来训练神经网络中的参数;验证集:模型训练过程中单独留出的样本集,它可以用于调整模型的超参数和用于对模型的能力进行初步评估;测试集:用来评估模最终模型的泛化能力。但不能作为调参、选择特征等算法相关的选择的依据。
  • 模型根据数据自动学习出的变量,就是参数。比如,深度学习的权重,偏差等。

    超参数一般是根据经验确定的变量,用来确定模型的一些参数,超参数不同,模型是不同的。在深度学习中,超参数有:学习速率(lr),迭代次数,层数,每层神经元的个数等等

  • 欠拟合:模型还未训练到验证集的损失函数的最低点;过拟合:模型完全偏向于训练集,失去了一定的泛化能力。

  • 正则化: 正则化是一种回归的形式,它将系数估计(coefficient estimate)朝零的方向进行约束、调整或缩小。也就是说,正则化可以在学习过程中降低模型复杂度和不稳定程度,从而避免过拟合的危险。(9条消息) 正则化(Regularization)_zhu_hongji的博客-CSDN博客_正则化icon-default.png?t=LBL2https://blog.csdn.net/zhu_hongji/article/details/87934738


版权声明:本文为qdwz666原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。