机器学习

随笔类型,想到什么写什么

Loss function

交叉熵

在cnn中,输出层计算Loss用的Cross-Entropy,叫交叉熵,见这个,之后再详细研究

上面那个图的水印很傻逼,之后看的这个损失函数:交叉熵详解

为了获取事件的最短平均编码,根据事件的普遍程度来分配付出的码字空间cost,假设整个码字空间的大小为1,那么这个cost就等于事件的发生概率

image-20230712143227869

根据上面的公式,可以得到编码 $x$ 的平均长度是:

当每个码字 $x$ 出现的概率都是 $p(x)$ 时,最短的平均码字的长度是:

这里的 $H(p)$ 就是熵(Entropy

交叉熵的概念在上面那篇文章中讲的很好,对于同一个事件集合的不同概率分布,交叉熵可以用来描述两个概率分布之间的距离(差异程度)

该长度(把来自一个分布q的消息使用另一个分布p的最佳代码传达的平均消息长度)称为交叉熵。 形式上,我们可以将交叉熵定义为:

注意,交叉熵不是对称的


7.25

今天开始看西瓜书,之前那个感觉全是公式,一点也不通俗易懂

常用的度量模型好坏的方法:F1度量

其中,P为查准率,R为查全率,TP(True Positive)为真正例,TN(True Negtive)为真反例。

F1度量是基于查准率与查全率的调和平均定义的:

根据对查全率与查准率的偏好要求,引申出F1度量的一般形式 $F_\beta$ ,定义为:

是根据P和R的加权调和平均得到的,β>1时,查全率有更大影响;β<1时,查准率有更大影响。

ROC与AUC

ROC曲线是从按阈值分类的角度研究学习器泛化性能的有力工具

很多学习器对于分类任务,是为测试样本产生一个概率或实值,然后将这个预测值与一个分类阈值进行比较,若大于则为正类,小于则为反类,我们可以根据自己对查全率与查准率的需求,设定这个阈值,若要求查准率,则可以提高阈值,若要求查全率,则可降低阈值

ROC曲线的横纵坐标分别为假正例率(False Positive Rate)与真正例率(True Positive Rate),如下:

代价敏感错误率与代价曲线

在分类与回归任务中,不同的错误类型所导致的后果不同,耗费的代价也不一样,为了在模型评估中引入对不同错误类型代价的度量,可为错误赋予“非均等代价”

对于分类任务,可以将把第i类样本分类为第j类样本的代价记作 $cost_{ij}$ ,如此可得一个代价矩阵:

真实类别 预测类别
第0类 第1类
第0类 0 $cost_{01}$
第1类 $cost_{10}$ 0

然后可以根据这个表算代价敏感错误率,对于m个样例,D为样例集合,D^+^为正例子集,D^-^为反例子集,

比较检验

最大似然估计

先补充一点概率论的基础知识

书柜里找了本概率论的书看,看了一遍大数定律和中心极限定律

大数定律大概就是对独立同分布随机变量序列Xn,均值会收敛到数学期望

中心极限定律就是对独立同分布随机变量序列Xn,对序列的和做一些运算,得到的式子会近似的服从正态分布,以下为列维-宁德伯格中心极限定律:

其中,分别为期望和标准差

最大似然原理:

就是对一件已经发生的事情,或者说一个已知的独立随机变量采样序列,求出最有可能得到这个序列的概率模型的参数

似然函数:

是样本观察值,令

这个公式的直观意义就是对独立同分布随机变量序列 ,取值为 的概率

这个公式的变量是,要得到使随机变量序列取上述值的概率最大的概率模型的参数,就是求上面似然函数的最大值点,因为似然函数是连乘的形式,且的最值点是相同的,所以可以取对数,得到蛮族最大似然估计的方程,也叫似然方程(可以是多个参数组成的向量):