一切为了数据挖掘的准备
1.统计学习方法概论
1.1概念
- 机器学习的分类
- 监督学习:从给定的训练数据集中学习处一个函数。训练集要求包括输入和输出,特征和目标。常见的监督学习有回归分析和统计分类(连续/离散)
- 无监督学习:训练集没有认为标注的结果。常见的有据类。
- 半监督学习:介于监督学习和半监督学习之间
- 增强学习:通过观察学习做成动作。每个动作都会对环境有所影响。学习对象根据观察到的周围环境的反馈来做出判断。
- 假设空间:假设要学的模型属于某个函数的集合,模型可以将输入空间映射到输出空间,这个集合称为假设空间。需要从假设空间选取一个最优的模型,使其在给定的评价准则下对已知数据有最优的预测。
- 统计学习三要素:模型(模型的假设空间)、策略(评价模型)、算法(模型的学习算法)
- 输入/输出空间:在监督学习中,将输入与输出所有可能取值的集合分别称为输入空间、输出空间。
- 特征空间:每个具体的输入是一个实例,通常由特征向量表示。所有特征向量存在的空间为特征空间。
- 数学表达:
- 输入变量X,输出变量Y。
- 输入变量X所取的值x,输出变量的取值y。
x=(x(1),x(2),⋯,x(i),⋯,x(n))T,
x(i)为第i个特征。
-
xi是第i个输入。
- 训练集表示为:
T=(x1,y1),(x2,y2),⋯,(xN,yN)
- 预测问题:
- 回归问题:输入输出都连续
- 分类问题:输出有限离散变量
- 标注问题:输入输出都是变量序列,
- 监督学习的模型可以是概率模型或非概率模型,由条件概率分布
P(Y∣X)或决策函数
Y=f(X)表示
- 泛化能力:学习方法对未知数据的预测能力称为泛化能力
- 过拟合:学习时的模型包含参数过多,对已知数据预测的很好,对未知数据预测差
1.2.统计学习三要素
假设空间
- 决策函数的集合:
F={f∣Y=f(X)},此时F通常是一个参数向量决定的函数族
F={f∣Y=fθ(X)}
- 条件概率的集合:
F={P∣Pθ(Y∣X)},此时F通常是一个参数向量决定的概率分布族
策略
- 损失函数:度量预测错误的程度,是f(X)(预测值) 和 Y(实际值)的非负实值函数,L( Y , f(X));
- 0-1损失函数
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) |$
- 对数损失函数
L(Y,P(Y∣X))=−logP(Y∣X)
- 风险函数/期望损失:损失函数的期望
Rexp(f)=E[L(Y,f(X))]=∫L(Y,f(X))P(Y∣X)dxdy,是模型关于联合分布的平均损失
- 经验风险/经验损失:
Remp=N1∑i=1NL(yi,f(xi)),是训练数据集的平均损失,当N趋于无穷时,经验风险趋于期望风险.经验风险最小化等价于极大似然估计。
- 结构风险:
R=N1∑i=1NL(yi,f(xi))+λJ(f)。结构风险最小化等价于最大后验概率估计。
-
J(f):表示模型复杂度的正则化项或惩罚项
-
λ:权衡经验风险和复杂度
- 经验风险最小化:
minN1∑i=1NL(yi,f(xi))
- 结构风险最小化:
minN1∑i=1NL(yi,f(xi))+λJ(f)
算法
求解最优化问题的算法
1.3.正则化与交叉验证
1.4.泛化误差上界
- 泛化误差:如果学到的模型是
f^,那么用这个模型对未知数预测的误差为泛化误差。
Rexp(y^)=Ep[L(Y,f^(X))]=∫L(Y,f^(X))P(x,y)dxdy.泛化误差反映了泛化能力,也是学习到模型的期望风险。
- 泛化误差上界:泛化误差概率的上界。
T=(x1,y1),(x2,y2),⋯,(xN,yN),假设空间是函数的有限集合
F={f1,f2,⋯,fd,}d是函数的个数,假设f是从F中选取的函数,损失函数是0-1损失,有关f的期望风险和经验风险是:
R(f)=E[L(Y,f(X))]
R^(f)=N1i=1∑NL(yi,f(xi))
对于函数f,至少以概率
1−δ,以下不等式成立
R(f)⩽R^(f)+ϵ(d,N,δ)
ϵ(d,N,δ)=2N1(logd+logδ1)
第一项是训练误差,训练误差越小,泛化误差越小;训练集N越大,泛化误差越小;假设空间包含的函数越多,d越大,值越大。
- 证明:
设有随机变量
X1,X2,⋯,Xn,
Sn=∑Xi,
Xi∈[ai,bi],对任意t>0,一下不等式成立
P(Sn−ESn⩾t)⩽exp(∑(bi−ai)2−2t2)
对于任意函数
f∈F,如果损失函数,取值范围[0,1],由于
R^(f)=N1∑Li,以下不等式成立
P(R(f)−R^(f)⩾ϵ)⩽exp(∑(1−0)2−2(Nϵ)2)=exp(−2Nϵ2)
对于有限集合
F={f1,f2,⋯,fd,},想要计算所有函数
R(f)−R^(f)⩽ϵ的概率,可以计算对立事件:存在某个函数f满足
R(f)−R^(f)⩾ϵ条件的概率(即函数f1满足该条件或函数f2满足该条件… ,当事件AB独立时
P(A⋃B)=P(A)+P(B)):
P(∃f∈F:P(R(f)−R^(f)⩾ϵ)
=P((R(f1)−R^(f1)⩾ϵ)⋃(R(f2)−R^(f2)⩾ϵ)⋃⋯⋃(R(fN)−R^(fN)⩾ϵ))
=P(R(f1)−R^(f1)⩾ϵ)+P(R(f2)−R^(f2)⩾ϵ)+⋯+P(R(fN)−R^(fN)⩾ϵ)
=dP(R(fi)−R^(fi)⩾ϵ)⩽dexp(−2Nϵ2)
P(∀f∈F:P(R(f)−R^(f)⩽ϵ)⩾dexp(−2Nϵ2)
令
δ=dexp(−2Nϵ2),则
ϵ=2N1(logd+logδ1)
,R(f)⩽R^(f)+ϵ
1.5.生成模型/判别模型
- 监督学习的方法:生成方法,判别方法
- 生成方法:由数据学习联合概率分布,求出条件概率分布作为预测模型:
P(Y∣X)=P(X)P(Y,X).
- 模型表示了给定输入X产生输出Y的生成关系
- 收敛速度快,存在隐变量
- 典型的生成模型:朴素贝叶斯、隐马尔科夫模型
- 判别方法:由数据直接学习决策函数f(X)或条件概率分布P(Y|X)做预测的模型。
- 典型的判别模型:k临近法,感知机、决策树、逻辑斯谛回归模型、最大熵模型、支持向量机、提升方法和条件随机场)
1.6.分类问题
- 正类:关注的类; 负类:其他类
- tp:正类预测为正类
- fn:正类预测为负类
- fp:负类预测为正类
- tn:负类预测为负类
- 精确率:
P=tp+fptp,预测结果为正类的准确率
- 召回率:
R=tp+fntp,实际为正类的实例中预测的准确率
1.7.一个极大似然估计和贝叶斯估计的实例
假设数据
x1,x2,⋯,xn来自正态分布
N(μ,σ2),
σ已知
-
根据样本计算
μ的极大似然估计。
f(x)=2π
σ1e−2σ2(x−μ)2
L=i=1∏n2π
σ1e−2σ2(xi−μ)2=(2πσ2)−2ne−2σ21∑i=1n(xi−μ)2
∂μ∂L=(2πσ2)−2ne−2σ21∑i=1n(xi−μ)2σ21i=1∑n(xi−μ)=0
μ^=n1∑xi
-
假设
μ的先验分布是正态分布
N(μ,t2),根据样本计算
μ的贝叶斯估计
π(μ)=2π
t1e−2t2μ2
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−2t2μ2i=1∏ne−2σ2(xi−μ)2=e−2σ21∑i=1n(xi−μ)2−2t2μ2
L=e−2σ21∑i=1n(xi−μ)2−2t2μ2
∂μ∂L=L(σ21i=1∑n(xi−μ)−t2μ)=0
μ^=nt2+σ2t2∑xi