《统计学习方法》(第一章)—— 统计学习方法概论

统计学习分类:

1.基本分类:

  • 监督学习
  • 无监督学习
  • 强化学习

2.按模型分类:

  • 概论模型与非概率模型
  • 线性模型与非线性模型

3.按算法分类:

  • 在线学习
  • 批量学习

4.按技巧分类:

  • 贝叶斯学习
  • 核方法

统计学习三要素:

1.模型:

  • 监督学习过程中,模型就是所有学习的条件概率分布和决策函数

2.策略:

  • 一种评价呢指标
  • 损失函数
  • 风险函数 or 期望损失
  • 经验风险最小化 or 结构风险最小化

3.算法:

  • 学习模型的具体计算方法

模型评估与模型选择:

1.训练误差与测试误差:

  • 在训练集上的平均损失,训练误差
  • 在测试集上的平均损失,测试误差

2.过拟合与模型选择:

  • 选择复杂度适当的模型,以达到测试误差最小的模型

正则化与交叉验证:

1.正则化:

  • 经验风险+正则化项( L 1 , L 2 L_1,L_2 L1L2)

2.交叉验证:

  • 交叉验证
    • 简单交叉验证7:3
    • S折交叉验证
    • 留一交叉验证

泛化能力:

1.泛化误差:

  • 对未知数据的拟合

2.泛化误差上界:

  • R ( f ) ≤ R ^ ( f ) + ε ( d , N , δ ) R(f)\le \hat{R}(f)+\varepsilon(d,N,\delta) R(f)R^(f)+ε(d,N,δ)
    ε ( d , N , δ ) = 1 2 N ( l o g d + l o g 1 d ) \varepsilon(d,N,\delta)=\sqrt{\frac{1}{2N}(logd+log\frac{1}{d})} ε(d,N,δ)=2N1(logd+logd1)
    对于二分类问题,当假设空间是有限个函数集合 Ψ = { f 1 , f 2 . . . f d } \Psi=\{f_1,f_2...f_d\} Ψ={f1,f2...fd}时,对任意一个函数 f ∈ Ψ f \in \Psi fΨ,则至少以概率
    1 − δ , 0 < δ < 1 , 成 立 1-\delta,0<\delta<1,成立 1δ,0<δ<1,
  • Hoeffding不等式:
    • X 1 , X 2 . . . . . X N 是 独 立 随 机 变 量 , 且 X i ∈ [ a i , b i ] X_1,X_2.....X_N 是独立随机变量,且X_i \in [a_i,b_i] X1,X2.....XNXi[ai,bi]
      i = 1 , 2..... , N , X ‾ 是 X 1 , X 2 . . . . . X N 的 经 验 均 值 , 既 X ‾ = 1 N ∑ i = 1 N X i i=1,2.....,N,\overline{X}是X_1,X_2.....X_N的经验均值,既\overline{X}=\Large\frac{1}{N}\normalsize\sum\limits^N_{i=1}X_i i=1,2.....,N,XX1,X2.....XNX=N1i=1NXi
      P ( ∣ X ‾ − E ( X ‾ ) ∣ ≥ t ) ≤ 2 e x p ( − 2 N 2 t 2 ∑ i = 1 N ( b i − a i ) 2 ) P(|\overline{X}-E(\overline{X})|\ge t) \le 2exp(- \frac{2N^2t^2}{\sum\limits^N_{i=1}(b_i-a_i)^2}) P(XE(X)t)2exp(i=1N(biai)22N2t2)
      P ( X ‾ − E ( X ‾ ) ≥ t ) ≤ e x p ( − 2 N 2 t 2 ∑ i = 1 N ( b i − a i ) 2 ) P(\overline{X}-E(\overline{X})\ge t) \le exp(- \frac{2N^2t^2}{\sum\limits^N_{i=1}(b_i-a_i)^2}) P(XE(X)t)exp(i=1N(biai)22N2t2)
      P ( E ( X ‾ ) − X ‾ ≥ t ) ≤ e x p ( − 2 N 2 t 2 ∑ i = 1 N ( b i − a i ) 2 ) P(E(\overline{X})- \overline{X} \ge t) \le exp(- \frac{2N^2t^2}{\sum\limits^N_{i=1}(b_i-a_i)^2}) P(E(X)Xt)exp(i=1N(biai)22N2t2)
  • 证明:取 X i = L ( Y , f ( X ) ) , 且 X i ∈ [ 0 , 1 ] , 取 ε > 0 则 以 下 不 等 式 成 立 : X_i=L(Y,f(X)),且X_i \in[0,1],取\varepsilon>0则以下不等式成立: Xi=L(Y,f(X)),Xi[0,1],ε>0
    P ( R ( f ) − R ^ ( f ) ≥ ε ) ≤ e x p ( − 2 N ε 2 ) P(R(f)- \hat{R}(f) \ge \varepsilon) \le exp(- 2N{\varepsilon}^2) P(R(f)R^(f)ε)exp(2Nε2)
    由 于 Ψ = { f 1 , f 2 . . . f d } 是 一 个 有 限 集 合 , 故 由于\Psi=\{f_1,f_2...f_d\}是一个有限集合,故 Ψ={f1,f2...fd}
    P ( ∃ f ∈ Ψ : R ( f ) − R ^ ( f ) ≥ ε ) ≤ e x p ( − 2 N ε 2 ) = P ( ⋃ f ∈ Ψ { R ( f ) − R ^ ( f ) ≥ ε } ) P(\exists f \in \Psi:R(f)- \hat{R}(f) \ge \varepsilon) \le exp(- 2N{\varepsilon}^2)=P(\bigcup_{f \in \Psi}\{R(f)-\hat{R}(f)\ge \varepsilon\}) P(fΨ:R(f)R^(f)ε)exp(2Nε2)=P(fΨ{R(f)R^(f)ε})
    ≤ ∑ f ∈ Ψ P ( R ( f ) − R ^ ( f ) ≥ ε ) ≤ d ∗ e x p ( − 2 N ε 2 ) \le\sum\limits_{f \in \Psi}P(R(f)-\hat{R}(f)\ge\varepsilon)\le{d*exp(-2N\varepsilon^2)} fΨP(R(f)R^(f)ε)dexp(2Nε2)
    取 δ = d ∗ e x p ( − 2 N ε 2 ) , 则 P ( R ( f ) < R ^ ( f ) + ε ) ≥ 1 − δ 取\delta={d*exp(-2N\varepsilon^2)},则P(R(f)<\hat{R}(f)+\varepsilon)\ge1-\delta δ=dexp(2Nε2),P(R(f)<R^(f)+ε)1δ
    R ( f ) ≤ R ^ ( f ) + ε ( d , N , δ ) R(f)\le \hat{R}(f)+\varepsilon(d,N,\delta) R(f)R^(f)+ε(d,N,δ)

生成模型与判别模型:

  • 生成模型:生成联合分布的
  • 判别模型:直接生成决策函数或条件概率的

监督学习应用:

  • 分类问题

    • TP——将正类预测为正类数
    • FN——将正类预测为负类数
    • FP——将负类预测为正类数
    • TN——将负类预测为负类数
    • 精确率 P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP
    • 召回率 R = T P T P + F N R=\frac{TP}{TP+FN} R=TP+FNTP
    • 2 F 1 = 1 p + 1 R \frac{2}{F1}=\frac{1}{p}+\frac{1}{R} F12=p1+R1
  • 标注问题:

    • 序列等问题
  • 回归问题

    • 输出变量和输入变量之间的关系
import numpy as np
from scipy.optimize import leastsq
import matplotlib.pyplot as plt
def real_f(x):
    return np.cos(2*np.pi*x)
def poly_f(p,x):
    f=np.poly1d(p)
    return f(x)
def residuals_f(p,x,y):
    ret=poly_f(p,x)-y
    return ret
x=np.linspace(0,1,10)
x_points=np.linspace(0,1,1000)
y_=real_f(x)
y=[np.random.normal(0,0.1)+y1 for y1 in y_]
def fitting(M=0):
    p_init=np.random.rand(M+1)
    ret=leastsq(residuals_f,p_init,args=(x,y))
    print(ret[0])
    plt.plot(x_points,real_f(x_points),label="real")
    plt.plot(x_points,poly_f(ret[0],x_points),label="fitting")
    plt.plot(x,y,"bo",label='noise')
    plt.legend()
    plt.show()
fitting(M=6)
#简单拟合图像

在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值