统计学习的特点
统计学习:计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析
现在人们提及机器学习时,往往指统计机器学习,所以可以认为本书介绍的是机器学习方法
统计学习的对象
统计学习研究的对象是数据(data),统计学习关于数据的基本假设是同类数据具有一定的统计规律性,这是统计学习的前提。
e.g.用随机变量描述数据的特征,用概率分布描述数据的统计规律
在统计学习中,以变量或变量组表示数据,数据分为连续变量或离散变量,本书主要讨论离散变量的方法且本书只关注利用数据构建模型及利用模型对数据进行分析与预测,对数据的观测和收集等问题不讨论
统计学习的目的
统计学习的总目标就是考虑学习什么样的模型和如何学习模型,使模型能对数据进行准确的预测与分析(也要考虑学习效率)
统计学习的方法
统计学习方法可以概括如下:从给定的、有限的、用于学习的训练数据(training
data)集合出发,假设数据是独立同分布产生的;并且假设要学习的模型属于某
个函数的集合,称为假设空间(hypothesis space);
应用某个评价准则(evaluation criterion),从假设空间中选取一个最优模型,使它对已知的训练数据及未知的测试数据(test data)在给定的评价准则下有最优的预测;最优模型的选取由算法实现。
这样统计学习方法包括模型的假设空间、模型选择的准则以及模型学习的算法。称其为统计学习方法的三要素,简称为模型(model)、策略(strategy)和算法(algorithm)。
统计学习或机器学习一般包括监督学习、无监督学习、强化学习。有时还包括半监督学习、主动学习。
我们要弄清楚以下几个名词
(1)输入空间、特征空间和输出空间
在监督学习中,把输入和输出所有可能取值的集合分别称为输入空间(input space)和输出空间(output space)
每个具体的输入是一个实例(instance),通常由特征向量(feature vector)表示。所有特征向量存在的空间称为特征空间(feature space),特征空间的每一维对应于一个特征。(有时是假设输入空间等同于特征空间,有的时候不是)
在监督学习中,把输入和输出看作是定义在输入(特征)空间与输出空间上的随机变量的取值。输入输出变量用大写字母表示(习惯上输入变量为X,输出变量为Y),输入输出变量的取值用小写字母表示(输入变量取值为x,输出变量取值为y),变量可以是标量或向量,都用相同类型的字母表示,本书中的向量除非特别声明,否则均为列向量
输入实例 x x x的特征向量记作
x = ( x ( 1 ) , x ( 2 ) , . . . , x ( i ) , . . . , x ( n ) ) T x=(x^{(1)},x^{(2)},...,x^{(i)},...,x^{(n)} )^T x=(x(1),x(2),...,x(i),...,x(n))T
输入实例x的特征向量是指描述这个输入实例的特征的数值表示。在机器学习和深度学习中,我们通常将每个输入样本表示为一个特征向量,其中每个特征是样本的一个属性或特征。这些特征可以是任何与问题相关的信息,例如图像中的像素值、文本中的单词出现次数、声音信号中的频谱分布等等。
特征向量是一个数值列表,其中每个元素对应一个特征,并且特征的顺序通常是固定的。例如,如果我们正在处理手写数字识别任务,每个输入图像可以表示为一个特征向量,其中每个元素对应一个像素的灰度值。如果图像的大小是28x28像素,那么特征向量将包含28x28=784个元素,每个元素代表一个像素的灰度值。
在深度学习中,神经网络的输入通常是这些特征向量,网络的目标是学习从这些特征向量到相应的输出(例如,图像分类中的类别标签)的映射关系。因此,特征向量的选择和表示对于机器学习和深度学习任务至关重要,它们决定了模型的输入信息和性能。
x ( i ) x^{(i)} x(i)表示 x x x的第 i i i个特征。注意 x ( i ) x^{(i)} x(i)与 x i x_i xi不同,本书通常用 x i x_i xi表示多个输入变量中的第 i i i个变量
x i = ( x i ( 1 ) , x i ( 2 ) , . . . , x i ( i ) , . . . , x i ( n ) ) T x_i=(x_i^{(1)},x_i^{(2)},...,x_i^{(i)},...,x_i^{(n)} )^T xi=(xi(1),xi(2),...,xi(i),...,xi(n))T
监督学习从训练数据(training data)集合中学习模型,对测试数据(test data)进行预测,训练数据由输入(或特征向量)与输出对组成,训练集通常表示为
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)}
测试数据也由输入和输出对组成,输入和输出对又称为样本(sample)或样本点
根据输入变量X和Y的不同类型(连续或离散),预测任务有不同名称
X和Y | 预测任务 |
---|---|
均为连续变量 | 回归问题 |
输出为有限个离散变量 | 分类问题 |
均为变量序列 | 标注问题 |
(2)联合概率分布
监督学习假设输入与输出的随机变量 X X X和 Y Y Y遵循联合概率分布 P ( X , Y ) P(X,Y) P(X,Y)
P ( X , Y ) P(X,Y) P(X,Y)表示分布函数或分布密度函数
训练数据与测试数据被看作是依概率分布 P ( X , Y ) P(X,Y) P(X,Y)独立同分布产生的
分布函数(Distribution Function)和分布密度函数(Probability Density Function)是概率论和统计学中用于描述随机变量的两种不同方式。
1. **分布函数(Distribution Function)**:
- 分布函数通常表示为F(x),它描述了随机变量X小于或等于某个特定值x的概率。数学上,分布函数可以定义为:
```
F(x) = P(X <= x)
```
- 分布函数的值范围在0到1之间,且对于任何x,都有0 <= F(x) <= 1。
- 分布函数是一个累积概率函数,它可以用来计算随机变量X在某个范围内的累积概率。
2. **分布密度函数(Probability Density Function)**:
- 分布密度函数通常表示为f(x),它描述了随机变量X在某个特定值x处的概率密度,即概率密度函数在x处的导数。数学上,分布密度函数可以定义为:
```
f(x) = dF(x)/dx
```
- 分布密度函数的值通常用来表示概率密度,而不是概率本身。因此,对于连续随机变量,概率密度函数在某个点x处的值并不代表概率,而是在附近范围内的概率密度。
- 分布密度函数通常用于描述连续随机变量的概率分布,例如正态分布、指数分布等。
总的来说,主要区别在于随机变量是连续的还是离散的。对于离散随机变量,我们使用分布函数来描述概率分布,而对于连续随机变量,我们使用分布密度函数来描述概率分布。分布函数提供了累积概率信息,而分布密度函数提供了在某一点附近的概率密度信息。
(3)假设空间
模型属于有输入空间到输出空间的映射的集合,这个集合就是假设空间(hypothesis space),假设空间的确定意味着学习的范围的确定。
映射可以是多对一、一对多、一对一等不同类型的关系。
函数是映射的一种特例,它是一对一关系。
监督学习的模型可以是概率模型或非概率模型,由条件概率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X)或决策函数(decision function) Y = f ( X ) Y=f(X) Y=f(X)表示,随具体学习方法而定。对具体的输入进行相应的输出预测时,写作 P ( y ∣ x ) P(y|x) P(y∣x)或 y = f ( x ) y=f(x) y=f(x)
这句话是在讨论监督学习模型的两种常见表示方式。
概率模型:在监督学习中,概率模型是一种常见的表示方式,它使用条件概率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X)来表示模型。这表示给定输入 X X X的情况下,目标变量 Y Y Y的概率分布。概率模型通常用于分类问题,其中 Y Y Y表示类别标签。例如,在图像分类任务中, X X X可以是图像数据, Y Y Y可以是图像所属的类别。模型通过学习 P ( Y ∣ X ) P(Y|X) P(Y∣X)的参数来进行预测和分类。
非概率模型:另一种常见的表示方式是使用决策函数(也称为预测函数或映射函数) Y = f ( X ) Y=f(X) Y=f(X)来表示模型。这表示模型直接映射输入 X X X到输出 Y Y Y,而不涉及概率分布。非概率模型通常用于回归问题,其中 Y Y Y表示连续数值。例如,在房价预测任务中, X X X可以是房屋的特征, Y Y Y可以是房价的预测值。模型通过学习适当的函数 f ( X ) f(X) f(X)来进行回归预测。
总之,监督学习的模型可以根据任务和问题的性质选择不同的表示方式。概率模型适用于分类和概率估计问题,而非概率模型适用于回归问题。选择哪种表示方式取决于具体的应用场景和建模需求。
(4)问题的形式化
监督学习的监督一词是由于标注的训练数据集往往是人工给出的
监督学习分为学习和预测两个过程
首先给定一个训练数据集
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x N , y N ) } T=\{(x_1,y_1),(x_2,y_2),...,(x_N,y_N)\} T={(x1,y1),(x2,y2),...,(xN,yN)}
其中 ( x i , y i ) , i = 1 , 2 , . . . , N (x_i,y_i),i=1,2,...,N (xi,yi),i=1,2,...,N称为样本或样本点。 x i x_i xi是输入的观测值,也称为输入或实例, y i y_i yi是输出的观测值,也称为输出。
在学习过程中,学习系统通过给定的训练数据集,通过学习(或训练)得到一个模型,表示为条件概率分布 P ^ ( Y ∣ X ) \hat{P}(Y|X) P^(Y∣X)或决策函数 Y = f ^ ( X ) Y=\hat{f}(X) Y=f^(X)
在预测过程中,预测系统通过给定的 x N + 1 x_{N+1} xN+1,通过模型 y N + 1 = a r g max y P ^ ( y ∣ x N + 1 ) y_{N+1} = arg \underset{y}{\text{max}} \hat{P}(y|x_{N+1}) yN+1=argymaxP^(y∣xN+1)或 y N + 1 = f ^ ( x N + 1 ) y_{N+1}=\hat{f}(x_{N+1}) yN+1=f^(xN+1)给出对应的输出 y N + 1 y_{N+1} yN+1
这段话描述了在预测过程中,预测系统如何根据输入 x N + 1 x_{N+1} xN+1生成对应的输出 y N + 1 y_{N+1} yN+1,有两种不同的方式:
使用条件概率分布:
使用决策函数:
在监督学习中,假设训练数据与测试数据是依联合概率分布 P ( X ∣ Y ) P(X|Y) P(X∣Y)独立同分布产生的
对输入 x i x_i xi,通过模型可以产生一个输出 f ( x i ) f(x_i) f(xi),而训练数据集中对应的输出是 y i y_i yi,如果模型预测能力好,则 f ( x i ) f(x_i) f(xi)和 y i y_i yi之间的差应当足够小
模型的输入与输出的所有可能取值的集合分别称为输入空间和输出空间,每个输入是一个实例,由特征向量表示,每一个输出是对输入的分析结果,由输入的类别、转换或概率表示(输出可以是类别标签,表示输入属于哪个类别;也可以是一种转换,表示输入数据的变换结果;还可以是一个概率分布,表示输入属于不同类别的概率)。模型可以实现对数据的聚类、降维或概率估计。
假设 X X X是输入空间, Z Z Z是隐式结构空间。要学习的模型可以表示为函数 z = g ( x ) z=g(x) z=g(x),条件概率分布 P ( z ∣ x ) P(z|x) P(z∣x),或者条件概率分布 P ( x ∣ z ) P(x|z) P(x∣z)的形式,其中 x x x是输入, z z z是输出。包含所有可能的模型的集合称为假设空间,无监督学习旨在从假设空间中选出在给定评价标准下的最优模型
2个问题:
1.为什么不叫输出空间,叫隐式结构空间?:
在无监督学习中,我们通常关注的是从输入数据中学习出的潜在结构或特征,这些潜在结构可能并不是直接可观察到的输出。因此,将其称为"隐式结构"强调了这些特征的隐藏性质,与常规的输出不同。输出通常是指直接可观察到的结果,而这里的 Z Z Z表示的是学习到的潜在表示。
2.为什么还有条件概率分布 P ( x ∣ z ) P(x|z) P(x∣z)的形式?:
这表示模型可以在不同的角度进行建模。 P ( z ∣ x ) P(z|x) P(z∣x)表示在给定输入 x x x的情况下 z z z的分布,通常用于表示数据的编码或降维过程。
P ( x ∣ z ) P(x|z) P(x∣z)表示在给定 z z z的情况下,生成输入 x x x的分布,通常用于生成模型或数据重建。
这两种表示方式在不同的无监督学习任务中都有应用,取决于任务的性质和目标。
无监督学习通常用大量的无标注数据进行学习或训练,每一个样本都是一个实例。
训练数据表示为 U = { x 1 , x 2 , . . . , x N } U=\{x_1,x_2,...,x_N\} U={x1,x2,...,xN},其中, x i , i = 1 , 2 , . . . , N x_i,i=1,2,...,N xi,i=1,2,...,N是样本。
智能系统通俗来说就是一种能够自动地执行任务、做出决策、或者从数据中学习并改进自己的计算机程序或机器。这些系统通常被设计成能够模仿人类智慧的一些方面,比如理解语言、识别图像、解决问题等等。
举例来说,智能系统可以是:
- 虚拟助手:比如Siri、Alexa或Google助手,它们能够理解你的声音命令,回答问题,或者执行任务。
- 自动驾驶汽车:这些汽车能够利用传感器和计算机技术来感知道路上的情况,做出驾驶决策,从而在没有人类驾驶员的情况下行驶。
- 机器学习算法:这些算法可以从大量的数据中学习并进行预测,比如根据用户的购物历史预测他们可能喜欢的产品。
- 工业机器人:这些机器人可以执行重复性任务,如汽车制造中的焊接或装配工作,而无需人类操作。
智能系统的关键特征是它们能够根据输入数据做出决策或执行任务,并且通常能够从经验中学习,以不断改进它们的性能。这些系统的应用范围非常广泛,涵盖了许多不同的领域和行业。
马尔可夫决策过程(Markov Decision Process,简称MDP)是一种用于建模决策制定的数学工具,通常在人工智能和强化学习中使用。它可以被理解为描述一个智能体(也就是决策制定者)在与环境互动时如何做决策的框架。
在通俗的方式下,你可以把MDP看作是一个智能体与它所处的环境之间的互动游戏。这个游戏有以下几个要素
- 状态(State):状态表示了在某一时刻环境的特定情况或状态,可以是任何信息,比如一个棋盘上的棋子位置,一个房间的温度,或者一个机器人所在的位置。
- 行动(Action):行动是智能体可以采取的决策或动作,它们可以是移动、采购、购买等等,取决于具体的问题。
- 奖励(Reward):在每个状态和采取每个行动后,智能体会收到一个奖励信号,表示这个决策是好还是坏。奖励可以是正数表示好的结果,负数表示不好的结果,或者零表示中立的结果。
- 转移概率(Transition Probability):这是一个规定在某一状态下采取某个行动后下一个状态是什么的概率分布。它表示环境的不确定性,因为有时候相同的行动可能会导致不同的结果。
MDP的目标是找到一种策略(Policy),也就是一种决策规则,告诉智能体在每个状态下应该采取哪个行动,以最大化累积的奖励。智能体的任务就是根据这个策略来做决策,同时考虑到当前状态、可能的行动、奖励以及转移概率。
总之,MDP是一个用于描述智能体如何在不确定的环境中做出决策的框架,它帮助我们理解如何选择最优策略以达到特定目标。这个概念在很多领域,尤其是强化学习中,都非常有用。
智能系统观测到的是与环境互动的数据序列,这是因为在强化学习中,决策制定者(智能系统)需要根据先前的经验和互动结果来学习并改进其决策策略。这个经验包括了一系列的数据点,通常以时间序列的形式记录下来,因此被称为数据序列。
以下是为什么这些数据通常呈现为序列的原因:
- 历史信息的重要性:在强化学习中,以前的决策和互动结果通常对当前和未来的决策有重要影响。因此,将这些历史数据以序列的形式记录下来,有助于智能系统理解过去的经验,并在未来的决策中考虑这些信息。
- 状态的变化:环境的状态通常会随着时间而变化,而智能系统需要根据不同的状态采取不同的行动。通过记录数据序列,智能系统可以跟踪状态的演变,以更好地适应环境的变化。
- 学习与改进:强化学习的目标是通过不断地学习和改进来寻找最佳策略。数据序列允许智能系统回顾过去的行动和结果,从中提取有关什么工作和什么不工作的信息,并相应地调整未来的策略。
- 奖励信号的累积:在每个时间步,智能系统会收到奖励信号,这些奖励信号在序列中累积,以衡量智能系统的性能。通过记录整个序列,可以计算总奖励,从而评估策略的质量。
因此,数据序列在强化学习中起着关键作用,帮助智能系统理解环境、学习经验、做出更好的决策,并最终找到最优的行为策略。
序贯决策是一种决策方法,通常用于描述在一系列连续的决策点上如何做出决策的过程。这种决策方法涉及到在时间上连续的一系列决策步骤,每个步骤都基于之前的决策和可能的情况来做出。
序贯决策的特点包括:
- 时序性:每个决策都在前一个决策之后,且在下一个决策之前进行。这意味着每个决策都考虑了时间上的顺序和历史信息。
- 条件性:每个决策通常依赖于之前的决策结果和环境的当前状态。决策制定者需要根据之前的经验和当前情况来选择下一步的行动。
- 累积性:决策的结果通常会积累,影响后续决策和最终的结果。这意味着之前的决策可能会对整个决策序列的成功产生重要影响。
序贯决策在许多领域中都有应用,特别是在强化学习、控制系统、金融投资和自动化领域。在这些领域,决策制定者需要考虑如何在连续的时间步骤中采取行动,以实现某种目标或最大化某种性能指标。序贯决策方法提供了一种框架,帮助解决这些复杂的问题,并优化决策序列以获得最佳结果。
智能系统和环境的互动如图
在每一步 t t t,智能系统从环境中观测到一个状态(state)
s t s_t st与一个奖励(reward)
r t r_t rt,采取一个动作(action)
a t a_t at。环境根据智能系统选择的动作,决定下一步 s t + 1 s_{t+1} st+1和 r t + 1 r_{t+1} rt+1。要学习的策略表示为给定的状态下采取的动作。智能系统的目标不是短期奖励的最大化,而是长期累积奖励的最大化,在这过程中,系统不断试错(trial and error)
,以达到学习最优策略的目的。
强化学习的马尔可夫决策过程是状态、奖励、动作序列上的随机过程,有五元组 < S , A , P , r , γ > <S,A,P,r,γ>组成
S S S是有限状态(state)的集合
A A A是有限动作(action)的集合
P P P是状态转移概率(transition probability)函数:
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是奖励函数(reward function): 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 γ是衰减系数(discount factor): γ ∈ [ 0 , 1 ] \gamma \in[0,1] γ∈[0,1]
马尔可夫决策过程具有马尔可夫性,下一个状态只依赖于前一个状态和动作,由状态转移概率函数 P ( s ′ ∣ s , a ) P(s^{'}|s,a) P(s′∣s,a)表示。下一个奖励依赖于前一个状态与动作,由奖励函数 r ( s , a ) r(s,a) r(s,a)表示。
策略 π \pi π定义为给定状态下动作的函数 a = f ( s ) a=f(s) a=f(s)或者条件概率分布 P ( a ∣ s ) P(a|s) P(a∣s)。给定一个策略 π \pi π,智能系统与环境互动的行为就已确定(或者是确定性的或者是随机性的)
价值函数(value function)或状态价值函数(state value function)定义为策略 π \pi π从某一个状态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}+...|s_t=s] vπ(s)=Eπ[rt+1+γrt+2+γ2rt+3+...∣st=s]
动作价值函数(action value function)定义为策略 π \pi π的从某一个状态s和动作a开始开始的长期累积奖励的数学期望
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}+...|s_t=s,a_t=a] qπ(s,a)=Eπ[rt+1+γrt+2+γ2rt+3+...∣st=s,at=a]
强化学习的目标就是在所有可能的策略中选出价值函数最大的策略 π ∗ \pi^* π∗,而在实际学习中往往从具体的策略出发,不断优化已有策略,这里 γ \gamma γ表示未来的奖励会有衰减。
正则化项和L1范数和L2范数的关系
监督学习的任务就是学习一个模型,应用这一个模型,对给定的输入预测相应的输出,这个模型一般形式为决策函数 Y = f ( X ) Y=f(X) Y=f(X)或者条件概率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X)
监督学习方法又可以分为生成方法和判别方法,所学到的模型分别称为生成模型和判别模型
生成模型和判别模型是机器学习中两种不同类型的模型,它们的主要区别在于它们建模的是什么。
生成模型:
判别模型:
简而言之,生成模型关注数据的生成过程,可以生成新的数据,而判别模型关注将输入映射到输出,用于分类等任务。在实际应用中,选择使用哪种模型取决于具体的任务和数据性质。
评价分类器性能的指标一般是分类准确率(accuracy),指对于给定的测试数据集,分类器正确分类的样本数与总样本数之比
对于二分类问题常用的评价指标是精确率P(precision)与召回率R(recall),以关注的类为正类,其余为负类
符号 | 含义 |
---|---|
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
此外还有 F 1 F_1 F1,为P和R的调和均值
2 F 1 = 1 P + 1 R \frac{2}{F_1}=\frac{1}{P}+\frac{1}{R} F12=P1+R1
F 1 = 2 T P 2 T P + F P + F N F_1=\frac{2TP}{2TP+FP+FN} F1=2TP+FP+FN2TP
精确率和召回率都高时,F_1也会高