zoukankan      html  css  js  c++  java
  • ML 05、分类、标注与回归

    机器学习算法 原理、实现与实践 —— 分类、标注与回归

    1. 分类问题

    分类问题是监督学习的一个核心问题。在监督学习中,当输出变量$Y$取有限个离散值时,预测问题便成为分类问题。

    监督学习从数据中学习一个分类决策函数或分类模型,称为分类器(classifier)。分类器对新的输入进行输出的预测,这个过程称为分类。

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

    对于训练数据集$(x_1,y_1),(x_2,y_2),dots,(x_N,y_N)$,学习系统将学习一个分类器$P(Y|X)$或$Y=f(X)$;分类系统通过学到的分类器$P(Y|X)$或$Y=f(X)$对于新的输入实例$x_{N+1}$进行分类,即预测其输出的类标记$y_{N+1}$。

    评价分类器性能的指标一般是分类的准确率,其定义是:对于给定的测试数据集,分类器正确分类的样本数与总样本数之比。

    对于二分类问题常用的评价指标是精确率(precision)与召回率(recall)。通常以关注的类为正类,其他类为负类,分类器在测试数据集上的预测或正确或不正确,4种情况出现的总数分别记作:

    • TP —— 将正类预测为正类的数量;
    • FN —— 将正类预测为负类的数量;
    • FP —— 将负类预测为正类的数量;
    • TN —— 将负类预测为负类的数量;

    精确率定义为:

    $$P = frac{TP}{TP+FP}$$

    召回率定义为:

    $$R = frac{TP}{TP+FN}$$

    此外,还有一个$F_1$值,是精确率和召回率的调用均值,即

    $$frac{2}{F_1} = frac{1}{P}+frac{1}{R}$$

    $$F_1 = frac{2TP}{2TP+FP+FN}$$

    精确率真和召回率都高时,$F_1$也会高。

    许多的机器学习方法可以用来解决分类问题,包括$k$近邻法、感知机、朴素贝叶斯法、决策树、逻辑斯谛回归模型、SVM、adaBoost、贝叶斯网络、神经网络等。

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

    2. 标注问题

    标注问题也是一个监督学习问题。可以认为标记问题是分类问题的一个推广。

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

    标注问题也可以分为两步:学习和标注两个过程。首先给定一个训练数据集

    $$T = (x_1,y_1),(x_2,y_2),dots,(x_N,y_N)$$

    这里,$x_i = (x_i^{(1)},x_i^{(2)},dots,x_i^{(n)})^T,i = 1,2,dots,N$是输入观测序列,$y_i = (y_i^{(1)},y_i^{(2)},dots,y_i^{(n)})^T$是相应的输出标记序列,$n$是序列的长度,对于不同样本可以有不同的值。学习系统基于训练数据集构建一个模型,表示为条件概率分布:

    $$P(Y^{(1)},Y^{(2)},dots,Y^{(n)}|X^{(1)},X^{(2)},dots,X^{(n)})$$

    这里,每一个$X^{(i)}(i=1,2,dots,N)$取值为所有可能的观测,每一个$Y^{(i)}(i=1,2,dots,N)$取值为所有可能的标记,一般$n ll N$。标注系统按照学习得到的条件概率分布模型,对新的输入观测序列找到相应的输出标记序列。具体地,对一个观测序列$x_{N+1} = (x_{N+1}^{(1)},x_{N+1}^{(2)},dots,x_{N+1}^{(n)})^T$找到使条件概率$P(y_{N+1}^{(1)},y_{N+1}^{(2)},dots,y_{n+1}^{(n)}|x_{N+1}^{(1)},x_{N+1}^{(2)},dots,x_{N+1}^{(n)})$最大的标记序列$y_{N+1} = (y_{N+1}^{(1)},y_{N+1}^{(2)},dots,y_{N+1}^{(n)})^T$。

    评价标注模型的指标与评价分类的模型指标一样,常用的有标注准确率、精确率和召回率等。

    标注常用的机器学习方法有:隐性马尔可夫模型、条件随机场。

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

    3. 回归问题

    回归问题也属于监督学习中的一类。回归用于预测输入变量与输出变量之间的关系,特别是当输入变量的值发生变化时,输出变量的值随之发生的变化。

    回归模型正是表示从输入变量到输出变量之间映射的函数。回归问题的学习等价于函数拟合:选择一条函数曲线,使其很好地拟合已知数据且很好地预测未知数据。

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

    回归学习最常用的损失函数是平方损失,在此情况下,回归问题可以由著名的最小二乘法求解。

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

  • 相关阅读:
    小程序那些坑
    2018-5-31 项目总结
    Android AndroidManifest学习笔记
    android 快捷键
    android的liveview装载数据
    android xml产生和解析
    SerializableMaplist传递数据
    android hander 线程用法
    DataGridView实现分页
    DataGridView添加另外一个控件。
  • 原文地址:https://www.cnblogs.com/ronny/p/4064625.html
Copyright © 2011-2022 走看看