深度学习 学习笔记一

数学基础

logistic函数

logistic函数也就是经常说的sigmoid函数,它的几何形状也就是一条sigmoid曲线。

Sigmoid 是常用的非线性的激活函数,可以将全体实数映射到(0, 1)区间上,其采用非线性方法将数据进行归一化处理;sigmoid函数通常用在回归预测和二分类(即按照是否大于0.5进行分类)模型的输出层中。

 

 

 

优点:

                                                                                    

缺点:

 

 

 

 

softmax函数

softmax函数,又称归一化指数函数。它是二分类函数sigmoid在多分类上的推广,目的是将多分类的结果以概率的形式展现出来

 

 

 

1)将预测结果转化为非负数

下图为y=exp(x)的图像,我们可以知道指数函数的值域取值范围是零到正无穷。softmax第一步就是将模型的预测结果转化到指数函数上,这样保证了概率的非负性。

 

2)各种预测结果概率之和等于1(归一化)

为了确保各个预测结果的概率之和等于1。我们只需要将转换后的结果进行归一化处理。方法就是将转化后的结果除以所有转化后结果之和,可以理解为转化后结果占总数的百分比。这样就得到近似的概率。

 

总结一下softmax如何将多分类输出转换为概率,可以分为两步:

1)分子:通过指数函数,将实数输出映射到零到正无穷。

2)分母:将所有结果相加,进行归一化。

 

正态分布又名高斯分布

概率分布:

 

 

 

概率密度函数:

 

 

 https://zhuanlan.zhihu.com/p/74075915

KL散度(相对熵)

如果我们对于同一个随机变量 x 有两个单独的概率分布 P(x) 和 Q(x),我们可以使用 KL 散度(Kullback-Leibler (KL) divergence)来衡量这两个分布的差异。

在机器学习中,P往往用来表示样本的真实分布,Q用来表示模型所预测的分布,那么KL散度就可以计算两个分布的差异,也就是Loss损失值

 

 

从KL散度公式中可以看到Q的分布越接近P(Q分布越拟合P),那么散度值越小,即损失值越小。

因为对数函数是凸函数,所以KL散度的值为非负数。

有时会将KL散度称为KL距离,但它并不满足距离的性质:

 

交叉熵

将KL散度公式进行变形:

 

等式的前一部分恰巧就是p的熵,等式的后一部分,就是交叉熵:

在机器学习中,我们需要评估label和predicts之间的差距,使用KL散度刚刚好,即

,由于KL散度中的前一部分−H(y)不变,故在优化过程中,只需要关注交叉熵就可以了。所以一般在机器学习中

直接用用交叉熵做loss,评估模型。

 

JS散度

JS散度度量了两个概率分布的相似度,基于KL散度的变体,解决了KL散度非对称的问题。一般地,JS散度是对称

的,其取值是0到1之间。定义如下:

 

Wasserstein距离

L散度和JS散度度量的问题:

如果两个分配P,Q离得很远,完全没有重叠的时候,那么KL散度值是没有意义的,而JS散度值是一个常数。这在学习算法中是比较致命的,这就意味这这一点的梯度为0。梯度消失了。

Wasserstein距离度量两个概率分布之间的距离,定义如下

 

 

Wasserstein距离相比KL散度、JS散度的优越性在于,即便两个分布没有重叠,Wasserstein距离仍然能够反映它们

的远近;

 

 

 

机器学习概述

损失函数(Loss Function):是定义在单个样本上的,是指一个样本的误差。

代价函数(Cost Function):是定义在整个训练集上的,是所有样本误差的平均,也就是所有损失函数值的平均。

目标函数(Object Function):是指最终需要优化的函数,一般来说是经验风险+结构风险,也就是(代价函数+正则化项)。

https://www.cnblogs.com/lliuye/p/9549881.html

常见损失函数种类有:

1 0-1损失函数、

也就是说,当预测错误时,损失函数为1,当预测正确时,损失函数值为0。该损失函数不考虑预测值和真实值的误差程度。只要错误,就是1。
2)平方损失函数

 

是指预测值与实际值差的平方。

3)交叉熵损失函数

交叉熵是用来评估当前训练得到的概率分布与真实分布的差异情况,减少交叉熵损失就是在提高模型的预测准确率。其中 p(x) 是指真实分布的概率, q(x) 是模型通过数据计算出来的概率估计。

 

4Hinge损失函数

Hinge loss一般分类算法中的损失函数,尤其是SVM,其定义为:

其中 y=+1或y=−1 ,f(x)=wx+b ,当为SVM的线性核时

 

 

风险最小化准则:

不知道真实的数据分布和映射函数,无法计算期望风险。当给定训练集,我们只能计算经验风险(训练集上的平均损失)

经验风险最小化准则:找到一组参数使得经验风险最小。

结构风险最小化准则:在经验风险最小化的基础上引入参数的正则化限制模型能力,使其不要过度的最小化经验风险。

经验风险最小化只侧重训练数据集上的损失降到最低;而结构风险最小化是在经验风险最小化的基础上约束模型的复杂度,使其在训练数据集的损失降到最低的同时,模型不至于过于复杂,相当于在损失函数上增加了正则项,防止模型出现过拟合状态。

1)过拟合:

定义:模型在训练集上错误率很低,但是在未知数据上错误率很高

原因:训练数据少、噪声、模型能力强

解决方法:在经验风险最小化的基础上引入参数的正则化限制模型能力

2)欠拟合:

定义:模型不能很好的拟合训练数据,在训练集的错误率比较高

原因:模型能力不足

 

 

批量梯度下降(BGD)和随机梯度下降(SGD)的区别:每次迭代的优化目标是对所有样本的平均损失函数还是单个样本的损失函数。

SGD因为实现简单,收敛速度也非常快,因此使用非常广泛。SGD相当于在批量梯度下降的梯度上引入了随机噪声。当目标函数非凸时,反而可以使其逃离局部最优点!!!

BGD总是综合所有数据的梯度,取到的下降至一直很平滑,SGD随机抽取一条数据作为参数,步子很不稳定。但是最终都可以到达函数的最优解位置。虽然看起来SGD比BGD的误差要大一些,但是SGD随着迭代次数的增加,误差会越来越小

随机梯度下降每次只随机抽取一条数据来做梯度下降,计算代价比批量梯度下降小得多

 

 

 https://www.jianshu.com/p/f9d56aeab75e

最大似然估计:最大化该事件发生的可能性。通过已知样本,希望通过调整模型参数来使得模型能够最大化样本情况出现的概率

最大后验估计:最大化在给定数据样本的情况下模型参数的后验概率。对于模型参数有了一个先验假设,即模型参数可能满足某种分布,不

抛一枚硬币10次,有10次正面朝上,0次反面朝上。问正面朝上的概率p。

在频率学派来看,利用极大似然估计可以得到 p= 10 / 10 = 1.0。显然当缺乏数据时MLE可能会产生严重的偏差。

如果我们利用极大后验概率估计来看这件事,先验认为大概率下这个硬币是均匀的 (例如最大值取在0.5处的Beta分布),那么P(p|X),是一个分布,最大值会介于0.5~1之间,而不是武断的给出p= 1。

显然,随着数据量的增加,参数分布会更倾向于向数据靠拢,先验假设的影响会越来越小。

经验风险最小化(过拟合)可以看作是采用了最大似然估计的参数评估方法,更侧重从数据中学习模型的潜在参数,而且是只看重数据样本本身。这样在数据样本缺失的情况下,很容易管中窥豹,模型发生过拟合的状态;

结构风险最小化采用了最大后验估计的思想来推测模型参数,不仅仅是依赖数据,还依靠模型参数的先验假设。这样在数据样本不是很充分的情况下,我们可以通过模型参数的先验假设,辅助以数据样本,做到尽可能的还原真实模型分布。

 

 

 

 

偏差bias(避免欠拟合)

偏差是指预测结果与真实值之间的差异,排除噪声的影响,偏差更多的是针对某个模型输出的样本误差,偏差是模型无法准确表达数据关系导致,比如模型过于简单,非线性的数据关系采用线性模型建模,偏差较大的模型是错的模型;

 

方差variance(避免过拟合)

模型方差不是针对某一个模型输出样本进行判定,而是指多个(次)模型输出的结果之间的离散差异,注意这里写的是多个模型或者多次模型,即不同模型或同一模型不同时间的输出结果方差较大,方差是由训练集的数据不够导致,一方面量 (数据量) 不够,有限的数据集过度训练导致模型复杂,另一方面质(样本质量)不行,测试集中的数据分布未在训练集中,导致每次抽样训练模型时,每次模型参数不同,输出的结果都无法准确的预测出正确结果;

 

 

当方差较大时:

1、增大数据集合 -- 使用更多的数据,减少数据扰动所造成的影响

2、减少数据特征 -- 减少数据维度,减少模型复杂度

3、正则化方法

4、交叉验证法

 

 

当偏差较大时:

1、寻找更好的特征 -- 具有代表性。

2、用更多的特征 -- 增大输入向量的维度,增加模型复杂度。

 

 

按照训练样本提供的信息以及反馈方式的不同,将机器学习算法分为以下几类:

监督学习:有特征和标签,机器寻找到标签和特征之间的联系;只有特征没有标签时可以判断出标签。

无监督学习:只有特征没有标签,没有标准答案;聚类问题,在只有特征没有标签的训练数据集中,通过数据之间的内在联系和相似性将他们分成若干类。

半监督学习:数据中有一部分是标记过的,而大部分是没有标记的。因此和监督学习相比,半监督学习的成本较低,但是又能达到较高的准确度。

强化学习:使用未标记的数据,但是可以通过某种方法知道你是离正确答案越来越近还是越来越远(即奖惩函数)。可以把奖惩函数想象成正确答案的一个延迟的、稀疏的形式。在监督学习中,能直接得到每个输入的对应的输出。强化学习中,训练一段时间后,你才能得到一个延迟的反馈,并且只有一点提示说明你是离答案越来越远还是越来越近。

 

查准率也叫精确率或精度,类别c的查准率为是所有预测为 类别c的样本中,预测正确的比例

查全率也叫召回率,类别c的查全率为是所有真实标签为类别 c的样本中,预测正确的比例。

F是一个综合指标,为查准率和查全率的调和平均

 

 

 问题1. 分析为什么平方损失函数不适用于分类问题?

https://www.zhihu.com/question/319865092

一般平方损失函数的公式如下图所示:

h表示的是你的预测结果,y表示对应的标签,J就可以理解为用二范数的方式将预测和标签的差距表示出来,模型学习的过程就是优化权重参数,使得J达到近似最小值,理论上这个损失函数是很有效果的,但是在实践中却又些问题,它这个h是激活函数激活后的结果,激活函数通常是非线性函数,例如sigmoid之类的,这就使得这个J的曲线变得很复杂,并不是凸函数,不利于优化,很容易陷入到局部最优解的情况。吴恩达说当激活函数是sigmoid的时候,J的曲线就如下图所示,可以看到这个曲线是很难求出全局最小值的,稍不留神就是局部最小值。

我们当然希望J的曲线能使下图所示,这样可以很容易通过梯度下降来求近似的全局最优解。

 

 

所以用均方来做损失函数就显得有局限性,现在大多数损失函数的设计都是基于交叉熵的,如下公式:

他们的曲线就是下图所示:

 

这样更加容易优化。

 

  • 机器学习评价指标:查准率,查全率,召回率,F
  • 监督学习 & 无监督学习 & 半监督学习
  • 偏差和方差的概念
  • 最大似然估计 & 最大后验估计
  • 梯度下降和随机梯度下降的区别
  • 学习准则:损失函数种类及定义、风险最小化准则
  • KL散度不是对称的;
  • KL散度不满足三角不等式。
  • 交叉熵,KL散度,JS散度,Wasserstein 距离
  • 正态分布,高斯分布,dirichlet分布
  • 其输出并不是以0为中心的
  • 由于其软饱和性,容易产生梯度消失,导致训练出现问题。在深度神经网络中梯度反向传递时导致梯度爆炸和梯度消失,其中梯度爆炸发生的概率非常小,而梯度消失发生的概率比较大。首先来看Sigmoid函数的导数,如下图所示:
  • 它能够把输入的连续实值变换为0和1之间的输出,特别的,如果是非常大的负数,那么输出就是0;如果是非常大的正数,输出就是1.
  • 其导数求解容易,因为其导函数可以用自身来表示:            
  • logistic函数 & softmax函数
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
半监督深度学习是一种结合了监督学习和无监督学习的方法,旨在利用有限的标记数据和大量的未标记数据来进行模型训练。在半监督学习中,回归任务是核心,而分类任务的信息被用来优化回归函数。\[2\]半监督学习的目标是通过找到一个函数来适应数据,从而实现回归任务。这个函数的优化过程则利用了分类任务的信息。\[2\] 在半监督学习中,还有一种特殊情况叫做自监督学习。自监督学习是一种从大规模无监督数据中挖掘自身监督信息的机器学习方法。它需要标签,但这些标签不是来自人工标注,而是来自数据本身。自监督学习的监督信号源于数据本身的内容,也可以看作是实例级别的标注,每个样本是一个类。自监督学习方法可以基于上下文、时序或对比等方式进行。\[3\] 所以,半监督深度学习是一种结合了监督学习和无监督学习的方法,旨在利用有限的标记数据和大量的未标记数据进行模型训练。而自监督学习则是半监督学习的一种特殊情况,它通过挖掘数据本身的监督信息来进行训练。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* [半监督学习笔记(一):综述,定义,方法](https://blog.csdn.net/IRONFISHER/article/details/120328715)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [机器学习(Machine learning,ML) 学习笔记(区分监督学习与半监督学习)](https://blog.csdn.net/czmjy/article/details/124426142)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值