目录

 

分类基础

文本分类任务

分类算法

评估


分类基础

输入:

  • 文本:通常表示成特征的向量
  • 所有类别:是分类的,不是连续的(回归)或有序的(排名)

输出:

  • 预测的类别

文本分类任务

一些常见的例子:

  • 主题分类
  • 动机:图书馆科学,信息检索
  • 类别:话题类别,比如,‘工作’,或者‘国际新闻’
  • 语料库示例:
  • 路透社新闻语料库 (RCV1; NLTK)
  • Pumbed摘要
  • hash带主题标签的推文
  • 情感分析
  • 动机:意见的挖掘,业务分析
  • 类别:积极/消极/中立
  • 语料库示例:
  • 电影评论数据集(在 NLTK 中)
  • SEMEVAL Twitter 极性数据集
  • 母语识别
  • 动机:法医语言学、教育应用
  • 类别:作者的第一语言,比如中文
  • 语料库示例:
  • 托福/雅思论文语料库
  • 自然语言推理
  • 动机:语言理解
  • 类别:蕴含,矛盾,中性
  • 语料库示例:
  • SNLI、MNLI
  • 自动事实核查
  • 转述

构建一个文本分类器流程:

1. 确定感兴趣的任务
2. 收集合适的语料库
3.进行标注
4. 特征选择
5. 选择机器学习算法
6. 使用保留的数据集训练模型和调整超参数
7. 根据需要重复前面的步骤
8. 训练最终模型
9. 在测试数据集上评估模型

分类算法

挑选算法:

  • 偏差与方差
  • 偏差:我们在模型中所做的假设
  •  方差:对训练集的敏感性
  • 基本假设,例如独立性
  • 复杂性
  • 速度

接下来,简单介绍几种常见的算法:

  • 朴素贝叶斯
  • 概念:查找贝叶斯定律下具有最高可能性的类
  • 朴素指的是假设特征是独立的
  • 优点:
  • 快速训练和分类
  • 稳健、低方差 → 适用于低数据情况
  • 独立假设正确时的最优分类器
  •  实施起来极其简单。
  • 缺点:
  • 独立性假设很少成立
  •  与大多数同类方法相比精度较低情况
  • 看不见的类/特征组合所需的平滑
  • 逻辑回归
  • 概念:是个分类模型;一个线性模型,但使用 softmax “挤压” 来获得有效概率
  • 优点:
  • 不像朴素贝叶斯那样不会被多样化困惑,
      相关特征 → 更好的性能。
  • 缺点:
  • 训练缓慢;
  • 需要特征缩放
  • 需要大量数据才能在实践中良好运行
  • 选择正则化策略很重要,因为过拟合是一个大问题
  • 支持向量机
  • 概念:找到以最大边距分隔训练数据的超平面
  • 优点:
  • 快速准确的线性分类器
  • 可以使用内核技巧进行非线性处理
  • 适用于庞大的特征集
  • 缺点:
  • 多类分类笨拙
  • 需要特征缩放
  • 对类别不平衡的处理不佳
  • 可解释性
  • K近邻算法
  • 概念:基于特征空间中 k-nearest 训练样本的多数类进行分类
  • 优点:
  • 简单但非常有效
  •  无需训练
  •  固有的多类
  •  具有无限数据的最优分类器
  • 缺点:
  • 必须选择k
  • 类别不平衡的问题
  • 通常很慢(为了寻找邻居)
  • 必须仔细选择特征
  • 决策树
  • 概念:构建一个树,其中节点对应于对单个特征的测试
  • 优点:
  • 快速构建和测试
  • 特征缩放无关
  • 适用于小型特征集
  • 处理非线性可分问题
  • 缺点:
  • 在实践中,不太容易解释
  • 高度冗余的子树
  • 对于大型特征集没有竞争力
  • 随机森林
  • 概念:集成分类器
  • 优点:
  • 通常比决策树更准确、更稳健
  • 适用于中等特征集的出色分类器
  • 训练很简单并行
  • 缺点:
  • 在实践中,不太容易解释
  • 对于大型特征集没有竞争力
  • 神经网络
  • 概念:一组互连的节点,通常按层排列
  • 优点:
  • 在 NLP 和视觉方面非常强大的主导方法
  • 很少使用特征工程
  • 缺点:
  • 不是现成的分类器
  • 超参数多,难以优化
  • 训练慢
  •  容易过拟合

评估

 

预测标签

真实标签

A

B

A

79

13

B

8

10

Accuracy = 正确的分类/总分类= (79+10)/(79+13+8+10)

B 假定为 positive 类

Precision = 正确分类的B(True Positive)/分类为B的所有(TP+False Positive) = 10/(10+13)

Recall = 正确分类的B(True Positive)/真实为B的所有(TP+False Negative) = 10/(10+8)

F1-SCORE = 2*Precision*Recall/(Precision+Recall)

在用于多类时,指标会有以下两种:

  • Macro-average(宏平均):各个类别的平均 F 值
  • 微平均:使用计数总和计算 F-score(= 多类问题的准确性)

今天就到这里,感谢大家观看,辛苦,有问题,欢迎随时评论探讨。