统计学习方法(一)监督学习

本文深入探讨了监督学习的基础概念,包括输入空间、输出空间、特征空间的定义,以及分类问题、回归问题和标注问题的不同应用场景。同时,文章还讨论了监督学习的重要假设,如独立同分布假设,以及假设空间的概念,最后给出了问题的形式化表达。

监督学习

  1. 输入空间、输出空间、特征空间
  2. 分类问题
  3. 回归问题
  4. 标注问题
  5. 重要假设
  6. 假设空间
  7. 问题形式

1、输入空间、输出空间、特征空间

输入空间(X):所有可能取值的空间,可以是连续或离散的,有时候也可以是欧式空间 R n R^n Rn

输出空间(Y):所有可能取值的空间,可以是连续或离散的,有时候也可以是欧式空间 R n R^n Rn

一般输出空间远小于输入空间

特征空间:每个实例都由特征向量表示,输入x的特征向量记作
x = ( x ( 1 ) , x ( 2 ) , … , x ( i ) , … , x ( n ) ) T x = (x^{(1)},x^{(2)},\ldots,x^{(i)},\ldots,x^{(n)})^T x=(x(1),x(2),,x(i),,x(n))T
其中, x ( i ) x^{(i)} x(i)表示 x x x的第 i i i个特征。
特征空间每一维对应一个特征,第 i i i个实例表示为
x i = ( x i ( 1 ) , x i ( 2 ) , … , x i ( n ) ) T x_i=(x_i^{(1)},x_i{(2)},\ldots,x_i^{(n)})^T xi=(xi(1),xi(2),,xi(n))T
有时候输入空间和特征空间是相同的,有时候不同,需要将实例映射到特征空间,比如将图像表征为颜色特征。

模型实际上都是定义到特征空间的。

监督学习从训练数据集合中学习模型,对测试数据进行预测。训练数据由输入输出对组成,表示如下:
T = { ( x 1 , y 1 ) , ( x 2 , y 2 ) . … , ( x N , y N ) } T = \{(x_1,y_1),(x_2,y_2).\ldots,(x_N,y_N)\} T={(x1,y1),(x2,y2).,(xN,yN)}

2、分类问题

分类问题包括学习与分类两个过程。在学习的过程中,根据已知的训练样本数据集利用有效的学习方法学习一个分类器;在分类中,利用学习的分类器对新的输入实例进行分类。

from matplotlib import pyplot as pl
import numpy as np
%matplotlib inline

#输出是离散的有限个变量属于分类问题
x1 = [1,3,4,7,8,9]
y1 = [1,1,1,1,1,1]
x2 = [2,5,6]
y2 = [0,0,0]
pl.figure(figsize = (8, 4))#画布区域
pl.plot(x1, y1,'ro')#y=1绘图,"ro"表示颜色为红的圈
pl.plot(x2, y2,'ro',color="blue")#y=0绘图

分类

常见分类问题的基本模型:

朴素贝叶斯、神经网络、KNN、感知机、决策分类树、logistic回归、SVM、boost提升树

举例:文本内容分类

文本分类是根据文本的特征将其划分到已有的类中。输入是文本的特征向量,输出是文本的类别。通常把文本中的单词定义为特征,每个单词对应一个特征。单词的特征可以是二值的:如果单词在文本中出现则取值1,否则是0;也可以是多值的,表示单词在文本中出现的频率。形象地,如果“股票”“银行”“货币”这些词出现很多,这个文本可能属于经济类,如果“网球”“比赛”“运动员”这些词频繁出现,这个文本可能属于体育类。

3、回归问题

回归用于预测输入变量与输出变量之间的关系,特别是当输入变量的值发生变化时,输出变量的值随之发生的变化。回归问题的学习等价于函数拟合:选择一条函数曲线,使其很好地拟合已知数据且很好地预测未知数据。

回归问题按照输入变量的个数,可以分为一元回归和多元回归;按照输入变量与输出变量之间关系的类型,可以分为线性回归和非线性回归。

#输入输出都是连续的属于回归问题
x = np.linspace(-10, 5)#在指定的间隔内返回均匀间隔的数字
y = x**3
pl.figure(figsize = (8, 4))#画布区域
pl.plot(x, y, color="blue", linewidth = 1.5)#绘图

回归

常见回归问题的基本模型:

神经网络、决策回归树

举例:股票预测

一个回归学习用于股票预测的例子:假设知道一个公司在过去不同时间点的市场上的股票价格(或一段时间的平均价格),以及在各个时间点之间可能影响该公司股份的信息(比如,公司前一周的营业额)。目标是从过去的数据学习一个模型,使它可以基于当前的信息预测该公司下一个时间点的股票价格。具体地,将影响股价的信息视为自变量(输入特征),而将股价视为因变量(输出的值)。将过去的数据作为训练数据,就可以学习一个回归模型,并对未来股份进行预测。实际我们知道想做出一个满意的股价预测模型是很难的,因为影响股份的因素非常多,我们未必能获得那些有用的信息。

4、标注问题

标注问题的输入是一个观测序列,输出的是一个标记序列或状态序列。
也就是说,分类问题的输出是一个值,而标注问题输出是一个向量,向量的每个值属于一种标记类型。

标注问题也可以分为两步:学习和标注两个过程。首先给定一个训练数据集
T = ( x 1 , y 1 ) , ( x 2 , y 2 ) , … , ( x N , y N ) T = (x_1,y_1),(x_2,y_2),\ldots,(x_N,y_N) T=(x1,y1),(x2,y2),,(xN,yN)
其中
x i = ( x i ( 1 ) , x i ( 2 ) , … , x i ( n ) ) T x_i=(x_i^{(1)},x_i^{(2)},\ldots,x_i^{(n)})^T xi=(xi(1),xi(2),,xi(n))T
i = 1 , 2 , … , N i=1,2,\ldots,N i=1,2,,N是输入观测序列, y i = ( y i ( 1 ) , y i ( 2 ) , … , y i ( n ) ) T y_i = {(y_i^{(1)},y_i^{(2)},\ldots,y_i^{(n)})^T} yi=(yi(1),yi(2),,yi(n))T是相应的输出标记序列, n n n为序列长度,对于不同样本可以有不同的值。

利用jieba.posseg模块来进行词性标注,会给出分词后每个词的词性。词性标示兼容ICTCLAS 汉语词性标注集

#pip install jieba安装jieba包
from jieba import posseg as pseg
words = pseg.cut("我喜欢吃苹果")#对照字典
for word, flag in words:
    print('%s %s' % (word, flag))
我 r          #代词
喜欢 v        #动词
吃 v          #动词
苹果 n        #名词
常见标注问题的基本模型:

隐性马尔可夫模型、条件随机场

举例:词性标注

自然语言处理中的词性标注(part of speech tagging)就是一个典型的标注问题:给定一个由单词组成的句子,对这个句子中的每一个单词进行词性标注,即对一个单词序列预测其对应的词性标记序列。

5、重要假设

监督学习假设输入与输出的随机变量X和Y遵循联合概率分布P(X,Y),对学习系统来说联合概率分布是未知的,训练数据与测试数据被看作是依联合概率分布P(X,Y)独立同分布产生的。

在概率统计理论中,如果变量序列或者其他随机变量有相同的概率分布,并且互相独立,那么这些随机变量是独立同分布。

为什么需要独立同分布?

因为机器学习就是利用当前获取到的信息(或数据)进行训练学习,用以对未来的数据进行预测、模拟。所以都是建立在历史数据之上,采用模型去拟合未来的数据。因此需要我们使用的历史数据具有总体的代表性。

为什么要有总体代表性?

需要从训练数据推测的规则来预测未知数据,如果训练数据没有代表性,那我们的规则就不能推广到未知数据。通过独立同分布的假设,就可以大大减小训练样本中个例的情形,使得规则的推广性更强。

并不是所有的机器学习都要求数据同分布

由于现在的机器学习方向的内容已经变得比较广,存在不少机器学习问题并不要求样本同分布,比如一些发表在机器学习方向上的online算法(在线算法,先得到模型,然后每得到一个数据就对模型权重进行更新)就对数据分布没啥要求。

6、假设空间

监督学习的模型可以是概率模型或非概率模型,由条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX)或决策函数 (decision function) Y = f ( X ) Y = f(X) Y=f(X)表示,随具体学习方法而定。对具体的输入进行相应的输出预测时,写作 P ( y ∣ x ) P(y|x) P(yx) Y = f ( x ) Y = f(x) Y=f(x)

7、问题形式化

在学习过程中,学习系统利用给定的训练数据集,通过学习(或训练)得到一个模型,表示为条件概率分布 P ^ ( Y ∣ X ) \hat{P}(Y|X) P^(YX) 或决策函数 Y = f ^ ( X ) Y = \hat f (X) Yf^(X)。条件概率分布 P ^ ( Y ∣ X ) \hat P (Y|X) P^(YX) 或决策函数 Y = f ^ ( X ) Y = \hat{f}(X) Yf^(X) 描述输入与输出随机变量之间的映射关系。
图1.1监督学习问题
在预测过程中,预测系统对于给定的测试样本集中的输入 x N + 1 x_{N+1} xN+1 ,由模型或 y N + 1 = a r g m a x P ^ ( y N + 1 ∣ x N + 1 ) y_{N+1} = argmax\hat {P}(y_{N+1}|x_{N+1}) yN+1argmaxP^(yN+1xN+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。如果这个模型有很好的预测能力,训练样本输出 y i y_i yi 和模型输出 f ^ ( x i ) \hat f(x_i) f^(xi) 之间的差就应该足够小

参考

[1]统计学习方法,李航著.
[2]自然语言处理3———词性标注
[3]分类与回归的区别,知乎

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值