《统计学习方法》第一章: 统计学习方法概论 读书笔记

第一章

        • 1.统计学习方法概论
          • 1.1概念
          • 1.2.统计学习三要素
            • 模型
            • 策略
            • 算法
          • 1.3.正则化与交叉验证
          • 1.4.泛化误差上界
          • 1.5.生成模型/判别模型
          • 1.6.分类问题
          • 1.7.一个极大似然估计和贝叶斯估计的实例

一切为了数据挖掘的准备

1.统计学习方法概论

1.1概念
  • 机器学习的分类
    • 监督学习:从给定的训练数据集中学习出一个函数。训练集要求包括输入和输出,特征和目标。常见的监督学习有回归分析和统计分类(连续/离散)
    • 无监督学习:训练集没有人为标注的结果。常见的有聚类。
    • 半监督学习:介于监督学习和无监督学习之间
    • 增强学习:通过观察学习做成动作。每个动作都会对环境有所影响。学习对象根据观察到的周围环境的反馈来做出判断。
  • 假设空间:假设要学的模型属于某个函数的集合,模型可以将输入空间映射到输出空间,这个集合称为假设空间。需要从假设空间选取一个最优的模型,使其在给定的评价准则下对已知数据有最优的预测。
  • 统计学习三要素:模型(模型的假设空间)、策略(评价模型)、算法(模型的学习算法)
  • 输入/输出空间:在监督学习中,将输入与输出所有可能取值的集合分别称为输入空间、输出空间。
  • 特征空间:每个具体的输入是一个实例,通常由特征向量表示。所有特征向量存在的空间为特征空间。
  • 数学表达:
    • 输入变量X,输出变量Y。
    • 输入变量X所取的值x,输出变量的取值y。 x = ( x ( 1 ) , x ( 2 ) , ⋯   , x ( i ) , ⋯   , x ( n ) ) T x=(x^{(1)},x^{(2)},\cdots,x^{(i)},\cdots,x^{(n)})^T x=(x(1),x(2),,x(i),,x(n))T, x ( i ) x^{(i)} x(i)为第i个特征。
    • x i x_i xi是第i个输入。
    • 训练集表示为: T = ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) T={(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)} T=(x1,y1),(x2,y2),,(xN,yN)
  • 预测问题:
    • 回归问题:输入输出都连续
    • 分类问题:输出有限离散变量
    • 标注问题:输入输出都是变量序列,
  • 监督学习的模型可以是概率模型或非概率模型,由条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX)或决策函数 Y = f ( X ) Y=f(X) Y=f(X)表示
  • 泛化能力:学习方法对未知数据的预测能力称为泛化能力
  • 过拟合:学习时的模型包含参数过多,对已知数据预测的很好,对未知数据预测差
1.2.统计学习三要素
模型

监督学习中,模型就是要学习的条件概率分布或决策函数。模型的假设空间包含所有可能的条件概率分布或决策函数。

  • 决策函数的集合: F = { f ∣ Y = f ( X ) } F=\{f|Y=f(X)\} F={fY=f(X)},此时F通常是一个参数向量决定的函数族 F = { f ∣ Y = f θ ( X ) } F=\{f|Y=f_\theta(X)\} F={fY=fθ(X)}
  • 条件概率的集合: F = { P ∣ P θ ( Y ∣ X ) } F=\{P|P_\theta(Y|X)\} F={PPθ(YX)},此时F通常是一个参数向量决定的概率分布族
策略

策略是指按照什么样的准则学习或选择最优的模型。

  • 损失函数:度量预测错误的程度,是f(X)(预测值) 和 Y(实际值)的非负实值函数,L( Y , f(X))。损失函数越小,模型越好。
    • 0-1损失函数
      L ( Y , f ( X ) ) = { 1 , Y ≠ f ( X ) 0 , Y = f ( X ) L(Y,f(X))=\begin{cases} 1, & Y \neq f(X) \\ 0, & Y=f(X) \end{cases} L(Y,f(X))={1,0,Y̸=f(X)Y=f(X)
    • 平方损失函数
      L ( Y , f ( X ) ) = ( Y − f ( X ) ) 2 L(Y,f(X)) = ( Y-f(X))^2 L(Y,f(X))=(Yf(X))2
    • 绝对损失函数
      L ( Y , f ( X ) ) = ∣ Y − f ( X ) ∣ L( Y , f(X)) = | Y-f(X) | L(Y,f(X))=Yf(X)
    • 对数损失函数
      L ( Y , P ( Y ∣ X ) ) = − l o g P ( Y ∣ X ) L( Y , P(Y|X) ) = -logP(Y|X) L(Y,P(YX))=logP(YX)
  • 风险函数/期望损失:损失函数的期望 R e x p ( f ) = E [ L ( Y , f ( X ) ) ] = ∫ L ( Y , f ( X ) ) P ( Y ∣ X ) d x d y R_{exp}(f) = E[L(Y, f(X))]= \int L( Y , f(X) ) P(Y|X)dxdy Rexp(f)=E[L(Y,f(X))]=L(Y,f(X))P(YX)dxdy,是模型关于联合分布的平均损失
  • 经验风险/经验损失: R e m p = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) R_{emp} =\frac{1}{N}\sum_{i=1}^N L( y_i,f(x_i) ) Remp=N1i=1NL(yi,f(xi)),是训练数据集的平均损失,当N趋于无穷时,经验风险趋于期望风险.
    当模型是条件概率分布,损失函数是对数损失函数时,经验风险最小化等价于极大似然估计
  • 结构风险:为了防止过拟合,在经验风险上加上表示模型复杂度的正则化项或惩罚项。 R = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) R =\frac{1}{N}\sum_{i=1}^N L( y_i,f(x_i) ) + \lambda J(f) R=N1i=1NL(yi,f(xi))+λJ(f)
    • J ( f ) J(f) J(f):表示模型复杂度的正则化项或惩罚项
    • λ \lambda λ:权衡经验风险和复杂度
  • 经验风险最小化: m i n 1 N ∑ i = 1 N L ( y i , f ( x i ) ) min\frac{1}{N}\sum_{i=1}^N L( y_i,f(x_i) ) minN1i=1NL(yi,f(xi))
  • 结构风险最小化: m i n 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) min\frac{1}{N}\sum_{i=1}^N L( y_i,f(x_i) ) + \lambda J(f) minN1i=1NL(yi,f(xi))+λJ(f)
算法

指学习模型的具体计算方法。当根据学习策略,选择最有模型后,要考虑如何求解最优化问题。

1.3.正则化与交叉验证
  • 正则化:在经验风险上加上一个正则化项或惩罚项。正则化项一般是模型复杂度的单调递增函数,模型越复杂,正则化值越大。目的是选择经验风险(损失函数)和模型复杂度同时较小的模型。

    • 正则化项是参数向量的 L 2 L_2 L2范数: L ( w ) = 1 N ∑ i = 1 N ( f ( x i ; w ) − y i ) 2 + λ 2 ∣ ∣ w ∣ ∣ 2 L(w) = \frac{1}{N}\sum_{i=1}^N(f(x_i;w)-y_i)^2+ \frac{\lambda}{2}||w||^2 L(w)=N1i=1N(f(xi;w)yi)2+2λw2
    • 正则化项是参数向量的 L 1 L_1 L1范数: L ( w ) = 1 N ∑ i = 1 N ( f ( x i ; w ) − y i ) 2 + λ ∣ ∣ w ∣ ∣ L(w) = \frac{1}{N}\sum_{i=1}^N(f(x_i;w)-y_i)^2+\lambda||w|| L(w)=N1i=1N(f(xi;w)yi)2+λw
  • 交叉验证:把原始数据切分为train data和test data.训练数据再切分几组,其中一份为验证集,其他几份做训练数据;再抽取另一份做验证集,剩下的做训练数据;在训练集上训练不同的模型,在抽取的验证集上验证模型,比较这些验证结果,选取效果好模型。

1.4.泛化误差上界
  • 泛化误差:如果学到的模型是 f ^ \hat{f} f^,那么用这个模型对未知数预测的误差为泛化误差。 R e x p ( y ^ ) = E p [ L ( Y , f ^ ( X ) ) ] = ∫ L ( Y , f ^ ( X ) ) P ( x , y ) d x d y R_{exp}(\hat{y}) = E_p[L(Y,\hat{f}(X))] = \int L(Y,\hat{f}(X))P(x,y)dxdy Rexp(y^)=Ep[L(Y,f^(X))]=L(Y,f^(X))P(x,y)dxdy.泛化误差反映了泛化能力,也是学习到模型的期望风险。
  • 泛化误差上界:泛化误差概率的上界。
    T = ( x 1 , y 1 ) , ( x 2 , y 2 ) , ⋯   , ( x N , y N ) T={(x_1,y_1),(x_2,y_2),\cdots,(x_N,y_N)} T=(x1,y1),(x2,y2),,(xN,yN),假设空间是函数的有限集合 F = { f 1 , f 2 , ⋯   , f d , } F=\{f_1,f_2,\cdots,f_d,\} F={f1,f2,,fd,}d是函数的个数,假设f是从F中选取的函数,损失函数是0-1损失,有关f的期望风险和经验风险是:
    R ( f ) = E [ L ( Y , f ( X ) ) ] R(f) = E[L(Y,f(X))] R(f)=E[L(Y,f(X))]

R ^ ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) \hat{R}(f) = \frac{1}{N}\sum_{i=1}^N L(y_i,f(x_i)) R^(f)=N1i=1NL(yi,f(xi))
对于函数f,至少以概率 1 − δ 1-\delta 1δ,以下不等式成立
R ( f ) ⩽ R ^ ( f ) + ϵ ( d , N , δ ) R(f) \leqslant \hat{R}(f) +\epsilon(d,N,\delta) R(f)R^(f)+ϵ(d,N,δ)

ϵ ( d , N , δ ) = 1 2 N ( l o g d + l o g 1 δ ) \epsilon(d,N,\delta)=\sqrt{\frac{1}{2N}(logd + log\frac{1}{\delta})} ϵ(d,N,δ)=2N1(logd+logδ1)

第一项是训练误差,训练误差越小,泛化误差越小;训练集N越大,泛化误差越小;假设空间包含的函数越多,d越大,值越大。

  • 证明:
    设有随机变量 X 1 , X 2 , ⋯   , X n X_1,X_2,\cdots,X_n X1,X2,,Xn, S n = ∑ X i S_n = \sum X_i Sn=Xi, X i ∈ [ a i , b i ] X_i \in [a_i,b_i] Xi[ai,bi],对任意t>0,一下不等式成立
    P ( S n − E S n ⩾ t ) ⩽ e x p ( − 2 t 2 ∑ ( b i − a i ) 2 ) P(S_n-ES_n \geqslant t)\leqslant exp(\frac{-2t^2}{\sum(b_i-a_i)^2}) P(SnESnt)exp((biai)22t2)
    对于任意函数 f ∈ F f \in F fF,如果损失函数,取值范围[0,1],由于 R ^ ( f ) = 1 N ∑ L i \hat{R}(f)=\frac{1}{N}\sum L_i R^(f)=N1Li,以下不等式成立
    P ( R ( f ) − R ^ ( f ) ⩾ ϵ ) ⩽ e x p ( − 2 ( N ϵ ) 2 ∑ ( 1 − 0 ) 2 ) = e x p ( − 2 N ϵ 2 ) P(R(f)-\hat{R}(f) \geqslant \epsilon)\leqslant exp(\frac{-2(N\epsilon)^2}{\sum(1-0)^2})=exp(-2N\epsilon^2) P(R(f)R^(f)ϵ)exp((10)22(Nϵ)2)=exp(2Nϵ2)
    对于有限集合 F = { f 1 , f 2 , ⋯   , f d , } F=\{f_1,f_2,\cdots,f_d,\} F={f1,f2,,fd,},想要计算所有函数 R ( f ) − R ^ ( f ) ⩽ ϵ R(f)-\hat{R}(f) \leqslant \epsilon R(f)R^(f)ϵ的概率,可以计算对立事件:存在某个函数f满足 R ( f ) − R ^ ( f ) ⩾ ϵ R(f)-\hat{R}(f) \geqslant \epsilon R(f)R^(f)ϵ条件的概率(即函数f1满足该条件或函数f2满足该条件… ,当事件AB独立时 P ( A ⋃ B ) = P ( A ) + P ( B ) P(A\bigcup B)=P(A)+P(B) P(AB)=P(A)+P(B)):
    P ( ∃ f ∈ F : P ( R ( f ) − R ^ ( f ) ⩾ ϵ ) P(\exists f \in F:P(R(f)-\hat{R}(f) \geqslant \epsilon) P(fF:P(R(f)R^(f)ϵ)
    = P ( ( R ( f 1 ) − R ^ ( f 1 ) ⩾ ϵ ) ⋃ ( R ( f 2 ) − R ^ ( f 2 ) ⩾ ϵ ) ⋃ ⋯ ⋃ ( R ( f N ) − R ^ ( f N ) ⩾ ϵ ) ) =P((R(f_1)-\hat{R}(f_1) \geqslant \epsilon) \bigcup (R(f_2)-\hat{R}(f_2) \geqslant \epsilon) \bigcup \cdots \bigcup (R(f_N)-\hat{R}(f_N) \geqslant \epsilon)) =P((R(f1)R^(f1)ϵ)(R(f2)R^(f2)ϵ)(R(fN)R^(fN)ϵ))
    = P ( R ( f 1 ) − R ^ ( f 1 ) ⩾ ϵ ) + P ( R ( f 2 ) − R ^ ( f 2 ) ⩾ ϵ ) + ⋯ + P ( R ( f N ) − R ^ ( f N ) ⩾ ϵ ) =P(R(f_1)-\hat{R}(f_1) \geqslant \epsilon) + P(R(f_2)-\hat{R}(f_2) \geqslant \epsilon) + \cdots + P(R(f_N)-\hat{R}(f_N) \geqslant \epsilon) =P(R(f1)R^(f1)ϵ)+P(R(f2)R^(f2)ϵ)++P(R(fN)R^(fN)ϵ)
    = d P ( R ( f i ) − R ^ ( f i ) ⩾ ϵ ) ⩽ d e x p ( − 2 N ϵ 2 ) =dP(R(f_i)-\hat{R}(f_i) \geqslant \epsilon)\leqslant dexp(-2N\epsilon^2) =dP(R(fi)R^(fi)ϵ)dexp(2Nϵ2)
    P ( ∀ f ∈ F : P ( R ( f ) − R ^ ( f ) ⩽ ϵ ) ⩾ d e x p ( − 2 N ϵ 2 ) P(\forall f \in F:P(R(f)-\hat{R}(f) \leqslant \epsilon)\geqslant dexp(-2N\epsilon^2) P(fF:P(R(f)R^(f)ϵ)dexp(2Nϵ2)
    δ = d e x p ( − 2 N ϵ 2 ) \delta=dexp(-2N\epsilon^2) δ=dexp(2Nϵ2),则 ϵ = 1 2 N ( l o g d + l o g 1 δ ) , R ( f ) ⩽ R ^ ( f ) + ϵ \epsilon=\sqrt{\frac{1}{2N}(logd + log\frac{1}{\delta})},R(f) \leqslant \hat{R}(f) + \epsilon ϵ=2N1(logd+logδ1) ,R(f)R^(f)+ϵ
1.5.生成模型/判别模型
  • 监督学习的方法:生成方法,判别方法
  • 生成方法:由数据学习联合概率分布,求出条件概率分布作为预测模型: P ( Y ∣ X ) = P ( Y , X ) P ( X ) P(Y|X) = \frac{P(Y , X)}{P(X)} P(YX)=P(X)P(Y,X).
    • 模型表示了给定输入X产生输出Y的生成关系
    • 收敛速度快,存在隐变量
    • 典型的生成模型:朴素贝叶斯、隐马尔科夫模型
  • 判别方法:由数据直接学习决策函数f(X)或条件概率分布P(Y|X)做预测的模型。
    • 典型的判别模型:k临近法,感知机、决策树、逻辑斯谛回归模型、最大熵模型、支持向量机、提升方法和条件随机场)
1.6.分类问题
  • 正类:关注的类; 负类:其他类
  • 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,实际为正类的实例中预测的准确率
1.7.一个极大似然估计和贝叶斯估计的实例

假设数据 x 1 , x 2 , ⋯   , x n x_1,x_2,\cdots,x_n x1,x2,,xn来自正态分布 N ( μ , σ 2 ) N(\mu,\sigma^2) N(μ,σ2) σ \sigma σ已知

  • 根据样本计算 μ \mu μ的极大似然估计。
    f ( x ) = 1 2 π σ e − ( x − μ ) 2 2 σ 2 f(x)=\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x-\mu)^2}{2\sigma^2}} f(x)=2π σ1e2σ2(xμ)2
    L = ∏ i = 1 n 1 2 π σ e − ( x i − μ ) 2 2 σ 2 = ( 2 π σ 2 ) − n 2 e − 1 2 σ 2 ∑ i = 1 n ( x i − μ ) 2 L=\prod_{i=1}^n\frac{1}{\sqrt{2\pi}\sigma}e^{-\frac{(x_i-\mu)^2}{2\sigma^2}}=(2\pi\sigma^2)^{-\frac{n}{2}}e^{-\frac{1}{2\sigma^2}\sum_{i=1}^n(x_i-\mu)^2} L=i=1n2π σ1e2σ2(xiμ)2=(2πσ2)2ne2σ21i=1n(xiμ)2
    ∂ L ∂ μ = ( 2 π σ 2 ) − n 2 e − 1 2 σ 2 ∑ i = 1 n ( x i − μ ) 2 1 σ 2 ∑ i = 1 n ( x i − μ ) = 0 \frac{\partial L}{\partial \mu}=(2\pi\sigma^2)^{-\frac{n}{2}}e^{-\frac{1}{2\sigma^2}\sum_{i=1}^n(x_i-\mu)^2}\frac{1}{\sigma^2}\sum_{i=1}^n(x_i-\mu)=0 μL=(2πσ2)2ne2σ21i=1n(xiμ)2σ21i=1n(xiμ)=0
    μ ^ = 1 n ∑ x i \hat{\mu}=\frac{1}{n}\sum x_i μ^=n1xi

  • 假设 μ \mu μ的先验分布是正态分布 N ( μ , t 2 ) N(\mu,t^2) N(μ,t2),根据样本计算 μ \mu μ的贝叶斯估计
    π ( μ ) = 1 2 π t e − μ 2 2 t 2 \pi(\mu)=\frac{1}{\sqrt{2\pi}t}e^{-\frac{\mu^2}{2t^2}} π(μ)=2π t1e2t2μ2
    P ( μ ∣ x 1 , x 2 , ⋯   , x n ) = P ( μ , x 1 , x 2 , ⋯   , x n ) P ( x 1 , x 2 , ⋯   , x n ) = P ( μ ) P ( x 1 ∣ μ ) P ( x 2 ∣ μ ) ⋯ P ( x n ∣ μ ) ∫ P ( μ , x 1 , x 2 , ⋯   , x n ) d μ P(\mu|x_1,x_2,\cdots,x_n)=\frac{P(\mu,x_1,x_2,\cdots,x_n)}{P(x_1,x_2,\cdots,x_n)} = \frac{P(\mu)P(x_1|\mu)P(x_2|\mu)\cdots P(x_n|\mu)}{\int P(\mu,x_1,x_2,\cdots,x_n)d\mu} P(μx1,x2,,xn)=P(x1,x2,,xn)P(μ,x1,x2,,xn)=P(μ,x1,x2,,xn)dμP(μ)P(x1μ)P(x2μ)P(xnμ)
    ∝ e − μ 2 2 t 2 ∏ i = 1 n e − ( x i − μ ) 2 2 σ 2 = e − 1 2 σ 2 ∑ i = 1 n ( x i − μ ) 2 − μ 2 2 t 2 \varpropto e^{-\frac{\mu^2}{2t^2}}\prod_{i=1}^ne^{-\frac{(x_i-\mu)^2}{2\sigma^2}}=e^{-\frac{1}{2\sigma^2}\sum_{i=1}^n (x_i-\mu)^2 -\frac{\mu^2}{2t^2}} e2t2μ2i=1ne2σ2(xiμ)2=e2σ21i=1n(xiμ)22t2μ2
    L = e − 1 2 σ 2 ∑ i = 1 n ( x i − μ ) 2 − μ 2 2 t 2 L = e^{-\frac{1}{2\sigma^2}\sum_{i=1}^n (x_i-\mu)^2 -\frac{\mu^2}{2t^2}} L=e2σ21i=1n(xiμ)22t2μ2
    ∂ L ∂ μ = L ( 1 σ 2 ∑ i = 1 n ( x i − μ ) − μ t 2 ) = 0 \frac{\partial L}{\partial \mu}=L(\frac{1}{\sigma^2}\sum_{i=1}^n (x_i-\mu)-\frac{\mu}{t^2})=0 μL=L(σ21i=1n(xiμ)t2μ)=0
    μ ^ = t 2 n t 2 + σ 2 ∑ x i \hat{\mu}=\frac{t^2}{nt^2+\sigma^2}\sum x_i μ^=nt2+σ2t2xi

你可能感兴趣的:(《统计学习方法》-李航,统计学习方法)