1.为什么训练集、测试集需要满足相同的分布?
因为模型需要在训练集上训练。如果它们不是相同分布,会带来模型泛化性差、模型评估结果失真等问题。训练集的意义就不存在了。因此,为了保证模型的泛化能力和评估结果的准确性,训练集和测试集需要满足相同的分布。这也是交叉验证等技术被广泛使用的原因,通过交叉验证可以更有效地利用数据,减少因数据分布不同而引起的问题。(交叉验证:把原有的数据集平分,一个作为测试,其他作为验证)
但是交叉验证会带来训练集、测试集不满足相同分布的情况。人们通过分层抽样、特征变换等方法尽可能地减小分布差异带来的影响。
2.为什么用密度函数表示熵
密度函数是随机变量的概率分布(不是概率),它表示了变量在某个取值附近的概率密度。通过对密度函数进行积分,可以计算出随机变量落在某个区间内的概率。——对密度函数积分才是概率。
所以说熵&交叉熵本质上是概率。用概率的形式定量反映系统的混乱程度。
【概率密度函数VS概率质量函数】
都是用来描述随机变量的分布特征,但是针对不同类型的随机变量(连续型和离散型)而提出的概念
3.交叉熵为什么有两个分布,分别代表什么?
【输出概率分布】能够尽可能接近【真实标签的概率分布】。
当实际分布p和预测分布q相等时,交叉熵是最小的。常用于衡量两个概率分布之间的相似度。
4.损失函数为什么L2比较常用:
大部分优化的方法是基于梯度寻找最小值,而求梯度与目标函数的可微性有关
5.K-L散度(当熵为0时,就是交叉熵)的物理意义是什么?
在用一个分布(拟合分布/输出分布)来表示另一个分布(真实分布)时所引入的额外信息量。
(两个分布相似的程度-真实分布的熵)
引入这一概念的好处大于0,便于优化。
6.softmax用来归一化的优点:考虑以下两种情形
情形1——0.56 0.5;
情形2——-0.2,-0.5
e会放大差距,而且让值是正的.
7.为了拟合能进行能算,必须假设服从xx分布,才能用数据求参数
NB算法(离散)可以用于处理连续的数值数据(只要加一个服从xx分布,即概率密度函数)
8.多标签≠多分类
多标签是一个样本可以同时具有多个标签
多分类是标签是多个,每个都有概率但是最后一个样本只能属于一个类
9.“要清楚做研究要做到那个层次”
——损失函数(自己定义,研究做到了深度学习比较核心的部分)
——论文的idea:以往的损失函数是衡量整体的差异,能不能设计一个损失函数衡量个体的差异,从而实现对个体损失的控制,减少过拟合(设计的这个损失函数具有什么样的特点呢?评级的微小变化(作为自变量ɛ)对推荐结果的影响应该是低评影响大高评影响小)
Yuan-Yuan Xu, Hui Xiao, Heng-Ru Zhang, Wei-Zhi Wu, Fan Min. Matrix factorization with a sigmoid-like loss control. Neurocomputing. 576(2024)127338.
10.对泛化误差的理解:
全部真实地下数据g(这相当于第1问用的/题干给的真实函数g)是无法获得的,能获得的只是部分真实地下数据(这相当于第2问假设已知g上的三个点)。第3问通过求泛化误差是在告诉我们:
实际上可以求出来的/我们摆出来的误差是
L
s
\mathcal{L}_{s}
Ls,而不是
L
\mathcal{L}
L。至于它们之间的差距就用“泛化误差”来衡量。也就是说,我们求得的误差是来近似真实误差的。因为真实误差需要全部真实地下数据g这根本无法获得。
所以这个概念是一个理论上的概念,告诉我们能求得的误差也只是一种近似误差,不是真实的误差!