文本分类模型

一.分类模型选择

  1. 计算样本的数量/每个样本中单词的数量这个比率。
  2. 如果这个比率小于1500,那么将文本标记为n-grams并使用简单的MLP模型进行分类(下面的流程图的左边分支):
    a. 将样本分解成word n-grams;把n-grams转换成向量。
    b. 给向量的重要性打分,然后根据分支选择前20K。
    c. 构建一个MLP模型。
  3. 如果比率大于1500,则将文本标记为序列,并使用sepCNN模型进行分类(流程图右边分支):
    a. 将样本分解成单词;根据频率选择前20K的单词。
    b. 将样本转换为单词序列向量。
    c. 如果原始样本数/每个样本的单词数这个比率小于15K,则使用微调的预训练sepCNN模型,可能得到最优的结果。
  4. 用不同的超参数值来测量模型的性能,以找到数据集的最佳模型配置
    文本分类流程图
    二.常见的机器学习分类算法比较
    1.NB
    在属性个数比较多或者属性之间相关性较大时,NBC模型的分类效率比不上决策树模型
    2.KNN
    [1]对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合
    [2]算法比较适用于样本容量比较大的类域的自动分类,而那些样本容量较小的类域采用这种算法比较容易产生误分
    [3]样本不平衡时可能会误分
    3.决策树(Decision Trees)
    优点:
    [1]决策树易于理解和解释.人们在通过解释后都有能力去理解决策树所表达的意义。
    [2]对于决策树,数据的准备往往是简单或者是不必要的.其他的技术往往要求先把数据一般化,比如去掉多余的或者空白的属性。
    [3]能够同时处理数据型和常规型属性。其他的技术往往要求数据属性的单一。
    [4]在相对短的时间内能够对大型数据源做出可行且效果良好的结果。
    [5]可以对有许多属性的数据集构造决策树。
    缺点:
    [1]对于那些各类别样本数量不一致的数据,在决策树当中,信息增益的结果偏向于那些具有更多数值的特征。
    [2]决策树处理缺失数据时的困难。
    [3]过度拟合问题的出现。
    [4]忽略数据集中属性之间的相关性。

4.Adaboosting方法
[1]adaboost是一种有很高精度的分类器。
[2]可以使用各种方法构建子分类器,Adaboost算法提供的是框架。
[3]当使用简单分类器时,计算出的结果是可以理解的。而且弱分类器构造极其简单。
[4]简单,不用做特征筛选。
p5[不用担心overfitting。

5.支持向量机(SVM)
优点:
[1]可以解决小样本情况下的机器学习问题。
[2]可以解决高维问题。
[3]可以解决非线性问题。
缺点:
[1]对缺失数据敏感。
[2]对非线性问题没有通用解决方案,必须谨慎选择Kernelfunction来处理。

6.人工神经网络
优点:
分类的准确度高,并行分布处理能力强,分布存储及学习能力强,对噪声神经有较强的鲁棒性和容错能力,能充分逼近复杂的非线性关系,具备联想记忆的功能等。
缺点:
神经网络需要大量的参数,如网络拓扑结构、权值和阈值的初始值;不能观察之间的学习过程,输出结果难以解释,会影响到结果的可信度和可接受程度;学习时间过长,甚至可能达不到学习的目的。

猜你喜欢

转载自blog.csdn.net/ys_1991/article/details/88385520