统计学习方法

统计学习方法(1-5章)

基础概念:

第一章:概论

内容
  1. 监督学习关于数据的基本假设:X,Y具有联合概率分布。联合分布可以完全决定单个变量的分布,该分布称为边缘分布。

  2. 固定单一的列Y = yj ,以当前列的概率为基础,各个Pij 的等比例变换即为条件概率
    p i ∣ j = P ( X = x i ∣ Y = y j ) = P ( X = x i , Y = y j ) P ( Y = y j ) = p i j p ⋅ j , i = 1 , 2 , … p_{i | j}=P\left(X=x_{i} | Y=y_{j}\right)=\frac{P\left(X=x_{i}, Y=y_{j}\right)}{P\left(Y=y_{j}\right)}=\frac{p_{i j}}{p_{\cdot j}}, i=1,2, \ldots pij=P(X=xiY=yj)=P(Y=yj)P(X=xi,Y=yj)=pjpij,i=1,2,

  3. 条件分布函数则不使用X = xi 而是使用X < xi 这样当X从 − ∞ -\infty + ∞ +\infty + 的过程中,概率是从0变到1 的,该函数用于连续随机向量,条件分布函数表达式以及其密度函数分别为
    F ( x ∣ y ) = ∫ − ∞ x f ( u , y ) f Y ( y ) d u , f ( x ∣ y ) = f ( x , y ) f Y ( y ) F(x | y)=\int_{-\infty}^{x} \frac{f(u, y)}{f_{Y}(y)} d u, f(x | y)=\frac{f(x, y)}{f_{Y}(y)} F(xy)=xfY(y)f(u,y)du,f(xy)=fY(y)f(x,y)

  4. 通过概率密度函数,我们就可以给出连续随机变量场合的全概率公式
    f Y ( y ) = ∫ − ∞ + ∞ f ( y ∣ x ) f X ( x ) d x , f X ( x ) = ∫ − ∞ + ∞ f ( x ∣ y ) f Y ( y ) d y f_{Y}(y)=\int_{-\infty}^{+\infty} f(y | x) f_{X}(x) d x, f_{X}(x)=\int_{-\infty}^{+\infty} f(x | y) f_{Y}(y) dy fY(y)=+f(yx)fX(x)dx,fX(x)=+f(xy)fY(y)dy

  5. 对于模型来说,训练误差往往是相对容易调节的,但是,评估一个模型的好坏,联合分布的泛化误差的大小更具有价值。那么,泛化误差该如何降低呢?一个思想是通过训练数据的经验误差来计算泛化误差的上界,从而约束住泛化误差。基于此,详见*数学推导1*.

  6. 模型表示了给定X产生输出Y的生成关系,这种模型叫做生成模型。该模型中,数据学习的是联合概率分布然后求出条件概率分布作为预测的模型。

  7. 判别模型则是由判别方法学习而来,数据直接学习决策函数或者条件概率分布作为预测,典型的判别模型包括:k近邻法、感知机、决策树、logistics回归模型、最大熵模型、支持向量机、提升方法、条件随机场。

  8. 比较而言,生成模型学习随着样本容量增加收敛速度更快,可用于存在隐变量的情况,判别模型则不能,但是学习的准确率会更高,简化学习问题

第二章:感知机

内容
  1. 感知机是二类分类的线性分类模型,输入时实例的特征向量,输出为实例的类别。属于判别模型
  2. 感知机学习算法简单且易于实现,分为原始形式和对偶形式,时神经网络和支持向量机的基础。
  3. 直观的看,感知机损失函数为了使损失函数可导而不使用误分点作为损失函数而是使用-yi ⋅ \cdot ( ω \omega ω x+b)会使模型受极端值影响较大(个人感觉)
  4. 感知机学习算法的解依赖于初始值以及随机梯度下降过程中选取的误分类点,因此需要增加约束条件使超平面唯一,这也是第七章支持向量机的想法。
  5. 对偶形式原理上和原始形式没有任何区别,只是它的实例间的内积可以预先计算出来并以矩阵形式存储(Gram matrix),从计算量上来说减少了许多。
问题
  1. 为什么计算误差的时候要使用函数间隔,而丢掉前面平面距离使用的 1 ∥ ω ∥ \frac{1}{\Vert \omega \Vert} ω1 ?

第三章:k近邻法(k-NN)

内容

注:一个基本分类与回归方法,本章只讨论分类问题

  1. 三要素:K值的选择(whether?选取的点越多越准确),距离度量(欧氏距离),分类决策规则(eg. 多数表决)。

  2. 距离度量更为一般的是Lp距离,欧氏距离是p为2的特殊情况。p=1为曼哈顿距离,即所有维度距离之和。

  3. KD树:为了解决的问题是如何对训练数据进行快速k近邻搜索,线性遍历在数据量大的时候太耗时间。

    寻找最近节点算法:

    • 首次按维度顺序循环对当前维度中位数进行超矩形区域划分,这样可以构造出相对平衡的二叉树,二叉树的当前节点存储当前划分中位数的节点

    • 对于需要判断的节点,从根节点开始,以当前维度的数值作为划分,朝子树方向向下划分,最后到叶节点即为新节点处于的超矩形空间,将该叶节点暂定为目标节点的最近节点

    • 从该节点向上递归,先查看父节点是否更近,然后看以目标节点和最近节点构成的超球体与父节点切分的超平面是否有交界,有的话检查父节点的另外一个子节点的超矩形区域,如果有更近节点则代替成为新的最近节点。

    • 回退到根节点时,搜索结束。

第四章:朴素贝叶斯法

内容
  1. 由于条件概率分布具有指数级的参数,直接估计不可行,所以朴素贝叶斯对条件概率进行了条件独立性的假设
  2. 在使用朴素贝叶斯法的目标:最大化后验概率之前,我们得先对为什么使用这个目标进行研究。
    • 首先明确几个相关的概念,我们的单个样本x假设是有m维,而每一维的取值假设有n个,这样看来,我们可能出现的样本数是 n m n^m nm个,假设映射的y的取值共有k个,实际意义想象成有k个类,那么我们需要的参数空间一共得 k × n m k\times n^m k×nm 个(想象一下神经网络)。不管是联合分布或是条件概率分布都应当存在这么多的参数。
    • P ( X , Y ) = P ( X ) ⋅ P ( Y ∣ X ) P\left(X,Y \right) = P(X)\cdot P(Y\vert X) P(X,Y)=P(X)P(YX) 这个公式可以体会一下:联合分布和条件概率分布的区别在于P(X)这个比率,其实就是在条件概率中确定单个样本x的情况下(共有 k × n m k\times n^m k×nm 个样本) Y 的概率和变成了1.
    • 另外要明确的是,样本空间是固定的,分类决策函数才是我们需要去优化的目标,即f(X)。
    • 由于我们优化的目标是朝着联合分布的,所以朴素贝叶斯法优化的是期望风险。
    • 具体公式推导详见*数学推导2*
  3. 极大似然估计类似于出现个数占总数的比率,贝叶斯估计则分子加了 λ \lambda λ分母加了 S j λ S_j\lambda Sjλ, λ \lambda λ为1时时拉普拉斯平滑。

第五章:决策树

内容
  1. 离散型随机变量X熵的定义,它是随机变量不确定性的度量
    H ( X ) = − ∑ i = 1 n P i ∗ log ⁡ ( P i ) H(X)=-\sum_{i=1}^{n} P_{i} * \log \left(P_{i}\right) H(X)=i=1nPilog(Pi)

  2. 信息增益定义为集合D的经验上与某个特征A给定条件下集合D的经验条件熵之差,又称为互信息。通俗的理解来看,应该是通过不确定性的减少程度来判断选取哪一个特征作为划分。

  3. 信息增益会偏好于取值较多的属性,为什么呢?举一个例子,100个正反面55开的硬币本该是 − 1 2 log ⁡ 1 2 ⋅ 2 -\frac{1}{2} \log \frac{1}{2} \cdot 2 21log212 ,将他根据某一特征分成4个等大小子集和6个子集对结果有什么影响呢?6个子集的就一定比4个子集的大吗?很明显的不一定。因为4个子集可能完美划分使熵变成0,而6个子集的却不一定能区分好。那么这个偏好是什么呢?思考一下如果我们能把集合分成100份,那么是不是必然可以完美划分,如果 分成99份,那么熵最大是不是 1 99 ⋅ − 1 2 log ⁡ 1 2 \frac{1}{99}\cdot -\frac{1}{2}\log\frac{1}{2} 99121log21,即最多只有1份 ==可能被划分错误。我们可以借此可以推测(不想证明只能直觉理解)==随着子集数量的增多,我们的熵的期望是逐渐下降的。

  4. CART回归树的生成:

    • 首先得明确几个概念。回归树中,实际真实输出应该是一个连续性变量,而我们划分出来的输入空间对应的是一个固定值,损失函数是平方误差,即上述连续性变量和固定值之间的计算。

    • 对于已经划分好的输入空间,其实我们的误差已经是确定了的,就是将对应的连续性输出取均值后作为预测的输出,关键的问题在于如何对输入空间进行划分。

    • cart算法中使用的是启发式算法,个人理解是这个方法就是:在固定输入变量维度 j 的情况下,从初始点 s 出发,朝误差降低的方向移动,到了低谷就停下,将这个 ( j , s )对记录下来,遍历所有维度,从这些 ( j , s ) 对中找到最低的点。这个方法容易陷入局部最优解。下面是固定输入维度求解的具体公式
      min ⁡ j , s [ min ⁡ c 1 ∑ x ∈ R 1 ( j , s ) ( y i − c 1 ) 2 + min ⁡ c 2 ∑ x ∈ R 2 ( j , s ) ( y i − c 2 ) 2 ] \min _{j, s}\left[\min _{c_{1}} \sum_{x \in R_{1}(j, s)}\left(y_{i}-c_{1}\right)^{2}+\min _{c_{2}} \sum_{x \in R_{2}(j, s)}\left(y_{i}-c_{2}\right)^{2}\right] j,sminc1minxR1(j,s)(yic1)2+c2minxR2(j,s)(yic2)2

    • 其中c1和c2是通过当前s划分之后的区域均值,因为这样计算数值上来说 ∑ x ∈ R 1 ( j , s ) ( y i − c 1 ) 2 \sum_{x \in R_{1}(j, s)}\left(y_{i}-c_{1}\right)^{2} xR1(j,s)(yic1)2最小.

问题
  1. 回归树中启发式算法的求解公式并不能使用梯度下降来求解,因为点是离散的,函数不具有可导性,那么这个启发式算法是如何调节s的呢?排序之后找最近的节点作为划分吗?
  2. CART的剪枝过程看不太懂,不想看了,留着以后补充

第六章:逻辑斯蒂回归与最大熵模型

数学推导

1. 泛化误差上界证明:

  • 首先一个重要的公式是基于大数定律的Hoeffding不等式(不知道怎么来的,用就完了),其中Sn是N个独立分布X的和,ESn是期望和,[ai,bi]是X的取值范围。
    P ( E S n − S n ≥ t ) ≤ exp ⁡ ( − 2 t 2 ∑ i = 1 n ( b i − a i ) 2 ) , t > 0 P\left(E S_{n}-S_{n} \geq t\right) \leq \exp \left(\frac{-2 t^{2}}{\sum_{i=1}^{n}\left(b_{i}-a_{i}\right)^{2}}\right) \quad, \quad t>0 P(ESnSnt)exp(i=1n(biai)22t2),t>0

  • 将Sn定义为误差函数的累计,则Sn/N是经验误差,ESn/N是期望误差, 如果损失函数取值范围是[0,1],那么上式就转化为了
    P ( R ( f ) − R ^ ( f ) ≥ ε ) ≤ exp ⁡ ( − 2 N ε 2 ) , ε > 0 P(R(f)-\hat{R}(f) \geq \varepsilon) \leq \exp \left(-2 N \varepsilon^{2}\right) \quad, \varepsilon>0 P(R(f)R^(f)ε)exp(2Nε2),ε>0

  • 可以看到,单个函数泛化误差与经验误差的差值大于 ϵ \epsilon ϵ 的概率小于或等于一个数值,那么整个函数空间d存在一个函数使得差值大于的 ε \varepsilon ε 概率则为这些概率值的组合,具体计算不清楚,但是可以肯定的是这个概率小于或等于子概率的和,所以就有了下面的推导
    P ( ∃ f ∈ F : R ( f ) − R ^ ( f ) ≥ ε )   = p ( ⋃ { R ( f ) − R ^ ( f ) ≥ ε } ) ≤ ∑ f ∈ F P ( R ( f ) − R ^ ( f ) ≥ ε )   ≤ d ⋅ exp ⁡ ( − 2 N ε 2 ) \begin{array}{l}{P(\exists f \in F: R(f)-\hat{R}(f) \geq \varepsilon)} \ {=p(\bigcup\{R(f)-\hat{R}(f) \geq \varepsilon\})} \\ {\leq \sum_{f \in F} P(R(f)-\hat{R}(f) \geq \varepsilon)} \ {\leq d \cdot \exp \left(-2 N \varepsilon^{2}\right)}\end{array} P(fF:R(f)R^(f)ε) =p({R(f)R^(f)ε})fFP(R(f)R^(f)ε) dexp(2Nε2)

  • 进行大小于符号的一些等价变换,我们可以得到 P ( R ( f ) − R ^ ( f ) < ε ) ≥ 1 − d ⋅ exp ⁡ ( − 2 N ε 2 ) P(R(f)-\hat{R}(f)<\varepsilon) \geq 1-d \cdot \exp \left(-2 N \varepsilon^{2}\right) P(R(f)R^(f)<ε)1dexp(2Nε2) ,令1后面的那一块为 δ \delta δ ,我们可以使用 δ \delta δ 来表示 ε \varepsilon ε .所以我们可以得到结论:至少有1- δ \delta δ 的概率使得 R ( f N ) < R ^ ( f N ) + ε ( d , N , δ ) R\left(f_{N}\right)<\hat{R}\left(f_{N}\right)+\varepsilon(d, N, \delta) R(fN)<R^(fN)+ε(d,N,δ) , ε \varepsilon ε由括号中的三个参数计算得到。我们可以根据具体情况需要的置信度来选择 δ \delta δ. 其中 ε ( d , N , δ ) = 1 2 N ( log ⁡ d + log ⁡ 1 δ ) \varepsilon(d, N, \delta)=\sqrt{\frac{1}{2 N}\left(\log d+\log \frac{1}{\delta}\right)} ε(d,N,δ)=2N1(logd+logδ1)

2. 后验概率最大化的含义,朴素贝叶斯背后的女人

  • 假设选择的是0-1损失函数
    L ( Y , f ( X ) ) = { 1 , Y ≠ f ( X ) 0 , Y = f ( X ) L(Y, f(X))=\left\{\begin{array}{ll}{1,} & {Y \neq f(X)} \\ {0,} & {Y=f(X)}\end{array}\right. L(Y,f(X))={1,0,Y=f(X)Y=f(X)

  • f(X)是分类决策函数,期望风险函数由于是对联合分布取的,所以期望风险函数为

R e x p ( f ) = E [ L ( Y , f ( X ) ) ] = ∫ χ × y L ( y , f ( x ) ) P ( x , y ) d x d y R_{e x p}(f)=E[L(Y, f(X))]=\int_{\chi \times y} L(y, f(x)) P(x, y) d x d y Rexp(f)=E[L(Y,f(X))]=χ×yL(y,f(x))P(x,y)dxdy

  • 将联合概率分布拆分成条件概率分布和先验概率分布的乘积

R e x p ( f ) = ∫ x ∫ y L ( y , f ( x ) ) P ( y ∣ x ) P ( x ) d x d y = ∫ x ( ∫ y L ( y , f ( x ) ) P ( y ∣ x ) d y ) P ( x ) d x \begin{aligned}R_{e x p}(f)&=\int_{x} \int_{y} L(y, f(x)) P(y | x) P(x) d x d y \\ &= \int_{x}\left(\int_{y} L(y, f(x)) P(y | x) d y\right) P(x) d x\end{aligned} Rexp(f)=xyL(y,f(x))P(yx)P(x)dxdy=x(yL(y,f(x))P(yx)dy)P(x)dx

  • 书中取得条件期望就是上式。进行的处理是对y离散化以及把外层积分写成了 E x E_x Ex .

R e x p ( f ) = E x ∑ k = 1 K [ L ( c k , f ( X ) ) ] P ( c k ∣ X ) R_{\mathrm{exp}}(f)=E_{x} \sum_{k=1}^{K}\left[L\left(c_{k}, f(X)\right)\right] P\left(c_{k} | X\right) Rexp(f)=Exk=1K[L(ck,f(X))]P(ckX)

  • 基于条件独立性的假设(就是基于条件y产生n维向量x的概率等于各个维度基于条件y产生 x i x_i xi的概率的乘积),通俗的讲就是各个维度的特征互不影响,因此我们只需要逐个对样本x的损失进行极小化
    f ( x ) = arg ⁡ min ⁡ y ∈ y ∑ k = 1 K L ( c k , y ) P ( c k ∣ X = x ) = arg ⁡ min ⁡ y ∈ y ∑ k = 1 K P ( y ≠ c k ∣ X = x ) = arg ⁡ min ⁡ y ∈ Y ( 1 − P ( y = c k ∣ X = x ) ) = arg ⁡ max ⁡ y ∈ y P ( y = c k ∣ X = x ) \begin{aligned} f(x) &=\arg \min _{y \in y} \sum_{k=1}^{K} L\left(c_{k}, y\right) P\left(c_{k} | X=x\right) \\ &=\arg \min _{y \in y} \sum_{k=1}^{K} P\left(y \neq c_{k} | X=x\right) \\ &=\arg \min _{y \in \mathcal{Y}}\left(1-P\left(y=c_{k} | X=x\right)\right) \\ &=\arg \max _{y \in y} P\left(y=c_{k} | X=x\right) \end{aligned} f(x)=argyymink=1KL(ck,y)P(ckX=x)=argyymink=1KP(y=ckX=x)=argyYmin(1P(y=ckX=x))=argyymaxP(y=ckX=x)

  • 到此为止,我们得到了朴素贝叶斯优化目标的公式(最大化后验概率),之后就是通过全概率公式对其进行转化为求取先验概率和条件概率乘积的最大化问题。

可用结论

  1. 待补充

感想

  1. 待补充
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值