深度学习概述

时间:2024-03-07 18:54:01

1.深度学习的引入

组合低层特征,形成了更加抽象的高层特征。
表达式中的u,w参数需要在训练中通过反向传播多次迭代调整,使得整体的分类误差最小。
深度学习网络往往包含多个中间层(隐藏层),且网络结构要更复杂一些。

2.数据集及其拆分

Iris(鸢尾花)数据集
分类特征:花萼和花瓣的宽度和长度
 
数据集在数学上通常表示为{(x1,y1),(x2,y2),...,(xi,yi),...,(xm,ym)},其中xi为样本特征。由于样本(即一行)一般有多个特征,因而,而yi表示样本i的类别标签。
ground truth:翻译为地面实况。机器学习领域一般用于表示真实值、标准答案等,表示通过直接观察收集到的真实结果。
gold standard:金标准,医学上一般指诊断疾病公认的最可靠的方法。
机器学习领域更倾向于使用ground truth,如果用gold standard则表示可以很好地代表ground truth。

数据集与有监督学习:

有监督学习中数据通常分成训练集、测试集两部分。
训练集( training set)用来训练模型,即被用来学习得到系统的参数取值。
测试集( testing set)用于最终报告模型的评价结果,因此在训练阶段测试集中的样本应该是不可见的。
对训练集做进一步划分为训练集和验证集 validation set)。验证集与测试集类似,也是用于评估模型的性能。区别是验证集主要用于模型选择和调整超参数,因而一般不用于报告最终结果。

训练集测试集拆分:

  • 留出法( Hold-out Method)数据拆分步骤
            1.将数据随机分为两组,一组做为训练集,一组做为测试集
            2.利用训练集训练分类器,然后利用测试集评估模型,记录最后的分类准确率为此分类器的性能指标
  • K折交叉验证
            
            过程:
                    1.数据集被分成K份(K通常取5或者10)
                    2.不重复地每次取其中一份做测试集,用其他K1份做训练集训练,这样会得到K个评价模型
                    3.将上述步骤2中的K次评价的性能均值作为最后评价结果
            K折交叉验证的上述做法有助于提高评估结果的稳定性
  • 分层抽样策略(Stratified k-fold)
            
             将数据集划分成k份,特点在于,划分的k份中,每一份内各个类别数据的比例和原始数据集中各个类别的比例相同。

K折交叉验证的应用-用网格搜索来调超参数

什么是超参数?指在学习过程之前需要设置其值的一些变量,而不是通过训练得到的参数数据。如深度学习中的学习速率等就是超参数。
什么是网格搜索?
  • 假设模型中有2个超参数:A和B。A的可能取值为{a1,a2,a3},B的可能取值为连续的,如在区间[0-1]。由于B值为连续,通常进行离散化,如变为{0,0.25,0.5,0.75,1.0}
  • 如果使用网格搜索,就是尝试各种可能的(A,B)对值,找到能使的模型取得最高性能的(A,B)值对。
    
网格搜索与K折交叉验证结合调整超参数的具体步骤:
  1. 确定评价指标(准确率等)
  2. 对于超参数取值的每种组合,在训练集上使用交叉验证的方法求得其K次评价的性能均值
  3. 最后,比较哪种超参数取值组合的性能最好,从而得到最优超参数的取值组合。

3.分类及其性能度量

分类问题是有监督学习的一个核心问题。分类解决的是要预测样本属于哪个或者哪些预定义的类别。此时输出变量通常取有限个离散值。
分类的机器学习的两大阶段:
  1. 从训练数据中学习得到一个分类决策函数或分类模型,称为分类器( classifier);
  2. 利用学习得到的分类器对新的输入样本进行类别预测。
两类分类问题与多类分类问题:
        多类分类问题也可以转化为两类分类问题解决,如采用一对其余One-Vs-Rest的方法:将其中一个类标记为正类,然后将剩余的其它类都标记成负类。

分类性能度量

假设只有两类样本,即正例(positive和负例 negative)。通常以关注的类为正类,其他类为负类。
 
表中AB模式:第二个符号表示预测的类别,第一个表示预测结果对了(True)还是错了(False)
  • 分类准确率( accuracy):分类器正确分类的样本数与总样本数之比
            
  • 精确率( precision):反映了模型判定的正例中真正正例的比重。在垃圾短信分类器中,是指预测出的垃圾短信中真正垃圾短信的比例。
            
  • 召回率( recall):反映了总正例中被模型正确判定正例的比重。医学领域也叫做灵敏度( sensitivity)。在垃圾短信分类器中,指所有真的垃圾短信被分类器正确找出来的比例。
           
P-R曲线:
如何绘制?要得到PR曲线,需要一系列 Precision和Recall的值。这些系列值是通过阈值来形成的。对于每个测试样本,分类器一般都会给了“Score”值,表示该样本多大概率上属于正例。
步骤:
  1. 从高到低将“ Score"值排序并依此作为阈值 threshold;
  2. 对于每个阈值,“ Score"值大于或等于这个 threshold的测试样本被认为正例,其它为负例。从而形成一组预测数据。
        
Area( Area Under Curve,或者简称AUC):有助于弥补P、R的单点值局限性,可以反映全局性能。
Area的定义(p-r曲线下的面积):
 
F值
 
ROC(受试者工作特征曲线,receiver operating characteristic curve)描绘了分类器在 tp rate(真正正例占总正例的比率,反映命中概率,纵轴)和fp rate(错误的正例占反例的比率,反映误诊率、假阳性率、虚惊概率,橫轴)间的trade-off。ROC曲线绘制和P-R曲线类似。
 
ROC- AUC( Area Under Curve)定义为ROC曲线下的面积
AUC值提供了分类器的一个整体数值。通常AUC越大,分类器更好。取值范围为[0,1]
 
分类性能可视化
混淆矩阵的可视化:可用热图(heatmap)直观展现类别的混淆情况
分类报告:显示每个类的分类性能,包括每个类标签的精确率、召回率、F1值等。

4.回归问题及其性能分析

回归分析( regression analysis)是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法,和分类问题不同,回归通常输出为一个实数数值。而分类的输出通常为若干指定的类别标签。
 
回归性能度量方法
  • 平均绝对误差MAE
           MAE( Mean absolute error)是绝对误差损失( absolute error loss)的期望值。
          
  • 均方差MSE
            MSE( Mean squared error)该指标对应于平方误差损失( squared errorloss)的期望值。
            
            均方根差RMSE:是MSE的平方根
  • logistic回归损失(二类)
            简称 Log loss,或交叉熵损失( cross-entropy loss),常用于评价逻辑回归LR和神经网络
            对于二类分类问题:
                  1.假设某样本的真实标签为y(取值为0或1),概率估计为p=pr(y=1),
                  2.每个样本的 log loss是对分类器给定真实标签的负log似然估计(negative log-likelihood)
                
             eg.下面y_pred的每个元素有两个值,分别表示该样本属于不同类标签的概率,两数之和为1。
                
  • logistic回归损失(多类)
           对于多类问题( multiclass problem),可将样本的真实标签( true label)编码成1-of-K(K为类别总数)的二元指示矩阵Y:
           举例:假设K=3,即三个类
            
           假设模型对测试样本的概率估计结果为P,则在测试集(假设测试样本总数为N)上的交叉熵损失表示如下:
            
           其中yi,k表示第个样本的第k个标签的真实值(即ground truth,具体含义为第i个样本是否属于第k个标签),注意由于表示为“1-of-K模式因此每个样本只有其中一个标签值为1,其余均为0。pi,k表示模型对第i个样本的第k个标签的预测值。
            举例:6个样本,三个类
            
回归评价的真实标签(即ground truth)如何获得?
MAE,RMSE(MSE)常用于评分预测评价,eg很多提供推荐服务的网站都有一个让用户给物品打分的功能预测用广对物品评分的行为称为评分预测。

5.一致性的评价方法 

一致性评价是指对两个或多个相关的变量进行分析,从而衡量其相关性的密切程度。
假设两评委( rater)对5部电影的评分如下,则二者的一致如何?
rater1=[0.5,1.6,25,25,24]
rater2=[1.5,26,35,3.5,34]
  • 皮尔森相关系数法
          应用背景:用来衡量两个用户之间兴趣的一致性
                         用来衡量预测值与真实值之间的相关性
                         既适用于离散的、也适用于连续变量的相关分析
          X和Y之间的皮尔森相关系数计算公式:
 
          其中,cov(X,Y)表示X和Y之间的协方差( Covariance),是X的均方差,是X的均值,E表示数学期望
          取值区间为[1,1]。-1:完全的负相关,+1:表示完全的正相关,0:没有线性相关。
  • Cohen\'s kappa相关系数
           与 皮尔森相关系数的区别:Cohens kappa相关系数通常用于离散的分类的一致性评价。
           其通常被认为比两人之间的简单一致百分比更强壮,因为 Cohenskappa考虑到了二人之间的随机一致的可能性
           如果评价者多于2人时,可以考虑使用Fleiss\' kappa
           Cohen\'s kappa的计算方法:
        
      kappa score是一个介于-1到+1之间的数。