首页 > 其他分享 >深度学习从入门到精通——统计学习方法概论

深度学习从入门到精通——统计学习方法概论

时间:2022-11-01 18:01:06浏览次数:74  
标签:入门 模型 损失 学习 泛化 方法 概论 函数


统计学习方法概论

文章目录

  • ​​统计学习方法概论​​
  • ​​前言​​
  • ​​章节目录​​
  • ​​导读​​
  • ​​实现统计学习方法的步骤​​
  • ​​统计学习方法三要素​​
  • ​​模型​​
  • ​​模型是什么?​​
  • ​​策略​​
  • ​​损失函数与风险函数​​
  • ​​常用损失函数​​
  • ​​ERM与SRM​​
  • ​​算法​​
  • ​​模型评估与模型选择​​
  • ​​过拟合与模型选择​​
  • ​​正则化与交叉验证​​
  • ​​泛化能力​​
  • ​​生成模型与判别模型​​
  • ​​生成方法​​
  • ​​判别方法​​
  • ​​分类问题、标注问题、回归问题​​

前言

章节目录

  1. 统计学习
  2. 监督学习
  1. 基本概念
  2. 问题的形式化
  1. 统计学习三要素
  1. 模型
  2. 策略
  3. 算法
  1. 模型评估与模型选择
  1. 训练误差与测试误差
  2. 过拟合与模型选择
  1. 正则化与交叉验证
  1. 正则化
  2. 交叉验证
  1. 泛化能力
  1. 泛化误差
  2. 泛化误差上界
  1. 生成模型与判别模型
  2. 分类问题
  3. 标注问题
  4. 回归问题

导读

  1. 统计学习三要素对理解统计学习方法起到提纲挈领的作用
  2. 主要讨论监督学习
  3. 分类问题、标注问题和回归问题都是监督学习的重要问题
  4. 本书中介绍的统计学习方法包括…。这些方法是主要的分类、标注以及回归方法。他们又可归类为生成方法与判别方法。
  • 输入和输出对称为样本
  • 注意在介绍输入空间,输出空间等概念的时候,以及这一章的很多部分都会有个帽子,​​监督学习中​​, ​​监督学习可以概括如下:从给定有限的训练数据出发,假设数据是独立同分布的,而且假设模型属于某个假设空间,应用某一评价准则,从假设空间中选取一个最优的模型,使它对已给的训练数据以及未知测试数据在给定评价标准意义下有最准确的预测。​​,理解下这里的假设。

实现统计学习方法的步骤

统计学习方法三要素:模型,策略,算法

  1. 得到一个有限的训练数据集合
  2. 确定包含所有可能的模型的假设空间,即学习模型的集合
  3. 确定模型选择的准则,即学习的策略
  4. 实现求解最优模型的算法,即学习的算法
  5. 通过学习方法选择最优的模型
  6. 利用学习的最优模型对新数据进行预测或分析

统计学习方法三要素

模型

模型是什么?

在监督学习过程中,模型就是所要学习的条件概率分布或者决策函数

策略

损失函数与风险函数

损失函数度量模型一次预测的好坏,风险函数度量平均意义下模型预测的好坏。
损失函数:衡量模型的推理结果与我们实际标签的差距

  1. 损失函数(loss function)或代价函数(cost function)
    损失函数定义为给定输入深度学习从入门到精通——统计学习方法概论_损失函数预测值深度学习从入门到精通——统计学习方法概论_pytorch_02真实值深度学习从入门到精通——统计学习方法概论_pytorch_03之间的非负实值函数,记作深度学习从入门到精通——统计学习方法概论_pytorch_04
  2. 风险函数(risk function)或期望损失(expected loss)
    这个和模型的泛化误差的形式是一样的
    深度学习从入门到精通——统计学习方法概论_pytorch_05
    模型深度学习从入门到精通——统计学习方法概论_损失函数_06关于联合分布深度学习从入门到精通——统计学习方法概论_python_07平均意义下的损失(期望损失),但是因为深度学习从入门到精通——统计学习方法概论_python_07是未知的,所以前面的用词是期望,以及平均意义下的
    这个表示其实就是损失的均值,反映了对整个数据的预测效果的好坏,P(x,y)转换成深度学习从入门到精通——统计学习方法概论_pytorch_09更容易直观理解, 但是真实的数据N是无穷的。
  3. 经验风险(empirical risk)或经验损失(empirical loss)
    深度学习从入门到精通——统计学习方法概论_损失函数_10
    模型深度学习从入门到精通——统计学习方法概论_损失函数_11关于训练样本集的平均mean损失
    根据大数定律,当样本容量N趋于无穷大时,经验风险趋于期望风险
  4. 结构风险(structural risk)
    深度学习从入门到精通——统计学习方法概论_python_12
    深度学习从入门到精通——统计学习方法概论_pytorch_13为模型复杂度, 深度学习从入门到精通——统计学习方法概论_python_14是系数,用以权衡经验风险和模型复杂度。

常用损失函数

损失函数数值越小,模型就越好

深度学习从入门到精通——统计学习方法概论_深度学习_15

  1. 0-1损失
    深度学习从入门到精通——统计学习方法概论_损失函数_16
  2. 平方损失,张量之差的平方
    深度学习从入门到精通——统计学习方法概论_深度学习_17
  3. 绝对损失,两个值直接相减
    深度学习从入门到精通——统计学习方法概论_深度学习_18

深度学习从入门到精通——统计学习方法概论_深度学习_19

  1. 对数损失
    这里深度学习从入门到精通——统计学习方法概论_统计学习_20,对应的对数是负值,所以对数损失中包含一个负号,为什么不是绝对值?因为肯定是负的。
    深度学习从入门到精通——统计学习方法概论_损失函数_21

ERM与SRM

经验风险最小化(ERM)与结构风险最小化(SRM)

  1. 极大似然估计是经验风险最小化的一个例子
    当模型是条件概率分布,损失函数是对数损失函数时,经验风险最小化等价于极大似然估计
  2. 贝叶斯估计中的最大后验概率估计是结构风险最小化的一个例子
    当模型是条件概率分布,损失函数是对数损失函数,模型复杂度由模型的先验概率表示时,结构风险最小化等价于最大后验概率估计

算法

模型评估与模型选择

训练误差和测试误差是模型关于数据集的平均损失。

统计学习方法具体采用的损失函数未必是评估时使用的损失函数`,这句理解下。参考下在数据科学比赛中给出的评分标准,与实际学习采用的损失函数之间的关系。

  • 训练时使用的损失函数与测试时的损失函数不一定一样

过拟合与模型选择

这部分讲到了最小二乘法,举例:

这个问题中训练数据深度学习从入门到精通——统计学习方法概论_损失函数_22

模型

深度学习从入门到精通——统计学习方法概论_python_23

经验风险最小化策略下

深度学习从入门到精通——统计学习方法概论_python_24

将模型和训练数据带入到上式得到

深度学习从入门到精通——统计学习方法概论_pytorch_25

这个问题要求深度学习从入门到精通——统计学习方法概论_损失函数_26

深度学习从入门到精通——统计学习方法概论_损失函数_27求偏导令其为零,得到一系列方程,求解可以用梯度下降或者矩阵分解。

求解线性方程组深度学习从入门到精通——统计学习方法概论_损失函数_28,可以表示为深度学习从入门到精通——统计学习方法概论_pytorch_29,问题展开之后可以涉及到矩阵分解

TODO: 这个例子展开一下

正则化与交叉验证

  1. 正则化
    模型选择的典型方法是正则化
  2. 交叉验证
    另一种常用的模型选择方法是交叉验证
  • 简单
  • S折(K折, K-Fold)[^1]
  • 留一法

泛化能力

  • 现实中采用最多的方法是通过测试误差来评价学习方法的泛化能力
  • 统计学习理论试图从理论上对学习方法的泛化能力进行分析
  • 学习方法的泛化能力往往是通过研究泛化误差的概率上界进行的, 简称为泛化误差上界(generalization error bound)

注意泛化误差的定义,书中有说事实上,泛化误差就是所学习到的模型的期望风险

生成模型与判别模型

监督学习方法可分为生成方法(generative approach)与判别方法(discriminative approach)

生成方法

generative approach

  • 可以还原出联合概率分布深度学习从入门到精通——统计学习方法概论_pytorch_30
  • 收敛速度快, 当样本容量增加时, 学到的模型可以更快收敛到真实模型
  • 当存在隐变量时仍可以用

判别方法

discriminative approach

  • 直接学习条件概率深度学习从入门到精通——统计学习方法概论_深度学习_31或者决策函数深度学习从入门到精通——统计学习方法概论_python_32
  • 直接面对预测, 往往学习准确率更高
  • 可以对数据进行各种程度的抽象, 定义特征并使用特征, 可以简化学习问题

分类问题、标注问题、回归问题

Classification, Tagging, Regression

  • 分类系统和标注系统的差异外,没看到其他差异,但实际上这两幅图中对应的输入数据有差异,序列数据的深度学习从入门到精通——统计学习方法概论_统计学习_33对应了
  • 回归问题的产出为深度学习从入门到精通——统计学习方法概论_python_34

分类和回归其实都是相对而说,分类模型其实也可以用于回归,只是用于任务的不同


标签:入门,模型,损失,学习,泛化,方法,概论,函数
From: https://blog.51cto.com/u_13859040/5814635

相关文章

  • 深度学习从入门到精通——感知损失
    PerceptualLosses​​感知损失​​感知损失图像转换问题(imagetransformationtasks),输入一副图像转换成另一幅图像输出。现有方法来解决的图像转换问题,往往以监督训练的方......
  • 生成对抗网络实战入门到精通——DCGAN算法以及训练增强手法
    DCGAN​​DCGAN​​​​原理​​​​改进​​​​网络架构​​​​ImprovedDCGAN​​​​训练增强手法​​​​特征匹配​​​​批次判别​​​​常见问题​​​​原理​​......
  • JS学习重点-----预解析
    JS预解析JS解析器在运行JS代码时分两步: 预解析和代码执行预解析JS引擎会把JS里面所有var和function提升到当前作用域的最前面 代码执行时,按照代码书写的顺序......
  • Dockerfile(chrono《kubernetes入门实战课》笔记整理)
    【容器分层】每个镜像都是基于一些已有的系统,资源等组合起来的,假设N个镜像都是基于centos7.0系统,如果是直接打包做镜像,就会需要打包N份centos7系统,这对磁盘存储和网络传输......
  • C++基础入门通讯录管理系统
    记录代码#pragmaonce#include<iostream>#include<string>#defineSize100#defineOK1#defineError-1usingnamespacestd;//结构体,通讯录人structPerson{//名字......
  • C++从入门到精通——C++面对对象
    面向对象基础#define_CRT_SECURE_NO_WARNINGS#include<iostream>usingnamespacestd;#include<string>//设计一个类,求圆的周长constdoublePI=3.14;//class+类名//......
  • c++从入门到精通——基本入门
    C++-1.helloWorld#include<iostream>usingnamespacestd;intmain(){cout<<"helloworld!"<<endl;system("pause");returnEXIT_SUCCESS;}双冒号作用域#inclu......
  • C语言从入门到精通——字符串和内存
    求非空字符串元素个数:“nichoushachounizadi”字符串逆置:str_inversehello--ollehvoidstr_inserse(char*str){char*start=str;//记录首元素地址char*en......
  • 李宏毅机器学习笔记——机器学习相关技术介绍
    机器学习技术介绍让机器具有学习的能力,人工智能是人类想要达到的目的,能够像人一样的聪明,机器通过学习方式来达到跟人一样甚至超越人的能力。机器学习技术是达成人工智能的手......
  • 生成对抗网络从入门到精通——DCGAN
    这里只给技术实现,以minst数据集作为测试不懂得看论文噢~importargparseimportosimportnumpyasnpimportmathimporttorchvision.transformsastransformsfromtorchvi......