栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

【无标题】

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【无标题】

Chapter 1 统计学习与监督学习基础 统计学习 统计学习的特点
  1. 定义:统计学习(statistical learning or statistical machine learning),会利用计算机基于数据构建概率统计模型,并运用构建好的模型对数据进行预测和分析,并在利用算法“学习”的过程中不断的提高机器预测和分析的系统性能。
  2. 主要特点:
    (1) 研究平台:计算机及网络。
    (2) 研究对象:数据,所谓的数据驱动,具有一定统计规律的随机变量,分为离散变量和连续变量。
    (3) 研究目的:对数据进行预测和分析。同时考虑效率和效用。
    (4) 研究方法:概率论、统计学、信息论、计算理论、最优化理论及计算机科学等,也有独自的理论体系与方法论。可以概括为一句话:“利用学习的算法基于某种模型选择的准则来根据当前已有独立同分布数据从当前模型假设空间(可以理解为“学习的范围”)中选择出最优模型来对新数据进行预测和分析”。
统计学习的分类 基本分类
  1. 监督学习
    (1) 定义:从标注数据中学习预测模型,本质是学习输入到输出的映射的统计规律,从而达到利用训练集训练,进而对测试集进行预测的目的。
    (2) 输入和输出:
    输入和输出所有可能取值(连续或离散值,对应回归问题、分类问题)称为输入、输出空间。
    输入变量表示为:
    x = ( x ( 1 ) , x ( 2 ) , ⋯   , x ( i ) , ⋯   , x ( n ) ) T x = left(x^{(1)},x^{(2)},cdots,x^{(i)},cdots,x^{(n)}right)^T x=(x(1),x(2),⋯,x(i),⋯,x(n))T
    其中:
    x i = ( x i ( 1 ) , x i ( 2 ) , ⋯   , x i ( i ) , ⋯   , x i ( n ) ) T x_i = left(x^{(1)}_i,x^{(2)}_i,cdots,x^{(i)}_i,cdots,x^{(n)}_iright)^T xi​=(xi(1)​,xi(2)​,⋯,xi(i)​,⋯,xi(n)​)T
    这里要注意的就是前者括号中表示特征,后者括号中表示第 i i i 个体征的某一变量。
    (3) 联合概率分布
    训练数据与测试数据被看作依联合概率分布 P ( X , Y ) P(X,Y) P(X,Y) 产生的。统计学习假设数据存在一定的统计规律, X X X 和 Y Y Y 具有联合概率分布就是监督学习关于数据的基本假设。 [如何理解这一基本假设]
    (4) 监督学习的模型
    概率模型
    P ( Y ∣ X ) 或 P ( y ∣ x ) P(Y|X)或P(y|x) P(Y∣X)或P(y∣x)
    非概率模型
    Y = f ( X ) 或 y = f ( x ) Y = f(X)或y = f(x) Y=f(X)或y=f(x)
    (5) 学习过程
    首先给定训练数据集
    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​),}
    其中 ( x i , y i ) (x_i,y_i) (xi​,yi​)成为样本或样本点。 x i ∈ X ⊂ R n x_i in mathcal{X} sub mathbf{R}^n xi​∈X⊂Rn是输入的观测值(输入), y i ∈ Y y_i in mathcal{Y} yi​∈Y是输出的观测值(输出)。
    再根据学习或者是训练得到一个模型,表示为条件概率分布 P ^ ( Y ∣ X ) hat{P}(Y|X) P^(Y∣X)或者是决策函数 Y = f ^ ( X ) Y = hat{f} (X) Y=f^​(X)。
    最终依据模型可以对测试集给出预测结果, y N + 1 = a r g m a x y P ^ ( y ∣ x N + 1 ) y_{N+1} =mathop{mathrm{argmax}}limits_{y}{hat{P}(y|x_{N+1})} yN+1​=yargmax​P^(y∣xN+1​)或者 y N + 1 = f ^ ( x N + 1 ) y_{N+1} = hat{f} (x_{N+1}) yN+1​=f^​(xN+1​)

  2. 无监督学习
    (1) 定义:从无标注数据中学习预测模型。本质是学习数据中的统计规律或潜在结构。
    (2) 输入和输出:每一个输入依旧是一个在有限元素集合或者是欧式空间的特征向量,但是每一个输出实对输入的分析结果,由输入的类别、转换或概率表示。最终实现对数据的聚类、降维或者概率估计。
    (3) 学习过程:
    首先给定无标注训练数据集
    U = { x 1 , x 2 , ⋯   , x N } U = {x_1,x_2,cdots,x_N } U={x1​,x2​,⋯,xN​}
    其中 x i x_i xi​成为样本或样本点。
    无监督学习会在隐式结构空间 Z mathcal{Z} Z中学习到模型函数 z = g ^ ( x ) z = hat{g}(x) z=g^​(x)或者 P ^ ( z ∣ x ) hat{P}(z|x) P^(z∣x)、 P ^ ( x ∣ z ) hat{P}(x|z) P^(x∣z)。
    最终依据模型可以对测试集给出预测结果, z N + 1 = a r g m a x z P ^ ( z ∣ x N + 1 ) z_{N+1} =mathop{mathrm{argmax}}limits_{z}{hat{P}(z|x_{N+1})} zN+1​=zargmax​P^(z∣xN+1​)或者 z N + 1 = g ^ ( x N + 1 ) z_{N+1} = hat{g} (x_{N+1}) zN+1​=g^​(xN+1​)。

  3. 强化学习
    (1) 定义:智能系统在基于马尔可夫决过程的与环境连续互动中会学习最优行为策略。本质上就是学习最优的序贯决策。定义中的互动可以数学上表示为某时刻 t t t智能系统对环境的动作 a t a_t at​、环境对智能系统的奖励 r t r_t rt​。这些构成了系统和环境的状态 s t s_t st​.
    (2)学习过程:
    强化学习的马尔可夫过程是状态、奖励、动作序列上的随机过程,由五元组 ⟨ S , A , P , r , γ ⟩ langle S,A,P,r,gamma rangle ⟨S,A,P,r,γ⟩组成

  • S S S是有限状态的集合
  • A A A是有限动作的集合
  • P P P是状态转移概率函数: P ( s ′ ∣ s , a ) = P ( s t + 1 = s ′ ∣ s t = s , a t = a ) P(s'|s,a) = P(s_{t+1} = s'|s_t = s,a_t = a) P(s′∣s,a)=P(st+1​=s′∣st​=s,at​=a)
  • r r r是奖励函数: r ( s , a ) = E ( r t + 1 ∣ s t = s , a t = a ) r(s,a) = E(r_{t+1}|s_t = s,a_t =a) r(s,a)=E(rt+1​∣st​=s,at​=a)
  • γ gamma γ是衰减系数: γ ∈ [ 0 , 1 ] gamma in [0,1] γ∈[0,1]
    从定义中可以看出他们之间的依赖关系
  • 下一个状态只依赖于前一个状态与动作,由状态转移概率函数表示
  • 下一个奖励依赖于前一个状态与动作,由奖励函数表示
    学习的过程就是从所有的策略 π pi π(策略对应的一系列行为 a = f ( s ) , P ( a ∣ s ) a = f(s),P(a|s) a=f(s),P(a∣s))中选择或是不断优化策略,达到价值函数最大的目的。
    价值函数的定义
    v π ( s ) = E π [ r t + 1 + γ r t + 2 + γ 2 r t + 3 + ⋯ ∣ s t = s ] v_pi(s) = E_pi [r_{t+1} + gamma r_{t+2} + gamma^2 r_{t+3} + cdots | s_t = s] vπ​(s)=Eπ​[rt+1​+γrt+2​+γ2rt+3​+⋯∣st​=s]
    动作价值函数的定义
    q π ( s , a ) = E π [ r t + 1 + γ r t + 2 + γ 2 r t + 3 + ⋯ ∣ s t = s , a t = a ] q_pi(s,a) = E_pi [r_{t+1} + gamma r_{t+2} + gamma^2 r_{t+3} + cdots | s_t = s, a_t = a] qπ​(s,a)=Eπ​[rt+1​+γrt+2​+γ2rt+3​+⋯∣st​=s,at​=a]

书中对于有模型和无模型的两种强化学习方法区别的探讨比较不详细,因为对有模型的方法言之甚少。(前面两种都是有模型)

  1. 半监督学习与主动学习
    (1) 定义:半监督学习是利用标注数据和为标注数据学习预测模型的机器学习问题,而主动学习是指机器不断主动给出实例让教师进行标注,然后利用标注学习预测模型的机器学习问题。
    quad 事实上这两种方法都是考虑到标注代价引出的方法。
按模型分类
  1. 概率模型与非概率模型
    (1) 概率模型:
  • 形式: P ( y ∣ x ) P(y|x) P(y∣x)——监督学习; P ( z ∣ x ) P(z|x) P(z∣x)——非监督学习,属于生成模型,一定可以表示为联合概率分布的形式
  • 代表:概率图模型,联合概率分布由有向图或者无向图表示的概率模型,而联合概率可以根据图的结构分解为因子乘积的形式。(在用基本概率公式进行概率推理,这部分关于概率模型其实是没有实际经验,不太理解的地方)
  • 决策树、朴素贝叶斯、隐马尔可夫模型、条件随机场、概率潜在语义分析、潜在狄利克雷分配、高斯混合模型,逻辑斯蒂回归……
    (2) 非概率模型:
  • 形式: y = f ( x ) y = f(x) y=f(x)——监督学习; z = g ( x ) z = g(x) z=g(x)——非监督学习,属于判别模型。
  • 感知机、支持向量机、 k k k 近邻、Adaboost、 k − m e a n k-mean k−mean、潜在语义分析以及神经网络,逻辑斯蒂回归……
  1. 线性模型与非线性模型
    线性与非线性取决于** y = f ( x ) y = f(x) y=f(x) 或 z = g ( x ) z = g(x) z=g(x)是否为线性函数**
  • 线性模型:感知机、线性支持向量机、 k k k 近邻、 k k k 均值、潜在语义分析。
  • 非线性模型:核函数支持向量机、AdaBoost、神经网络(复杂的非线性系统)。
  1. 参数化模型与非参数化模型
    参数化与非参数化取决于模型参数维度是否固定
  • 参数化模型:感知机、朴素贝叶斯、逻辑斯蒂回归、 k k k 均值、高斯混合模型。
  • 非参数化模型:决策树、支持向量机、AdaBoost、 k k k 近邻、潜在语义分析、概率潜在语义分析、潜在狄利克雷分配。
按算法分类
  1. 在线学习:每次接受一个样本,进行预测,之后学习模型,并不断重复该操作。(利用数据有限,但有时由于数据规模大,不得不使用)
  2. 批量学习:一次接受所有熟悉,学习模型,之后进行预测。
按技巧分类
  1. 贝叶斯学习,也称为贝叶斯推理
    主要想法是,在概率模型的学习和推理中,利用贝叶斯定理,计算在给定数据条件下模型的条件概率,即后验概率,并应用这个原理进行模型的估计,以及对数据的预测。将模型、问观测要素计起参数用变量表示,使用模型的先验分布是贝叶斯学习的特点。
    例如:朴素贝叶斯、潜在狄利克雷分配
    假设变量 D D D表示数据,随机变量 θ theta θ表示模型参数。
  • 极大似然估计:
    θ ^ = a r g m a x θ P ( D ∣ θ ) hat{theta} = mathrm{arg} mathop{mathrm{max}}limits_{theta}{P(D|theta)} θ^=argθmax​P(D∣θ)
  • 贝叶斯估计:
    P ^ ( θ ∣ D ) = P ( θ ) P ( D ∣ θ ) P ( D ) hat{P}(theta|D) = frac{P(theta) P(D|theta)}{P(D)} P^(θ∣D)=P(D)P(θ)P(D∣θ)​
    (两者的联系不是很明白)
  1. 核方法
    把线性模型扩展到非线性模型,显式地定义从输入空间(低维空间)到特征空间(高维空间)的映射。由输入空间的线性不可分到输出空间的线性可分。
统计学习方法三要素

方 法 = 模 型 + 策 略 + 算 法 方法 = 模型+策略+算法 方法=模型+策略+算法

模型

模型的假设空间用 F mathcal{F} F表示。假设空间可以定义为决策函数的集合:
F = { f ∣ Y = f θ ( X ) . θ ∈ R n } mathcal{F} = {f|Y = f_theta(X).theta in mathbf{R}^n } F={f∣Y=fθ​(X).θ∈Rn}
这里的 F mathcal{F} F是由一个参数向量决定的函数族。
F = { P ∣ Y = P θ ( Y ∣ X ) . θ ∈ R n } mathcal{F} = {P|Y = P_theta(Y|X).theta in mathbf{R}^n } F={P∣Y=Pθ​(Y∣X).θ∈Rn}
这里的 F mathcal{F} F是由一个参数向量决定的条件概率分布族。

策略
  1. 损失函数和风险函数
    引入这两种函数是要回答我们应该按照什么样的准则学习或选择最优的模型。
    常见的统计学上的损失函数:
  • 0 − 1 0-1 0−1 损失函数
    L ( Y , f ( X ) ) = { 1 , Y ≠ f ( X ) 0 , Y = f ( X ) ) L(Y,f(X)) = left{ begin{array}{lr} 1, Yneq f(X) & \ 0, Y = f(X)) & end{array} right. L(Y,f(X))={1,Y​=f(X)0,Y=f(X))​​
  • 平方损失函数
    L ( Y , f ( X ) ) = ( Y − f ( X ) ) 2 L(Y,f(X)) = left( Y - f(X)right)^2 L(Y,f(X))=(Y−f(X))2
  • 绝对损失函数
    L ( Y , f ( X ) ) = ∣ Y − f ( X ) ∣ L(Y,f(X)) = |Y - f(X)| L(Y,f(X))=∣Y−f(X)∣
  • 对数损失函数或对数似然损失函数
    L ( Y , P ( Y ∣ X ) ) = − l o g P ( Y ∣ X ) L(Y,P(Y|X)) = -mathbf{log} P(Y|X) L(Y,P(Y∣X))=−logP(Y∣X)
    损失函数的值越小,就代表模型越好,由于模型的输入和输出 ( X , Y ) (X,Y) (X,Y)是随机变量,遵循联合分布 P ( X , Y ) P(X,Y) P(X,Y),所以可以由损失函数的期望,也就是风险函数:
    R e x p = E p [ L ( Y , f ( X ) ) ] = ∫ X × Y L ( y , f ( x ) ) P ( x , y )   d x d y R_{exp} = E_p[L(Y,f(X))] = int_{mathcal{X} times mathcal{Y} }L(y,f(x))P(x,y), rm{dxdy} Rexp​=Ep​[L(Y,f(X))]=∫X×Y​L(y,f(x))P(x,y)dxdy
    在实际情况中,我们往往在给定的训练集上定义经验风险,记作 R e m p R_{emp} Remp​:
    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)=N1​i=1∑N​L(yi​,f(xi​))
    当样本容量 N N N趋于无穷时,经验风险趋于期望风险,但由于训练样本数目有限,需要对经验风险进行一定的矫正,这涉及到两个基本策略:经验风险最小化和结构风险最小化(正则化,避免过拟合的出现)。
    f = a r g m i n f ( R e m p + λ J ( f ) ) f = mathrm{arg} mathop{mathrm{min}}limits_{f}{(R_{emp} + lambda J(f))} f=argfmin​(Remp​+λJ(f))
    这是权衡经验风险和模型复杂度的结果,后一项正则项中的 J ( f ) J(f) J(f)与模型的复杂度有关,用于制约模型的复杂度。
算法

算法是指学习模型的具体的计算方法,统计学习基于训练数据集,根据学习策略,从假设空间中选择最优模型,也就是考虑用什么方法能够有效且高效的求解对应的最优化问题。

模型评估与模型选择 训练误差和测试误差
  • 训练误差, N N N 是训练样本容量
    R e m p ( f ^ ) = 1 N ∑ i = 1 N L ( y i , f ^ ( x i ) ) R_{emp}(hat{f}) = frac{1}{N} sum_{i=1}^N L(y_i,hat{f}(x_i)) Remp​(f^​)=N1​i=1∑N​L(yi​,f^​(xi​))
  • 测试误差, N ′ N' N′ 是训练样本容量
    e t e s t ( f ^ ) = 1 N ′ ∑ i = 1 N ′ L ( y i , f ^ ( x i ) ) e_{test}(hat{f}) = frac{1}{N'} sum_{i=1}^{N'} L(y_i,hat{f}(x_i)) etest​(f^​)=N′1​i=1∑N′​L(yi​,f^​(xi​))
    这两者都是很重要的评估标准,并且损失函数并非一定要一致。
正则化与交叉验证 正则化

正则化符合所谓的奥卡姆剃刀原则,一般具有如下形式:
m i n f 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) ) mathop{mathrm{min}}limits_{f}{frac{1}{N} sum_{i=1}^N L(y_i,f(x_i)) + lambda J(f))} fmin​N1​i=1∑N​L(yi​,f(xi​))+λJ(f))
这里提到两种正则化项的形式:

  • L 2 L_2 L2​范数, ∣ ∣ w ∣ ∣ 2 ||w||^2 ∣∣w∣∣2 为参数向量 w w w的 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)=N1​i=1∑N​(f(xi​;w)−yi​)2+2λ​∣∣w∣∣2
  • L 1 L_1 L1​范数, ∣ ∣ w ∣ ∣ 1 ||w||_1 ∣∣w∣∣1​ 为参数向量 w w w的 L 1 L_1 L1​范数:
    L ( w ) = 1 N ∑ i = 1 N ( f ( x i ; w ) − y i ) 2 + λ 2 ∣ ∣ w ∣ ∣ 1 L(w) = frac{1}{N} sum_{i=1}^N (f(x_i;w) - y_i)^2 + frac{lambda}{2} ||w||_1 L(w)=N1​i=1∑N​(f(xi​;w)−yi​)2+2λ​∣∣w∣∣1​
交叉验证(书P24)

针对数据不充足的情况:

  1. 简单交叉验证
  2. S折交叉验证
  3. 留一交叉验证
泛化能力

学习方法的泛化能力是由该方法学校的模型对未知数据的预测能力,是学习方法本质上重要的性质,之前涉及到的评价方法是依赖于测试数据集的。但测试数据集总是有限的,所以我们需要统计学习理论来对泛化能力进行分析。
如何确定泛化误差的上界:对二分类问题,当假设空间是有限个函数的集合 F = { f 1 , f 2 , ⋯   , f d } mathcal{F} = {f_1,f_2, cdots, f_d} F={f1​,f2​,⋯,fd​}时,对于任意一个函数 f ∈ F f in mathcal {F} f∈F,至少以概率 1 − δ 1 - delta 1−δ, 0 < δ < 1 0 < delta < 1 0<δ<1, 以下不等式成立:
R ( f ) ≤ R ^ ( f ) + ε ( d , N , δ ) R(f) leq 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 δ ) varepsilon(d,N,delta) = sqrt{frac{1}{2N} left(rm{log} d + rm{log} frac{1}{delta}right)} ε(d,N,δ)=2N1​(logd+logδ1​) ​

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/665638.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号