我正在尝试使用SVM将消息分类为不同的类别。我已经从训练集中汇编了一些理想的单词/符号列表。
对于表示消息的每个矢量,我将相应行设置为1
是否存在该单词:
“语料库”是:[玛丽,小羊羔,星星,闪烁]
第一条消息:“玛丽有只小羊羔”-> [1 1 1 0 0]
第二条消息:“闪烁的小星星”-> [0 1 0 1 1]
我认为这在SVM中是相当常见的设置,但是我的问题是,如果集合中包含成千上万个单词,那么实际上每条消息仅显示1-2个单词会怎样?我的训练向量集的线性相关性是否会对算法的收敛能力产生不利影响?
1
您是否有大量数据,但标签数据很少?如果是这样,您可能想研究半监督学习。使用一些未标记的数据既可以提高准确性,又可以降低过度拟合的风险。
—
神经元2012年
@neuron我曾考虑过要这样做。什么是半监督体系结构示例?
—
jonsca 2012年
我只使用了半监督的“骇客”方法(即训练集上的训练模型,使用模型对数据进行预测,以> 0.5的预测概率提取所有数据,并与训练集合并,并在新的训练集上创建模型)。但我见过flexmix提到的几个地方(见cran.r-project.org/web/packages/flexmix)
—
神经元
@neuron好的,因为我看到的文章(尽管进行了类似维基百科的快速搜索)对体系结构不是很具体。我将结帐
—
jonsca 2012年
flexmix
-不过,我已经在日历上有“ Learn R”已有几年了!
做到这一点,R令人赞叹,可供您使用的库简直令人难以置信。像插入符号,sqldf / rmysql,foreach(与之并行),ggplot2和googlevis之类的工具都非常有用。我一开始并不喜欢这种语言,但是这种语言在我身上成长了,我现在绝对喜欢使用它。
—
神经元