深度学习笔记

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

二分类问题的基本解决思路:

(1)建立假设模型(可理解为函数)。即建立一条直线,表达式为y=f(x)=W1x + W0。
则通过确定模型参数W1与W0的取值,就可以确定函数的具体位置。
(2)训练模型。利用已明确分类结果的样本数据集(称为训练集)进行训练,即函数参数的求解过程。得到参数W1与W0的最终取值,则得到最终的训练模型。
(3)进行分类判别。利用训练好的模型对待分类的数据进行分类判别,得出其属于哪一类。

多类分类问题可分为二类分类问题进行解决。除了直线也可用曲线进行分类,效果更好。在高维空间中可用曲面进行分类,但过程类似。

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

通过一个例子了解机器学习中,简单线性分类器与深度学习的区别:

简单分类器是通过加权计算的方式,w1,w2,w3,w4为各分量x的权重。
通过线性模型y=f(w1x1+w2x2+w3x3+w4x4),若括号里的结果大于等于阈值,则输出1,反之则输出0。
同样的问题如果用深度学习方法,通常是在线性模型中间加入中间层。其中参数U表示从输入层结点到中间层结点之间连线的权重。
公式与线性分类器相似,但是这样的特点是经过中间层,可有效的组合底层特征形成高层特征,减少了特征值数量。
深度学习中往往包含多个中间层(隐藏层),且网络结构更复杂一些。

机器学习VS深度学习
机器学习需要人工选取特征
深度学习会自动学习有用特征

数据集及其拆分
  以一个著名的数据集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折交叉验证

过程:

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

分层抽样策略(Stratified k-fold)
将数据集划分为k份,特点在于,划分的k份中,每一份内各个类别数据的比例和原始数据集中各个类别的比例相同。

用网格搜索来调超参数
超参数是指在学习过程之前需要设置其值得一些变量,而不是通过训练得到的参数数据。如深度学习中的学习速率就是超参数。
网格搜索:
假设模型中有两个参数:A和B。A的可能取值为{a1,a2,a3},B的可能取值为连续的,如区间[0,1]。由于B值连续,通常进行离散化,如变成{0,0.25,0.5,0.75,1}
如果使用网格搜索,就是尝试各种可能的(A,B)对值,找到使得模型取值最高的(A,B)值对

网格搜索与K折交叉验证结合调整超参数的具体步骤:
1.确定评价指标
2.对于超参数取值的每种组合,在训练集上使用交叉验证的方法求得其K次评价的性能均值
3.最后比较哪种超参数取值组合的性能最好,从而得到最优超参数的取值组合
分类及其性能度量
分类问题
分类问题是有监督学习的一个核心问题。分类解决的是要预测样本属于哪个或者哪些预定义的类别。此时输出变量通常取有限个离散值。
分类的机器学习的两大阶段:1)从训练数据中学习得到一个分类决策函数或分类模型,称为分类器。2)利用分类器对新的输入样本进行类别预测。
多类分类问题也可以转化为两类分类问题。如采用一对其余(One-vs-Rest)的方法:将其中一个类标记为正类,然后剩余的其他类都标记为负类。
分类性能度量

准确率(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

均方差MSE

均方差MSE的应用举例

假设模型预测某日下雨的概率为P:

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

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

例:
logistic回归损失(多类)

对于多类问题,可将样本的真是表情编码成1-of-K(K为类别总数)的二元指示矩阵Y
如:[1,2,3]——>[[1,0,0],[0,1,0],[0,0,1]]
假设模型对测试样本的概率估计结果为P,则在测试集(假设测试样本总数为N)上的交叉熵损失表示如下:

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

Cohen’s kappa相关系数

与pearson相关系数的区别是,Cohen’s kappa通常用于离散的分类的一致性评价。
Cohen’s kappa 计算方法

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

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值