机器学习:李航 统计学习方法 笔记

詹令
[email protected]
2017.12.19


待整理

统计学习方法

  • 监督学习
  • 非监督学习
  • 半监督学习
  • 强化学习

监督学习方法

  • 生成方法 Generative Approach:
    P ( Y ∣ X ) = P ( X , Y ) P ( X ) P(Y|X) = \frac{P(X,Y)}{P(X)} P(YX)=P(X)P(X,Y)

    • 朴素贝叶斯模型
    • 隐式马尔科夫模型
  • 判别方法 Discrimitive Approach:

    • k近邻/knn
    • 线性分类模型
      • 感知机
    • 决策树
    • 对数线性分类模型
      • logistic regression
      • 最大熵模型 maximun entropy model
    • 支持向量机
    • 提升方法
    • 条件随机场

统计学习方法三要素

对于统计学习方法中的监督学习,包含有以下三个要素。对于非监督学习,强化学习也同样拥有这三要素。

机器学习的定义:如果一个计算机程序针对某类任务T的用P衡量的性能根据经验E来自我完善。那么我们称这个计算机程序在从经验E中学习,针对某类任务T,它的性能用P来衡量。
– Machine Learning Tom M. Mitchell

李航 Tom Mitchell
数据集 经验E
模型 任务T
策略 性能P
算法

模型

模型:从输入到输出的映射

  • 概率模型:条件概率分布
    P ( Y ∣ X ) P(Y|X) P(YX)
  • 非概率模型:决策函数(decision function) Y = f ( X ) Y=f(X) Y=f(X)

模型的假设空间(hypothesis space):所有可能的模型(输入到输出的映射)的集合

F = { f ∣ Y = f ( X ) } \mathcal{F} =\lbrace \mathcal{f} | Y=f(X) \rbrace F={fY=f(X)}

这是 F \mathcal{F} F通常是由一个参数向量 θ \theta θ决定的函数簇:

F = { f ∣ Y θ = f θ ( X ) , θ ∈ R n } \mathcal{F} =\lbrace \mathcal{f} | Y_{\theta} = f_{\theta} (X), \theta \in R^n \rbrace F={fYθ=fθ(X),θRn}

策略

策略就是选择恰当的风险最小化函数(也就是损失函数关于联合概率分布的期望)的估计。

先介绍相关概念。

损失函数 loss function

也称为代价函数 cost function

  • 度量模型一次预测的好坏
常见的损失函数

0-1损失函数

L ( Y , P ( Y ∣ X ) ) = { 1 , Y ! = f ( X ) 0 , Y = f ( X ) L(Y, P(Y|X)) = \begin{cases} 1, & Y!=f(X) \\ 0, & Y=f(X) \end{cases} L(Y,P(YX))={1,0,Y!=f(X)Y=f(X)

平方损失函数 quadratic loss function

L ( Y , P ( Y ∣ X ) ) = ( Y − f ( X ) ) 2 L(Y, P(Y|X)) = (Y-f(X))^2 L(Y,P(YX))=(Yf(X))2

绝对损失函数

L ( Y , P ( Y ∣ X ) ) = ∣ Y − f ( X ) ∣ L(Y, P(Y|X)) = |Y-f(X)| L(Y,P(YX))=Yf(X)

对数损失函数/对数似然损失函数
log loss function/log-likehood function

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)

风险函数 和 经验风险函数

风险函数 Risk Funciton
  • 风险函数是损失函数 L ( y , f ( x ) ) L(y,f(x)) L(y,f(x))关于联合分布 P ( X , Y ) P(X,Y) P(X,Y)的期望
  • 风险函数risk funciton也称为期望损失expected loss/损失函数的期望
  • 度量模型平均意义下的好坏

R e x p ( f ) = E p [ L ( Y , f ( X ) ) ] = ∫ x y L ( y , f ( x ) ) P ( x , y ) d x d y R_{exp}(f) = E_p[L(Y, f(X))] = \int_{xy} {L(y,f(x))P(x,y)dxdy } Rexp(f)=Ep[L(Y,f(X))]=xyL(y,f(x))P(x,y)dxdy

在一般的学习过程中,
P ( X ∣ Y ) P(X|Y) P(XY)
是未知的, 所以期望损失 R e x p ( f ) R_{exp}(f) Rexp(f)是不可求的,一般用以下的 经验风险empirical risk来近似。

经验风险函数 Empirical Risk
  • 度量模型关于训练集的平均损失
  • 当样本数量N足够大,经验风险函数趋于风险函数,学习效果好。

R e m p ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) R_{emp}(f) = \frac{1}{N} \sum_{i=1}^N { L(y_i,f(x_i)) } Remp(f)=N1i=1NL(yi,f(xi))

风险最小化

经验风险最小化 Empirical Risk Minimization - ERM

min ⁡ f ∈ F 1 N ∑ i = 1 N L ( y i , f ( x i ) ) \min_{f \in F} \frac{1}{N} \sum_{i=1}^N { L(y_i,f(x_i)) } fFminN1i=1NL(yi,f(xi))

样本数量足够大,经验风险最小化学习效果好。样本数量不够时,出现过拟合 over fitting。

当模型是条件概率分布
P ( Y ∣ X ) P(Y|X) P(YX)
,损失函数是对数损失函数,经验风险最小化等价于极大似然估计.

推导:todo
结构风险最小化 Structural Risk Minimization
  • (和经验风险最小化相比而言),结构风险最小化可以防止样本数量小时,出现过拟合。
  • 经验风险最小化的正则化 regulagization,添加一个惩罚项 λ J ( f ) \lambda J(f) λJ(f)
  • 正则化可以找到经验风险和模型复杂度同时小的模型

R s r m ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) R_{srm}(f) = \frac{1}{N} \sum_{i=1}^N { L(y_i,f(x_i)) } + \lambda J(f) Rsrm(f)=N1i=1NL(yi,f(xi))+λJ(f)

常见的惩罚项 J ( f ) J(f) J(f)

λ J ( f ) = λ 2 ∣ ∣ w ∣ ∣ 2 \lambda J(f) = \frac{\lambda}{2} {||w||}^2 λJ(f)=2λw2

∥ w ∥ \|w\| w表示 L 2 L_2 L2范数

λ J ( f ) = λ 2 ∣ ∣ w ∣ ∣ 1 \lambda J(f) = \frac{\lambda}{2} ||w||_1 λJ(f)=2λw1

∥ w ∥ 1 \|w\|_1 w1表示 L 1 L_1 L1范数

当模型是条件概率分布
P ( Y ∣ X ) P(Y|X) P(YX)
, 损失函数是对数损失函数,模型复杂度是模型的先验概率时, 结构风险最小化 等价于 贝叶斯估计的最大后验概率估计(Max posterior probability estimation, MAP)

推导:todo

策略小结

所谓的策略,就是选择恰当的风险最小化函数(也就是损失函数关于联合概率分布的期望)的估计。

策略 特例
风险最小 理想的学习的目标
经验风险最小 联合概率未知, 数据量大才有效,易过拟合 特例 极大似然估计
结构风险最小 经验风险最小的正则化(添加模型复杂度惩罚项),不易过拟合 特例 贝叶斯估计的最大后验概率估计

算法

目标函数的最优化。

  • 全局最优
  • 高效

概率可以有两种方法来计算

  • 极大似然估计法
  • 先验概率
  • 后验概率

概率论与数理统计 盛骤 参数估计

样本的似然函数
:固定样本观察值 x 1 , x 2 , . . . , x n x_1,x_2,...,x_n x1,x2,...,xn, 在 θ \theta θ 取值的可能范围 Θ \Theta Θ 内挑选时似然函数 KaTeX parse error: Undefined control sequence: \prad at position 43: …,x_n;\theta) = \̲p̲r̲a̲d̲_{i=1}^n {p(x_i… 达到最大值的 θ ^ \hat \theta θ^,作为参数 θ \theta θ 的估计值,即使 L ( x 1 , x 2 , . . . , x n ; θ ^ ) = m a x t h e t a ∈ Θ L ( x 1 , x 2 , . . . , x n ; θ ) L(x_1, x_2,...,x_n;\hat \theta) = max_{theta \in \Theta} L(x_1, x_2,...,x_n; \theta) L(x1,x2,...,xn;θ^)=maxthetaΘL(x1,x2,...,xn;θ)

则称 θ ^ \hat \theta θ^ θ \theta θ最大似然估计值

因为L(\theta)和ln(L(\theta))在同一theta出取得极值,因此theta的估计值也可从下式(对数似然方程)求得(更简单):

d l i ( L ( θ ) ) d θ = 0 \frac{dli(L(\theta))}{d\theta} = 0 dθdli(L(θ))=0

  • 贝叶斯估计
    todo

  • 先验概率

  • 后验概率

先验概率: P ( c i ) P(c_i) P(ci)

后验概率: P ( c i ∣ w ) P(c_i|w) P(ciw)
w w w 特征向量
c i c_i ci 分类

算法4.1 朴素贝叶斯算法

  1. 基于 极大似然估计或贝叶斯估计 计算先验概率及条件概率

  2. 对于给定的实例,计算

  3. 确定实例x的类

    KaTeX parse error: Expected '}', got 'EOF' at end of input: …^{(j)| Y = c_k)

KNN K近邻法

三要素确定后,k近邻法就确定了。其实完成了对特征空间的划分。

1. 距离度量

2. k值的选择
应用中,k值一般取比较小的值。通常采用交叉验证法来选取最优的k值。

3. 分类决策规则
多数表决规则 等价于 经验风险最小化。

k近邻法的实现:kdtree

todo

感知机 Perceptron

f ( x ) = s i g n ( w ∗ x + b ) f(x) = sign(w*x+b) f(x)=sign(wx+b)

s i g n ( x ) = + 1 , x > = 0 ; − 1 , x < 0 sign(x) = +1, x>=0; -1, x<0 sign(x)=+1,x>=0;1,x<0

损失函数L
连续可微
梯度
更新方式

  • w<-w+eta y_i x_i & b<-b+eta y_i
  • 由损失函数的梯度可得到更新方式,不是很理解

logistic regression 和 最大熵模型

二项logistic regression

模型

P ( Y = 1 ∣ x ) = e x p ( w ∗ x + b ) 1 + e x p ( w ∗ x + b ) P(Y=1|x) = \frac{exp(w*x+b)}{1+exp{(w*x+b)}} P(Y=1x)=1+exp(wx+b)exp(wx+b)

P ( Y = 0 ∣ x ) = 1 1 + e x p ( w ∗ x + b ) P(Y=0|x) = \frac{1}{1+exp{(w*x+b)}} P(Y=0x)=1+exp(wx+b)1

其中 x = ( x ( 1 ) , x ( 2 ) , x ( 3 ) . . . , x ( n ) ) T x=(x^{(1)}, x^{(2)}, x^{(3)}...,x^{(n)})^T x=(x(1),x(2),x(3)...,x(n))T, w = ( w ( 1 ) , w ( 2 ) , w ( 3 ) . . . , w ( n ) ) T w=(w^{(1)}, w^{(2)}, w^{(3)}...,w^{(n)})^T w=(w(1),w(2),w(3)...,w(n))T

也可写成

P ( Y = 1 ∣ x ) = e x p ( w ∗ x ) 1 + e x p ( w ∗ x ) P(Y=1|x) = \frac{exp(w*x)}{1+exp{(w*x)}} P(Y=1x)=1+exp(wx)exp(wx)

P ( Y = 0 ∣ x ) = 1 1 + e x p ( w ∗ x ) P(Y=0|x) = \frac{1}{1+exp{(w*x)}} P(Y=0x)=1+exp(wx)1

其中 x = ( x ( 1 ) , x ( 2 ) , x ( 3 ) . . . , x ( n ) , 1 ) T x=(x^{(1)}, x^{(2)}, x^{(3)}...,x^{(n)},1)^T x=(x(1),x(2),x(3)...,x(n),1)T, w = ( w ( 1 ) , w ( 2 ) , w ( 3 ) . . . , w ( n ) , b ) T w=(w^{(1)}, w^{(2)}, w^{(3)}...,w^{(n)},b)^T w=(w(1),w(2),w(3)...,w(n),b)T

二项logistic regression比较两个条件概率的大小,将实例x分到概率值较大的那一类。

策略:目标函数

对数极大似然估计

L ( w ) = ∑ i = 1 N [ y i ( w ∗ x i ) − l o g ( 1 + e x p ( w ∗ x i ) ] L(w) = \sum_{i=1}^N [y_i(w*x_i)-log(1+exp(w*x_i)] L(w)=i=1N[yi(wxi)log(1+exp(wxi)]

学习:求解目标函数的极小值

用梯度下降或者拟牛顿法

多项logistic regression

  • 用于多类分类

Y 的取值集合 1 , 2 , . . . , K {1,2,...,K} 1,2,...,K

P ( Y = k ∣ x ) = e x p ( w k ∗ x ) 1 + ∑ k = 1 K − 1 e x p ( w k ∗ x ) , k = 1 , 2 , . . . , K − 1 P(Y=k|x) = \frac{exp(w_k*x)}{1+\sum_{k=1}^{K-1}exp{(w_k*x)}}, k=1,2,...,K-1 P(Y=kx)=1+k=1K1exp(wkx)exp(wkx),k=1,2,...,K1

P ( Y = K ∣ x ) = 1 1 + ∑ k = 1 K − 1 e x p ( w k ∗ x ) P(Y=K|x) = \frac{1}{1+\sum_{k=1}^{K-1}exp{(w_k*x)}} P(Y=Kx)=1+k=1K1exp(wkx)1

这里 x ∈ R n + 1 , w k ∈ R n + 1 x \in R^{n+1}, w_k \in R^{n+1} xRn+1,wkRn+1



最大熵模型

todo

决策树 Decision Tree

  • 既可用于分类classify,也可用于回归 regression
  • 不太需要对数据进行预处理
  • 预测的复杂度是 logN, N是用于训练的数据的个数。
  • 对结果的决策过程可以用一连串if-then进行解释(白盒模型)

决策树学习的三个步骤:特征选择, 决策树生成, 决策树修剪

1. 特征选择

如果特征数量很多,可以只选择对训练数据有分类能力的特征。 (降维)
如果你用一个特征的进行分类的结果和随机分类的结果没有很大差别,则称这个特征没有分类能力
通常特征选择的准则是信息增益信息增益比

信息增益

熵 entropy
  • 随机变量不确定性的度量
  • 设随机变量X取有限个离散值的随机变量,其概率分布为 P ( X = x i ) = p i , i = 1 , 2 , . . . , n P(X=x_i) = p_i, i=1,2,...,n P(X=xi)=pi,i=1,2,...,n, 则随机变量X的熵定义为

H ( X ) = ∑ i = 1 n p i l o g p i H(X)=\sum_{i=1}^n{p_i log{p_i}} H(X)=i=1npilogpi

  • 又由上一点可见,只依赖与X的分布p 而和X的取值无关,故 熵可记为

H ( X ) = H ( p ) = ∑ i = 1 n p i l o g p i H(X)=H(p)=\sum_{i=1}^n{p_i log{p_i}} H(X)=H(p)=i=1npilogpi

  • 对于贝努力分布( P(X=1)=p, P(X=0)=1-p, 0<=p<=1 ),

H ( p ) = − p l o g 2 p − ( 1 − p ) l o g 2 ( 1 − p ) H(p) = -plog_2p-(1-p)log_2{(1-p)} H(p)=plog2p(1p)log2(1p)

条件熵 conditionary entropy

H ( Y ∣ X ) = ∑ i = 1 n P ( X = x i ) H ( Y ∣ X = x i ) H(Y|X) = \sum_{i=1}^n P(X=x_i)H(Y|X=x_i) H(YX)=i=1nP(X=xi)H(YX=xi)

H ( Y ∣ X = x i ) = ? H(Y|X=x_i) = ? H(YX=xi)=?

  • 经验熵,经验条件熵: 当熵和条件熵中的概率数据估计(特别是极大似然估计)得到时,所对应的熵与条件熵分别称为 经验熵 empirical entropy和经验条件熵 empirical conditional entropy。
信息增益
  • 信息增益表示 得知特征X的信息而使得类Y的信息的不确定性减少的程度。
  • 特征A 对 训练数据集D 的信息增益 g ( D , A ) g(D,A) g(D,A),定义为集合D的**经验熵H(D)与特征A给定条件下D的经验条件熵H(D|A)**之差,即

g ( D , A ) = H ( D ) − H ( D ∣ A ) g(D,A) = H(D) - H(D|A) g(D,A)=H(D)H(DA)

  • 使数据集D的信息增益 g ( D , A ) g(D,A) g(D,A)越大的特征A的分类能力越强。
信息增益比

g R ( D , A ) = H ( D ) − H ( D ∣ A ) H A ( D ) g_R(D,A) = \frac{H(D) - H(D|A)}{H_A(D)} gR(D,A)=HA(D)H(D)H(DA)

H A ( D ) ? 特 征 数 据 集 D 关 于 特 征 A 的 值 的 熵 H_A(D)? 特征数据集D关于特征A的值的熵 HA(D)?DA

概念汇总?没弄懂这几种熵的具体计算

H ( D ) H(D) H(D) 数据集D的经验熵

H ( D ) = − ∑ k = 1 K ∣ C k ∣ ∣ D ∣ l o g 2 C k D H(D) = -\sum_{k=1}^K \frac{|C_k|}{|D|} log_2{\frac{C_k}{D}} H(D)=k=1KDCklog2DCk

D最终被分成了K个类,
∣ C k ∣ |C_k| Ck
表示数据集D中属于第k个类的数量。

H A ( D ) H_A(D) HA(D) 数据集D关于特征A的值的熵

H A ( D ) = − ∑ i = 1 n ∣ D i ∣ ∣ D ∣ l o g 2 D i D H_A(D) = -\sum_{i=1}^n \frac{|D_i|}{|D|} log_2{\frac{D_i}{D}} HA(D)=i=1nDDilog2DDi

n为特征A的取值个数。

H ( D ∣ A ) H(D|A) H(DA)
数据集D在给定特征A下的经验条件熵

H ( D ∣ A ) = ∑ i = 1 n ∣ D i ∣ ∣ D ∣ H ( D i ) = − ∑ i = 1 n ∣ D i ∣ ∣ D ∣ ∑ k = 1 K ∣ D i k ∣ ∣ D ∣ l o g 2 D i k D i H(D|A) = \sum_{i=1}^n \frac{|D_i|}{|D|}H(D_i) = -\sum_{i=1}^n { \frac{|D_i|}{|D|} \sum_{k=1}^K \frac{|D_ik|}{|D|} log_2{\frac{D_ik}{D_i}} } H(DA)=i=1nDDiH(Di)=i=1nDDik=1KDDiklog2DiDik

2.决策树生成

ID3算法

  • 从根节点开始,对节点的所有可能的特征的计算其信息增益,选择信息增益最大的特征作为节点的特征,由该特征的不同取值建立子节点;在对子节点递归的调用以上方法,构建决策树;知道所有特征的信息增益均衡小或没有特征可以选择为止。最后得到一颗决策树。
  • ID3相当于用极大似然法进行概率模型的选择。?
  • 具体的:

3.决策树修剪

CART 算法

  • scikit-learn uses an optimised version of the CART algorithm.

https://www.cnblogs.com/yonghao/p/5135386.html

http://scikit-learn.org/stable/modules/tree.html

SVM

x 训练数据集 模型 学习策略 学习算法
线性可分支持向量机 线性可分 分离超平面 w ∗ ∗ x + b ∗ = 0 w^**x+b^*=0 wx+b=0及决策函数 f ( x ) = s i g n ( w ∗ ∗ x + b ∗ ) f(x)=sign(w^**x+b^*) f(x)=sign(wx+b) 硬间隔最大化 凸二次规划
线性支持向量机 近似线性可分 分离超平面 w ∗ ∗ x + b ∗ = 0 w^**x+b^*=0 wx+b=0及决策函数 f ( x ) = s i g n ( w ∗ ∗ x + b ∗ ) f(x)=sign(w^**x+b^*) f(x)=sign(wx+b) 软间隔最大化 凸二次规划
非线性支持向量机 线性不可分 软间隔最大化

线性可分支持向量机 Linear Support Vector Machine in Linearly Seperately Case

模型

策略

算法

凸二次规划问题 Convex Quadratic Programming
todo

预处理-数据降维-PCA 主成分分析

https://www.cnblogs.com/steed/p/7454329.html

提升方法 Boosting

提升方法: 从弱学习算法出发,反复学习,得到一些列弱分类器(又称为基本分类器),然后组合这些弱分类器,构成一个强分类器。

两个问题

  • 在每一轮如何改变训练数据的权值或概率分布(针对不同的分布来学习弱分类器)
  • 如何将弱分类器组合成一个强分类器

Adaboost

  • 提高那些被前一轮弱分类器错误分类样本的权值
  • 弱分类器的误差率和权重成正比

Adaboost

有代表性的提升算法。基本分类器不定。

提升树 Boosting Tree

提升树: 以决策树为基本分类器的提升方法.

f M ( x ) = ∑ m = 1 M T ( x ; θ m ) f_M(x) = \sum_{m=1}^M T(x;\theta_m) fM(x)=m=1MT(x;θm)

T ( x ; θ m ) 决 策 树 , θ m 决 策 树 参 数 , M 表 示 树 的 颗 数 T(x;\theta_m) 决策树, \theta_m 决策树参数, M表示树的颗数 T(x;θm),θmM

决策树

  • 二叉分类树:分类问题
  • 二叉回归树:回归问题

EM算法

似然

似然函数
极大似然估计

reference 周志华 机器学习 p148 149

https://www.zhihu.com/question/54082000

http://blog.csdn.net/fwing/article/details/4850068

https://www.cnblogs.com/zhsuiy/p/4822020.html

http://blog.csdn.net/sunlylorn/article/details/19610589

https://www.zhihu.com/question/26201440

http://blog.sciencenet.cn/blog-520608-703219.html

http://blog.csdn.net/guohecang/article/details/52313046

https://baike.baidu.com/item/%E4%BC%BC%E7%84%B6%E5%87%BD%E6%95%B0/6011241?fr=aladdin

L(θ|x)=f(x|θ)这个等式表示的是对于事件发生的两种角度的看法。其实等式两遍都是表示的这个事件发生的概率或者说可能性。再给定一个样本x后,我们去想这个样本出现的可能性到底是多大。统计学的观点始终是认为样本的出现是基于一个分布的。那么我们去假设这个分布为f,里面有参数theta。对于不同的theta,样本的分布不一样。f(x|θ)表示的就是在给定参数theta的情况下,x出现的可能性多大。L(θ|x)表示的是在给定样本x的时候,哪个参数theta使得x出现的可能性多大。所以其实这个等式要表示的核心意思都是在给一个theta和一个样本x的时候,整个事件发生的可能性多大。就写这么多吧!希望你能够明白。明天给学生讲课也顺便讲讲。哈哈!

作者:冯龙
链接:https://www.zhihu.com/question/54082000/answer/138115757
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

http://www.jianshu.com/p/1c6efdbce226


Machine Learning - Andrew NG

  • Part 0: Supervised Learning

  • Part 1: Learning Theory

  • Part 2: Unsupervised Learning

    • 例子
      • 基因数据
      • 图像划分
      • Cocktail party problem:
      • ICA Algorithm
  • Part 3: Reinforcement Learning

要经过一系列的判断才做出最终的决定。

  • 机器人控制: 直升机/机器狗/机器人/车辆

基本的机器学习算法就像木匠的锤子和锯子,牛逼的木匠可以用锤子和锯子做出美妙的作品,类似的,基本的机器学习算法也可以被巧妙地应用

Supervised Learning

Linear Regression   
|\  
| \   
|   locally weighted regression (非常流行)  
|  
Probabilittic interpretation of Linear Regression  
|  
|  
|  
logistic regression  
|\  
| \  
|  \  
|   perceptron  
|  
Newton's Method  

linear regression

例子 房价预测

size, bedroom -> 房价

Model

linear regression

h ( x ) = Θ T x h(x) = \Theta^Tx h(x)=ΘTx

Θ 表 示 p a r a m e t e r s \Theta 表示 parameters Θparameters

策略

min ⁡ Θ 1 2 ∑ i = 1 m ( h Θ ( x ( i ) ) − u ( i ) ) 2 \min_{\Theta}\frac{1}{2}\sum_{i=1}^m (h_{\Theta}(x^{(i)})-u^{(i)})^2 Θmin21i=1m(hΘ(x(i))u(i))2

let J ( Θ ) = 1 2 ∑ i = 1 m ( h Θ ( x ( i ) ) − u ( i ) ) 2 J(\Theta) = \frac{1}{2}\sum_{i=1}^m (h_{\Theta}(x^{(i)})-u^{(i)})^2 J(Θ)=21i=1m(hΘ(x(i))u(i))2
=>

min ⁡ T h e t a J ( Θ ) \min_{Theta} J(\Theta) ThetaminJ(Θ)

算法

Batch Gradient Descent:

第i个特征
?
Θ i : = Θ i − α d d Θ i J ( Θ ) \Theta_i := \Theta_i - \alpha \frac{d}{d\Theta_i}J(\Theta) Θi:=ΘiαdΘidJ(Θ)

Θ i : = Θ i − α ∑ j = 1 m ( h Θ ( x ( j ) ) − y ( j ) ) ∗ x i ( j ) \Theta_i := \Theta_i - \alpha \sum_{j=1}^m ( h_{\Theta} ( x^{(j)}) - y^{(j)} ) * x_i^{(j)} Θi:=Θiαj=1m(hΘ(x(j))y(j))xi(j)

板书时
a:=b 把b赋给a
a=b 进行真值判断

SGD

Repeat {
For j=1 to m {

Θ i : = Θ i − α ( h Θ ( x ( j ) ) − y ( j ) ) ∗ x i ( j ) \Theta_i := \Theta_i - \alpha ( h_{\Theta} ( x^{(j)}) - y^{(j)} ) * x_i^{(j)} Θi:=Θiα(hΘ(x(j))y(j))xi(j)

}
}

∇ θ \nabla_{\theta} θ

∇ A f ( A ) \nabla_A{f(A)} Af(A)

t r A trA trA

Fact:
trAB = trAB
trABC = trCBA = trBCA


class 2

过拟合 overfitting

二维x-y样本点,用不同阶的函数进行拟合,阶数过低出现underfit, 阶数过高可能出现overfitting

参数选择

  • PCA?

参数学习算法 parametric learning algorithm

  • fixed set of parameters

非参数学习算法 non-parametric learning algorithm

  • # of parameters grows with m(size of train set)
  • 即使训练后,算法依然需要跑遍整个训练集
  • KNN?
  • locally weighted regression

locally weighted regression/Loess

  • 不用考虑特征选择?
  • 属于非参数学习算法,每次predict都要遍历整个训练集
  • 对要预估的x附近的训练集进行linear regression,之后基于这个linear regression对x进行predict
  • linear regression时的每个样本点和x的平方差的权重是基于样本点的x的距离关于高斯函数计算出来的

w ( i ) = e x p ( − ( x ( i ) − x ) 2 τ 2 ) w^{(i)} = exp(-\frac{(x^{(i)} - x)}{2{\tau} ^2}) w(i)=exp(2τ2(x(i)x))

  • 被用于了直升机的控制

Probabilistic interpretation of Linear Regression

从概率论说明使用最小二乘法的作为linear regression的策略理由
证明极大似然估计在误差是高斯分布和IID的假设下,等价于最小二乘法

/*
            1                 2                 3
 风险最小化 ---> 经验风险最小化 ---> 极大似然估计  ---> 最小二乘法
                            | 4                 5
                            ----> 结构风险最小化 ---> 贝叶斯估计的最大后验概率估计
           
 1. 联合概率未知,数据量大, 易过拟合
 2. 模型是**条件概率分布** $$P(Y\|X)$$,损失函数是**对数损失函数**
 3. 极大似然估计在误差是高斯分布和IID的假设下,等价于最小二乘法
 4. 经验风险最小的**正则化**(添加模型复杂度惩罚项),不易过拟合 
 5. ?
*/

assume y i = Θ T x ( i ) + ϵ ( i ) y^i = \Theta^T x^{(i)} + \epsilon^{(i)} yi=ΘTx(i)+ϵ(i)

=>

ϵ ( i ) = y i − Θ T x ( i ) \epsilon^{(i)} = y^i - \Theta^T x^{(i)} ϵ(i)=yiΘTx(i)

其中 ϵ \epsilon ϵ表示error,符合高斯分布 σ 表 示 \sigma 表示 σ deviation。

KaTeX parse error: Double superscript at position 78: …(\epsilon^{(i)}^̲2)}{2\sigma^2} …

=>

P ( y ( i ) ∣ x ( i ) ; Θ ) P(y^{(i)} | x^{(i)};\Theta) P(y(i)x(i);Θ)

= 1 2 π σ e x p ( − ( y ( i ) − Θ T x ( i ) ) 2 2 σ 2 ) = \frac{1}{\sqrt{2\pi} \sigma} exp(-\frac{ (y^{(i)} - \Theta^Tx^{(i)} )^2 }{2\sigma^2} ) =2π σ1exp(2σ2(y(i)ΘTx(i))2)

y ( i ) ∣ x ( i ) ; θ   N ( Θ T x ( i ) , σ 2 ) y^{(i)}| x^{(i)};\theta ~ N(\Theta^Tx^{(i)}, \sigma^2) y(i)x(i);θ N(ΘTx(i),σ2)

theta前的;说明theta不是作为随机变量,而是作为这个概率函数的已知参数

似然函数

L ( Θ ) L(\Theta) L(Θ)表示 Θ \Theta Θ的似然函数

  • the probability of data Y given X and prioritized by theta.
  • 和概率很接近,也很容易混淆
  • 似然函数主要强调 Y概率是以 Θ \Theta Θ为参数的函数
  • likehood of the parameter ( Θ \Theta Θ)
  • probability of the data ()

P ( ϵ ( i ) ) = P ( y ( i ) ∣ x ( i ) ; Θ ) P(\epsilon^{(i)}) = P(y^{(i)} | x^{(i)};\Theta) P(ϵ(i))=P(y(i)x(i);Θ)

开始证明:

似然函数

L ( Θ ) = P ( Y ∣ X ; Θ ) \color{red}{ L(\Theta) = P(Y | X;\Theta) } L(Θ)=P(YX;Θ)

error term are IID(independentlly identically distributed )

(m training examples were generated independently)

= ∏ i = 1 m P ( y ( i ) ∣ x ( i ) ; Θ ) = \prod_{i=1}^m P(y^{(i)} | x^{(i)};\Theta) =i=1mP(y(i)x(i);Θ)

assume ϵ \epsilon ϵ 的各个分量 e p s i l o n ( i ) epsilon^{(i)} epsilon(i)的误差项服从相同的高斯分布

= = =

极大似然: 选择参数 Θ \Theta Θ 使得数据出现的可能性尽可能大。

choose theta to maximize L(theta) = P(Y|X,theta)

为了数学上的便利,定义 log likehood function

l ( t h e t a ) = l o g L ( t h e t a ) l(theta) = logL(theta) l(theta)=logL(theta)

= ∑ i = 1 l o g ( 1 ) = \sum_{i=1} log(\frac{1}{} ) =i=1log(1)

=> max l(theta)等价于 最小化 J

=> 最小化 J() ,也就是最小二乘法

证明完毕.

注意: 在证明中 假设error是 高斯分布, IID。

logistic regression

classification

y ∈ 0 , 1 y \in {0,1} y0,1

  • linear regression并不适用于分类 classification

g(z)

    /--
   /
--/

z = t h e t a T x z = theta^T x z=thetaTx

算法

  • gradient ascent

  • newton’s method

求 f ( Θ ) = 0 的 根 求 f(\Theta) = 0 的根 f(Θ)=0

Θ ( t + 1 ) = Θ ( t ) − f ( Θ ( t ) ) f ′ ( Θ ( t ) ) \Theta^{(t+1)} = \Theta^{(t)} - \frac{ f(\Theta^{(t)}) } { f^{'}(\Theta^{(t)}) } Θ(t+1)=Θ(t)f(Θ(t))f(Θ(t))

类似的,找对数似然函数的极值: l ( Θ ) w i t h Θ s u c h t h a t l ′ ( Θ ) = 0 l(\Theta) \quad with \quad \Theta \quad such \quad that \quad l^{'}(\Theta) = 0 l(Θ)withΘsuchthatl(Θ)=0

Θ ( t + 1 ) = Θ ( t ) − l ′ ( Θ ( t ) ) l ′ ′ ( ) Θ ( t ) \Theta^{(t+1)} = \Theta^{(t)} - \frac{l^{'}(\Theta^{(t)})}{l^{''}()\Theta^{(t)}} Θ(t+1)=Θ(t)l()Θ(t)l(Θ(t))

除了对logistic regression,牛顿法对于其他GLM的效果都不错?

如果 Θ \Theta Θ是向量:

Θ ( t + 1 ) = Θ ( t ) − H − 1 ∇ \Theta^{(t+1)} = \Theta^{(t)} - H^{-1}\nabla Θ(t+1)=Θ(t)H1

  • 较少迭代次数

perceptron

g(z)

  __
  |
__|

z = t h e t a T x z = theta^T x z=thetaTx

class 4:

Logistic Regression
- Newton's Method 见上一节笔记

Exponential Family

Generalized Linear Model(GLMs)

Generalized Linear Model(GLMs)

目前为止讲了两个
P ( y ∣ x , Θ ) P(y|x,\Theta) P(yx,Θ)的模型

y ∈ R , G a u s s i a n − − > L e a s t S q u a r e R e g r e s s i o n ( L i n e a r R e g r e s s i o n ? ) y \in R, Gaussian --> Least Square Regression(Linear Regression?) yR,Gaussian>LeastSquareRegression(LinearRegression?)

y ∈ { 0 , 1 } , B e r n o u l l i − − > L o g i s t i c R e g r e s s i o n y \in \{0, 1\}, Bernoulli --> Logistic Regression y{0,1},Bernoulli>LogisticRegression

以下将说明上述两个模型都是GLM的特例。

The exponential family

  • Bernoulli Dist
  • Gaussian Dist
The exponential family 的通用公式

p ( y ; η ) = b ( y ) e x p ( η T T ( y ) − a ( η ) ) p(y;\eta) = b(y)exp(\eta^T T(y) - a(\eta) ) p(y;η)=b(y)exp(ηTT(y)a(η))

其中:

η \eta η : natural parameter of the distribution

T ( y ) T(y) T(y):sufficient statistic? (大多数情况: T ( y ) = y T(y) = y T(y)=y)

a ( η ) a(\eta) a(η):log partition function

一组 T , a , b T,a,b T,a,b决定一组分布, 这组分布以 η \eta η为参数得到某一个具体的分布。

以下证明 Bernoulli Dist 和 Gaussian Dist 都可以由GLM的通用公式推出

Bernoulli Dist

B e r ( ϕ ) p ( y = 1 ; ϕ ) = ϕ Ber(\phi) p(y=1;\phi) = \phi Ber(ϕ)p(y=1;ϕ)=ϕ

GLM的形式

p ( y ; ϕ ) = ϕ y ( 1 − ϕ ) 1 − y p(y;\phi) = \phi^y(1-\phi)^{1-y} p(y;ϕ)=ϕy(1ϕ)1y

e x p ( ( l o g ( ϕ 1 − ϕ ) ) ) y + l o g ( 1 − ϕ ) exp((log(\frac{\phi}{1-\phi})))y + log(1-\phi) exp((log(1ϕϕ)))y+log(1ϕ)

==>

p ( y ; η ) = b ( y ) e x p ( η T T ( y ) − a ( η ) ) p(y;\eta) = b(y)exp(\eta^T T(y) - a(\eta) ) p(y;η)=b(y)exp(ηTT(y)a(η))

其中

T ( y ) = y T(y) = y T(y)=y

a ( η ) = l o g ( 1 + e η ) a(\eta) = log(1+e^{\eta}) a(η)=log(1+eη)

b ( y ) = 1 b(y) = 1 b(y)=1

Gaussian Dist

let σ 2 = 1 {\sigma}^2 = 1 σ2=1

p ( y ; μ ) = 1 2 π e x p ( − 1 2 ( y − μ ) 2 ) p(y;\mu) = \frac{1}{\sqrt{2\pi}} exp(-\frac{1}{2}(y-\mu)^2) p(y;μ)=2π 1exp(21(yμ)2)

GLM的形式

p ( y ; μ ) = 1 2 π e x p ( − 1 2 y 2 ) e x p ( μ y − 1 2 μ 2 ) p(y;\mu) = \frac{1}{\sqrt{2\pi}} exp(-\frac{1}{2}y^2) exp(\mu y - \frac{1}{2}{\mu}^2 ) p(y;μ)=2π 1exp(21y2)exp(μy21μ2)

==>

p ( y ; η ) = b ( y ) e x p ( η T T ( y ) − a ( η ) ) p(y;\eta) = b(y)exp(\eta^T T(y) - a(\eta) ) p(y;η)=b(y)exp(ηTT(y)a(η))

其中

η = μ \eta = \mu η=μ

T ( y ) = y T(y) = y T(y)=y

a ( η ) = η 2 / 2 a(\eta) = {\eta}^2/2 a(η)=η2/2

b ( y ) = ( 1 / 2 π ) e x p ( − y 2 / 2 ) b(y) = (1/\sqrt{2\pi})exp(-y^2/2) b(y)=(1/2π )exp(y2/2)

其他的The exponential family
  • The multinomial (which we’ll see later),
  • Poisson Distribution
    • (for modelling count-data; number of visitor)
    • 在特定情况下(天气,广告投放情况,节假日,促销等), 网站/店铺的访问量
  • the gamma and the exponential
    • (for modelling continuous, non-negative random variables, such as timeintervals);
  • the beta and the Dirichlet (for distributions over probabilities);

如何构建 Generalized Linear Model(GLMs)

统计学习三要素(模型,策略,算法) 之 模型

Assume or Design choices:

  1. y|x;\theta ~ ExpFamily
  2. Given x, goal is to output E[T(y)|x], want h(x) = E[T(y)|x]. mostly T(y) = y ==> h(x) = E[y|x]
  3. η = Θ T x \eta = \Theta^T x η=ΘTx ?
Multinomial

T ( y ) ! = y T(y)!=y T(y)!=y

y ∈ 1 , . . . , k y \in {1,...,k} y1,...,k

Parameters, \Pi_1

??

你可能感兴趣的:(机器学习,算法)