首页 > 其他分享 >统计学习与方法实战——统计学习方法概论

统计学习与方法实战——统计学习方法概论

时间:2022-11-01 17:00:57浏览次数:113  
标签:似然 后验 函数 模型 损失 学习 最小化 方法 统计


统计学习方法概论题

  • ​​统计学习方法概论​​
  • ​​实现统计学习方法的步骤​​
  • ​​统计学习方法三要素​​
  • ​​模型​​
  • ​​策略​​
  • ​​损失函数与风险函数​​
  • ​​定义​​
  • ​​常用损失函数​​
  • ​​经验风险最小化(ERM)与结构风险最小化(SRM)​​
  • ​​模型评估与模型选择​​
  • ​​过拟合与模型选择​​
  • ​​正则化与交叉验证​​
  • ​​泛化能力​​
  • ​​生成模型与判别模型​​
  • ​​生成方法​​
  • ​​判别方法​​
  • ​​最小二乘法的实现​​
  • ​​伯努利模型​​
  • ​​习题1.1​​
  • ​​解法一:求最大后验估计​​
  • ​​补充知识:Beta分布​​
  • ​​解法二:求后验概率分布的期望​​
  • ​​习题1.2​​

统计学习方法概论

实现统计学习方法的步骤

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

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

统计学习方法三要素

模型

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

(公式粘贴不上来,有小伙伴知道怎么导入的求告知)

统计学习与方法实战——统计学习方法概论_机器学习

策略

损失函数与风险函数

定义

损失函数度量模型一次预测的好坏,风险函数度量平均意义下模型预测的好坏。

  1. 损失函数或代价函数
  • 损失函数定义为给定输入统计学习与方法实战——统计学习方法概论_损失函数_02预测值统计学习与方法实战——统计学习方法概论_python_03和真实值统计学习与方法实战——统计学习方法概论_统计学习_04之间的非负实值函数,记作统计学习与方法实战——统计学习方法概论_机器学习_05
  1. 风险函数或期望损失这个和模型的泛化误差的形式是一样的
  • 统计学习与方法实战——统计学习方法概论_python_06
  • 模型统计学习与方法实战——统计学习方法概论_损失函数_07关于联合分布统计学习与方法实战——统计学习方法概论_机器学习_08平均意义下的损失(期望损失),但是因为统计学习与方法实战——统计学习方法概论_机器学习_08是未知的,所以前面的用词是期望,以及平均意义下的。这个表示其实就是损失的均值,反映了对整个数据的预测效果的好坏
  1. 经验风险经验损失
  • 统计学习与方法实战——统计学习方法概论_概率论_10
  • 模型统计学习与方法实战——统计学习方法概论_统计学习_11关于训练样本集的平均损失,根据大数定律,当样本容量N趋于无穷大时,经验风险趋于期望风险
  1. *结构风险
  • 统计学习与方法实战——统计学习方法概论_python_12
  • 统计学习与方法实战——统计学习方法概论_机器学习_13为模型复杂度, 统计学习与方法实战——统计学习方法概论_机器学习_14是系数,用以权衡经验风险和模型复杂度。

常用损失函数

理论上 ,损失函数数值越小,模型就越好,需要与过拟合相区别!
统计学习与方法实战——统计学习方法概论_概率论_15

  1. 0-1损失
    统计学习与方法实战——统计学习方法概论_机器学习_16
  2. 平方损失
    统计学习与方法实战——统计学习方法概论_损失函数_17
  3. 绝对损失
    统计学习与方法实战——统计学习方法概论_损失函数_18
    统计学习与方法实战——统计学习方法概论_机器学习_19
  4. 对数损失
    这里统计学习与方法实战——统计学习方法概论_机器学习_20,对应的对数是负值,所以对数损失中包含一个负号,为什么不是绝对值?因为肯定是负的。
    统计学习与方法实战——统计学习方法概论_概率论_21

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

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

模型评估与模型选择

训练误差和测试误差是模型关于数据集的平均损失。
备注:统计学习方法具体采用的损失函数未必是评估时使用的损失函数。

过拟合与模型选择

例子:
训练数据统计学习与方法实战——统计学习方法概论_python_22

模型

统计学习与方法实战——统计学习方法概论_python_23

经验风险最小化策略下

统计学习与方法实战——统计学习方法概论_概率论_24

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

统计学习与方法实战——统计学习方法概论_python_25

这个问题要求统计学习与方法实战——统计学习方法概论_统计学习_26

统计学习与方法实战——统计学习方法概论_python_27求偏导令其为零,得到一系列方程,求解可以用梯度下降或者矩阵分解。

求解线性方程组统计学习与方法实战——统计学习方法概论_损失函数_28,可以表示为统计学习与方法实战——统计学习方法概论_统计学习_29,问题展开之后可以涉及到矩阵分解

正则化与交叉验证

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

泛化能力

  • 现实中采用最多的方法是通过测试误差来评价学习方法的泛化能力
  • 统计学习理论试图从理论上对学习方法的泛化能力进行分析
  • 学习方法的泛化能力往往是通过研究泛化误差的概率上界进行的, 简称为泛化误差上界(generalization error bound)
    这本书里面讨论的不多,在CH08里面有讨论提升方法的误差分析, 提到统计学习与方法实战——统计学习方法概论_概率论_30不需要知道下界统计学习与方法实战——统计学习方法概论_python_31。在CH02中讨论算法的收敛性的时候有提到误分类次数的上界.

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

生成模型与判别模型

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

生成方法

  • 可以还原出联合概率分布统计学习与方法实战——统计学习方法概论_机器学习_08
  • 收敛速度快, 当样本容量增加时, 学到的模型可以更快收敛到真实模型
  • 当存在隐变量时仍可以用

判别方法

  • 直接学习条件概率统计学习与方法实战——统计学习方法概论_统计学习_33或者决策函数统计学习与方法实战——统计学习方法概论_损失函数_07
  • 直接面对预测, 往往学习准确率更高
  • 可以对数据进行各种程度的抽象, 定义特征并使用特征, 可以简化学习问题

总结思路:

统计学习与方法实战——统计学习方法概论_统计学习_35

最小二乘法的实现

import numpy as np
from scipy.optimize import leastsq
import matplotlib.pyplot as plt

# 目标函数
def real_func(x):
return np.sin(2*np.pi*x)

# 多项式
def fit_func(p, x):
f = np.poly1d(p)
return f(x)

# 残差
def residuals_func(p, x, y):
ret = fit_func(p, x) - y #注意此处没有平方
return ret

regularization = 0.0001

#正则化之后的残差
def residuals_func_regularization(p, x, y):
ret = fit_func(p, x) - y
ret = np.append(ret, np.sqrt(0.5*regularization*np.square(p))) # L2范数作为正则化项
return ret


# 十个点'
x = np.linspace(0, 1, 10)
x_points = np.linspace(0, 1, 1000)
# 加上正态分布噪音的目标函数的值
y_ = real_func(x)
y = [np.random.normal(0, 0.1) + y1 for y1 in y_]

index = 0
plt.figure(figsize=(15, 8))

def fitting(M=0):
"""
M 为 多项式的次数
"""
# 随机初始化多项式参数
p_init = np.random.rand(M + 1)
# 最小二乘法
p_lsq = leastsq(residuals_func, p_init, args=(x, y))
#p_lsq = leastsq(residuals_func_regularization, p_init, args=(x, y)) #加入正则化
print('Fitting Parameters:', p_lsq[0])

# 可视化
plt.subplot(141 + index)
plt.plot(x_points, real_func(x_points), label='real')
plt.plot(x_points, fit_func(p_lsq[0], x_points), label='fitted curve')
plt.plot(x, y, 'bo', label='noise')
plt.legend()
return p_lsq
for i in [0, 1, 3, 9]:
lsq_0 = fitting(i)
index += 1
plt.subplots_adjust(top=0.92, bottom=0.08, left=0.10, right=0.95, hspace=0.25,
wspace=0.35) #调整子图间距
plt.savefig("result.jpg")
plt.show()

统计学习与方法实战——统计学习方法概论_概率论_36

伯努利模型

习题1.1

  1. 根据题意:伯努利模型是定义在取值为0与1的随机变量上的概率分布。
    对于随机变量XX,则有:
    统计学习与方法实战——统计学习方法概论_机器学习_37
    其中,pp为随机变量XX取值为1的概率,1-p1−p则为取0的概率。
    由于随机变量XX只有0和1两个值,XX的概率分布函数,即伯努利模型可写为:
    统计学习与方法实战——统计学习方法概论_机器学习_38
    则伯努利模型的假设空间为:
    统计学习与方法实战——统计学习方法概论_机器学习_39
  2. 伯努利模型的极大似然估计以及贝叶斯估计中的统计学习方法三要素
    (1). 极大似然估计
      模型:伯努利模型
      策略:经验风险最小化。极大似然估计,等价于当模型是条件概率分布、损失函数是对数损失函数时的经验风险最小化。
      算法:极大化似然
    统计学习与方法实战——统计学习方法概论_损失函数_40
    (2)贝叶斯估计
      模型:伯努利模型
      策略:结构风险最小化。贝叶斯估计中的最大后验概率估计,等价于当模型是条件概率分布、损失函数是对数损失函数、模型复杂度由模型的先验概率表示时的结构风险最小化。
      算法:最大化后验概率:
    统计学习与方法实战——统计学习方法概论_python_41
    (3) 伯努利模型的极大似然估计
    极大似然估计的一般步骤:
  1. 写出随机变量的概率分布函数;
  2. 写出似然函数;
  3. 对似然函数取对数,得到对数似然函数,并进行化简;
  4. 对参数进行求导,并令导数等于0;
  5. 求解似然函数方程,得到参数的值。
    对于伯努利模型nn次独立的数据生成结果,其中kk次的结果为1,可得似然函数为:
    统计学习与方法实战——统计学习方法概论_损失函数_42
    对似然函数取对数,得到对数似然函数为:
    统计学习与方法实战——统计学习方法概论_损失函数_43
    求解参数p:
    统计学习与方法实战——统计学习方法概论_机器学习_44
    对参数p求导,并求解导数为0时的p值:
    统计学习与方法实战——统计学习方法概论_统计学习_45
     令统计学习与方法实战——统计学习方法概论_机器学习_46从上式可得统计学习与方法实战——统计学习方法概论_机器学习_47 ,即 统计学习与方法实战——统计学习方法概论_机器学习_48
     所以 统计学习与方法实战——统计学习方法概论_概率论_49

第4步:伯努利模型的贝叶斯估计

解法一:求最大后验估计

  1. 确定参数\thetaθ的先验概率统计学习与方法实战——统计学习方法概论_损失函数_50
  2. 根据样本集统计学习与方法实战——统计学习方法概论_损失函数_51计算似然函数统计学习与方法实战——统计学习方法概论_概率论_52
  3. 利用贝叶斯公式,写出后验概率最大化公式:
    统计学习与方法实战——统计学习方法概论_概率论_53
  4. 利用求导,得到后验概率最大时的参数取值,假设pp的先验分布\pi§π§为均匀分布,则最大后验概率估计等价于极大似然估计。
      一般在贝叶斯估计中,如果后验分布与先验分布属于同一分布簇(共轭分布),则称此先验分布为似然函数的共轭先验。
    选取共轭先验有如下好处,例如:
    (1)符合直观,先验分布和后验分布应该是相同形式的;
    (2)可以给出后验分布的解析形式;
    (3)可以形成一个先验链,即现在的后验分布可以作为下一次计算的先验分布,如果形式相同,就可以形成一个链条。
    伯努利分布的先验分布为Beta分布,则此处假设先验分布\pi§π§为Beta分布。

补充知识:Beta分布

Beta 分布(Beta distribution),是指一组定义在{\displaystyle (0,1)}(0,1)区间的连续概率分布,亦称Β分布。有两个参数统计学习与方法实战——统计学习方法概论_概率论_54, 统计学习与方法实战——统计学习方法概论_损失函数_55>0,统计学习与方法实战——统计学习方法概论_损失函数_55>0。
概率密度函数:
统计学习与方法实战——统计学习方法概论_概率论_57
其中B 统计学习与方法实战——统计学习方法概论_机器学习_58 是Beta函数,亦称 统计学习与方法实战——统计学习方法概论_概率论_59 函数。 统计学习与方法实战——统计学习方法概论_统计学习_60
随机变量 统计学习与方法实战——统计学习方法概论_统计学习_61 服从参数为 统计学习与方法实战——统计学习方法概论_统计学习_62 的Beta分布记作: 统计学习与方法实战——统计学习方法概论_损失函数_63 期望: 统计学习与方法实战——统计学习方法概论_损失函数_64
与均匀分布关系:当 统计学习与方法实战——统计学习方法概论_统计学习_65 时, Beta分布就是一个均匀分布
p的先验分布为:
统计学习与方法实战——统计学习方法概论_机器学习_66
似然函数与第3步相同:
统计学习与方法实战——统计学习方法概论_python_67
最大化后验概率,求解参数p:
统计学习与方法实战——统计学习方法概论_损失函数_68
统计学习与方法实战——统计学习方法概论_机器学习_69 ,对函数 统计学习与方法实战——统计学习方法概论_概率论_70 先取对数,再对 统计学习与方法实战——统计学习方法概论_损失函数_71 求导,得
统计学习与方法实战——统计学习方法概论_概率论_72
令上式等于 0 ,得 统计学习与方法实战——统计学习方法概论_概率论_73 ,其中 统计学习与方法实战——统计学习方法概论_统计学习_62 为beta分布的参数。
所以最大后验概率估计得到 统计学习与方法实战——统计学习方法概论_统计学习_75

解法二:求后验概率分布的期望

贝叶斯估计中的最大后验概率估计,得到的是模型参数\thetaθ这个随机变量的后验分布的众数,通常被认为是点估计。而贝叶斯方法的特点是使用分布来总结数据和得出推论,因此贝叶斯方法倾向于得到后验均值或中值,以及可信区间。
  贝叶斯估计,利用后验分布的期望(均值)作为参数的估计值的方法,前两步与最大后验概率估计相同,第3、4步如下
  3. 利用贝叶斯公式,求\thetaθ的后验概率:统计学习与方法实战——统计学习方法概论_统计学习_76
  4.计算后验概率分布参数\thetaθ的期望,并求出贝叶斯估计值统计学习与方法实战——统计学习方法概论_机器学习_77
  已知似然函数和参数pp的先验分布,参数pp的后验分布为:
  统计学习与方法实战——统计学习方法概论_概率论_78
后验概率分布的期望:
统计学习与方法实战——统计学习方法概论_概率论_79
则以参数的后验概率分布的期望作为贝叶斯估计的参数值:
统计学习与方法实战——统计学习方法概论_python_80
所以贝叶斯估计得到 统计学习与方法实战——统计学习方法概论_损失函数_81

习题1.2

通过经验风险最小化推导极大似然估计。证明模型是条件概率分布,当损失函数是对数损失函数时,经验风险最小化等价于极大似然估计。
解答思路:

  1. 根据经验风险最小化定义,写出目标函数;
  2. 根据对数损失函数,对目标函数进行整理;
  3. 根据似然函数定义和极大似然估计的一般步骤(计算时需要取对数),可得到结论。
    解答步㮛:
    假设楻型的条件概率分布是 统计学习与方法实战——统计学习方法概论_概率论_82 ,样本集 统计学习与方法实战——统计学习方法概论_python_83 ,根据书中第 17 页公式 统计学习与方法实战——统计学习方法概论_损失函数_84 ,对数损失函数为:
    统计学习与方法实战——统计学习方法概论_损失函数_85
    根据书中第 18 页公式(1.15),按昭经验风险最小化求最优模型就是求解最优化问题:
    统计学习与方法实战——统计学习方法概论_统计学习_86
    结合上述两个式子,可得经验风险最小化函数:
    统计学习与方法实战——统计学习方法概论_机器学习_87
    根据㕽然函数定义: 统计学习与方法实战——统计学习方法概论_统计学习_88 ,以及极大似然估计的一般步骤,可得:
    统计学习与方法实战——统计学习方法概论_概率论_89
    即经验风险最小化等价于极大似然估计,得证。

参考: ​​DataWhale​​.组队学习


标签:似然,后验,函数,模型,损失,学习,最小化,方法,统计
From: https://blog.51cto.com/u_13859040/5814507

相关文章

  • 机器学习从入门到精通—— Logistic回归与最大熵模型
    Logistic回归​​Logistic回归​​​​逻辑斯谛​​​​回归模型​​​​相对应模型代码实现​​​​逻辑斯蒂​​​​最大熵模型代码实现​​Logistic回归逻辑斯谛1.逻辑斯......
  • 常系数齐次线性递推学习笔记
    写在前面的话碍于笔者水平有限,本文缺陷可能比较多,欢迎指正。前置知识:NTT。模板\(\text{Link}\)给定\(f_1,f_2,f_3\dotsf_k\)和\(a_0,a_1,a_2\dotsa_{k-1}\),求\[......
  • 生成tpk方法
    1、设置arcgis可以生成切片包功能1.1(自定义-》ArcMap选项)  2.1共享-》启用ArcGISRunTime工具勾上 2、生成tpk文件选择文件-》共享为-》切片包 ......
  • Spring Boot读取Yml配置文件的3种方法
    1 基础用法,使用@Value注解直接注入配置信息@Value("${spring.datasource.username}")privateStringname;2 使用注解@Autowired注入Environment类@......
  • ENVI5.6.2中北京三号卫星A星数据处理方法
    北京三号卫星A星于2021年6月11日,搭载了0.5米全色、2米多光谱(蓝、绿、红、近红外波段)相机,成像宽幅优于23km。ENVI5.6.2中完全支持北京三号卫星A星图像数据处理,包括数据打开......
  • 企业网站建设方法
    如今各企业对于网站也有一定的需求,其基本目的也是为了能够宣传产品以及整个企业。但对很多企业来说,一开始可能就不知道要怎么去完成,对整个程序和步骤也不太了解。下面我......
  • mac中显示任何来源 -- 提示文件已损坏的解决方法
    cornerstone显示已损坏怎么办先执行下面命令,打开任何来源$sudospctl--master-disable接着执行这段代码#quarantine再应用程序中将有问题的软件拖入终端,得......
  • 【单元测试】Junit 4(一)--白盒测试方法
    1.0流程图标识1.1语句覆盖法(C0标准)①目标​ 程序中的每个可执行语句至少被执行一次后面如未说明那就是还是用的这个样例程序源代码:importjava.util.Scanner;p......
  • Anderson-Darling 统计检验
    功能:对于特定数据集和分布,分布与数据拟合越好,此统计量越小。可以用Anderson-Darling统计量确定数据是否符合t检验的正态假设。  help: ......
  • 动态规划学习入门(小白零基础)
    动态规划学习入门(小白零基础)基础概念如果某一问题可拆解成若干重叠子问题,即可用动态规划解决。重叠子问题:比如斐波那契数列F(n)可分解成F(n-1)+F(n-2),而F(n-1)又可......