大数据案例分析(1)——深度学习概述

什么是机器学习?

  首先明确研究问题,例如二分类问题,我们可以先假设一个模型 y=f(x)=w1x+w0,在机器学习中的模型,通常可以理解为函数,接下来就需要确定其中的两个权重w0、w1,也就是模型参数的取值,接下来用已明确分类结果的样本数据集(训练集)来进行训练,得到参数w0、w1的最终取值,也就是得到了最终的训练模型,我们可以利用该模型对新数据进行分类判别,得到结果。
大数据案例分析(1)——深度学习概述_第1张图片
  除此以外还有多类的分类问题,利用曲线的分类问题,更复杂的还有利用曲面的分类问题,但过程都基本类似。

  综上所述,可以对机器学习下一个一般性的定义,如下:
  机器学习(Machine Learning)是对研究问题进行模型假设,利用计算机从训练数据中学习得到模型参数。并最终对数据进行预测和分析的一门学科。

什么是深度学习?

  同样我们以一个例子来导出,从简单线性分类器到深度学习,通过4个参数x1,x2,x3,x4,来预测y。在机器学习中,我们可以用简单的线性分类器,即加权计算的方式y=f(w1x1+w2x2+w3x3+w4x4),若括号里的结果大于等于阈值,则输出1,反之输出0。
大数据案例分析(1)——深度学习概述_第2张图片
  如果采用深度学习的方法,最简单的方法是在线性模型中间加若干的中间层,从中间层的节点来计算y。中间层节点的计算方法如下图所示,其中U表示从输入层节点到中间层节点之间连线的权重。
大数据案例分析(1)——深度学习概述_第3张图片
  综上所述,可以对深度学习作出以下定义:

  • 一种实现机器学习的技术,是机器学习重要的分支。
  • 源于人工神经网络的研究,深度学习的模型结构是一种含多隐层的神经网络。
  • 通过组合底层特征形成更加抽象的高层特征。

大数据案例分析(1)——深度学习概述_第4张图片

数据集及其拆分

  以一个著名的数据集Iris(鸢尾花)数据集为例,共有150个样本,3类,每类50个样本,每个样本包含4个特征(花萼、花瓣的宽度长度)和1个类别标签。

  数据集在数学上通常表示为{(x1,y1),(x2,y2)…(xi,yi)…(xm,ym)}的形式,其中xi为样本特征,由于样本一般有多个特征,因而xi = {xi1,xi2…xin}T。而yi则表示样本i的类别标签。

类别标签的ground truth 与 gold standard
  • ground truth:可翻译为地面实况等。在机器学习领域一般用于表示真实值、标准答案等,表示通过直接观察收集到的真实结果。
  • gold standard:可翻译为金标准。医学上一般指诊断疾病公认的最可靠的办法。在机器学习领域,更倾向于使用"ground truth"。而如果用gold standarda,则表示其可以很好地代表ground truth。
数据集与有监督学习

有监督学习中数据通常分成训练集、测试集两部分。

  • 训练集用来训练模型,即被用来学习得到系统的参数取值。测试集用于最终报告模型的评价结果,因此在训练阶段测试集中的样本应该是不可见的。
  • 有时对训练集做进一步划分为训练集和验证集(validation set)。验证集与测试集类似,也适用于评估模型的性能。区别是验证集主要用于模型选择调整超参数,因而一般不用于报告最终结果。
训练集、测试集的拆分
  • 可以使用sklearn进行训练集、测试集的拆分
  • 如何安装sklearn:安装anaconda,内包含sklearn。
训练集测试集拆分——留出法

留出法(Hold-Out Method)数据拆分步骤:
1.将数据随机分为两组,一组作为训练集,一组作为测试集
2.利用训练集训练分类器,然后利用测试集评估模型,记录最后的分类准确率为此分类器的性能指标

留出法的优点是处理简单。不足之处是在测试集上的预测性能的高低与数据集拆分情况有很大干系,所以基于这种数据集拆分基础上的性能评价结果不够稳定。

K折交叉验证

大数据案例分析(1)——深度学习概述_第5张图片

过程:

  1. 数据集被分成K份(通常为5或10)
  2. 不重复地每次取其中一份做测试集,用其他K-1份做训练集训练,这样会得到K个评价模型
  3. 将上述步骤2中的K次评价性能均值作为最后评价结果

K折交叉验证有助于提高评估结果的稳定性

分层抽样策略(Stratified k-fold)

将数据集划分为k份,特点在于,划分的k份中,每一份内各个类别数据的比例和原始数据集中各个类别的比例相同。大数据案例分析(1)——深度学习概述_第6张图片

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

分类及其性能度量

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

大数据案例分析(1)——深度学习概述_第8张图片

  • 准确率(accuracy):分类器正确分类样本数与总样本数之比
    accuracy = (TP+TN)/(P+N)
  • 精确率(precision):反映了模型判定的正例中真正正例的比重
    precision = (TP)/(TP+FP)
  • 召回率(recall):反映了总正例中被模型正确判定正例的比重。
    recall = TP/P
  • F1-score =(2precisionrecall)/(precision+recall)

分类性能度量——P-R曲线
  Area(或AUC)为P-R曲线下的面积,用于弥补P、R单点值局限性,反映全局性能。
  要得到P-R曲线,需要一系列Precision和Recall的值,这些值是通过阈值来形成的。对于每个测试样本,分类器一般都会给“score”值,表示该样本多大概率上属于正例。
步骤:1、从高到低将“score”值排序并以此作为阈值threshold
   2、对于每个阈值,“score”值大于或等于这个threshold的测试样本被认为正例,其他为负例。从而形成一组预测数据。

  • ROC:描绘了分类器在真正率和假正率间的权衡曲线
  • 横轴:假正率 fp rate = FP/N
  • 纵轴:真正率 tp rate = TP/P
    ROC曲线绘制与P-R曲线类似

还可以用分类性能可视化、分类报告展示每个类的混淆情况和分类性能

回归问题及其性能评价

回归问题(regression analysis)是确定两种或两种以上变量之间相互以来的定量关系的一种统计分析方法。和分类问题不同,回归通常输出为一个实数数值,而分类的输出通常为若干指定的类别标签。

常用的评价回归问题的方法:
  • 平均绝对误差MAE
  • 均方误差MSE及均方根差RMSE
  • Log loss,或称交叉熵loss
  • R方值,确定系数

平均绝对误差MAE
大数据案例分析(1)——深度学习概述_第9张图片
均方差MSE

大数据案例分析(1)——深度学习概述_第10张图片
均方差MSE的应用举例

  • 假设模型预测某日下雨的概率为P:
    大数据案例分析(1)——深度学习概述_第11张图片

logistic回归损失(二类)
简称Log loss,或交叉熵损失,常用于评价逻辑回归和神经网络

  • 对于二类分类问题:
    1、假设某样本的真实标签为y(取值为或1)概率估计为 p = pr(y = 1)
    2、每个样本的log loss是对分类器给定真实标签的负log似然估计:
    在这里插入图片描述

例:大数据案例分析(1)——深度学习概述_第12张图片
logistic回归损失(多类)

  • 对于多类问题,可将样本的真是表情编码成1-of-K(K为类别总数)的二元指示矩阵Y
    如:[1,2,3]——>[[1,0,0],[0,1,0],[0,0,1]]
  • 假设模型对测试样本的概率估计结果为P,则在测试集(假设测试样本总数为N)上的交叉熵损失表示如下:
    大数据案例分析(1)——深度学习概述_第13张图片
    大数据案例分析(1)——深度学习概述_第14张图片

一致性的评价方法

  • 一致性评价,是指对两个或多个相关的变量进行分析,从而衡量其相关性的密切程度。

pearson相关系数法
大数据案例分析(1)——深度学习概述_第15张图片

Cohen’s kappa相关系数

  • 与pearson相关系数的区别是,Cohen’s kappa通常用于离散的分类的一致性评价。
  • Cohen’s kappa 计算方法
    大数据案例分析(1)——深度学习概述_第16张图片
  • Cohen’s kappa 取值的一致性含义
    kappa score是一个介于-1到+1的数
Kappa Agreement
<0 Less than chance agreement
0.01-0.20 Slight agreement
0.21-0.40 Fair agreement
0.41-0.60 Moderate agreement
0.61-0.80 Substantial agreement
0.81-0.99 Almost perfect agreement

如果评价者多于2人时,可以考虑使用Fleiss’kappa

Fleiss’kappa

大数据案例分析(1)——深度学习概述_第17张图片
在这里插入图片描述
大数据案例分析(1)——深度学习概述_第18张图片
大数据案例分析(1)——深度学习概述_第19张图片







   ———— 内容来源:中国大学MOOC 《深度学习基础》 哈尔滨工业大学 刘远超

你可能感兴趣的:(大数据案例分析(1)——深度学习概述)