スパーストレーニングセットはSVMに悪影響を及ぼしますか?


12

SVMを使用してメッセージをさまざまなカテゴリに分類しようとしています。トレーニングセットの望ましい単語/記号のリストをまとめました。

メッセージを表す各ベクトルについて1、単語が存在する場合に対応する行を設定します。

「コーパス」は次のとおりです。[メアリー、リトル、ラム、星、きらめき]

最初のメッセージ:「メアリーには小さな子羊がいた」-> [1 1 1 0 0]

2番目のメッセージ:「小さな星をきらめき」-> [0 1 0 1 1]

これはSVMでかなり一般的な設定だと思いますが、私の質問は、セットに数千の単語がある場合、実際に表示されるメッセージごとに1-2単語しかない場合はどうでしょうか?トレーニングベクトルのセットの線形依存性は、アルゴリズムの収束能力に悪影響を及ぼしますか?


1
データはたくさんありますが、ラベル付きデータはほとんどありませんか?もしそうなら、あなたは半教師付き学習を調べたいかもしれません。ラベルのないデータの一部を使用すると、精度が向上し、過剰適合のリスクが減少します。
ニューロン

@neuron私はそうすることを考えていました。半監視アーキテクチャの例は何ですか?
jonsca

1
私は半監視の「ハッキング」方法のみを使用しました(トレーニングセットでトレーニングモデル、データを予測するモデルを使用し、0.5以上の予測確率ですべてのデータを取得し、トレーニングセットとマージし、新しいトレーニングセットでモエルを作成します)。しかし、flexmixがいくつかの場所に言及しているのを見ました(cran.r-project.org/web/packages/flexmixを参照)
ニューロン

@neuronわかりました、わかりました。なぜなら、私が見た記事(ウィキペディアのような簡単な検索ではありましたが)は、アーキテクチャについてあまり具体的ではなかったからです。私はチェックアウトしますflexmix-しかし、私はここ数年、私のカレンダーに "Learn R"を持っています!
jonsca

それをしてください、Rは驚くべきものです、あなたに利用可能になるライブラリはただ気が遠くなるでしょう。キャレット、sqldf / rmysql、foreach(並列for)、ggplot2、googlevisなどは、非常に役立つツールです。私は最初はこの言語のファンではありませんでしたが、成長してきました。
ニューロン

回答:


9

スパース性と線形依存性は2つの異なるものです。線形依存は、いくつかの特徴ベクトルが他の特徴ベクトルの単純な倍数であることを意味します(または例に適用されるものと同じ)。あなたが説明したセットアップでは、線形依存性はありそうにないと思います(2つの用語がすべてのドキュメントで同じ頻度(またはその倍数)を持っていることを意味します)。単にスパース機能を持つだけでは、SVMに問題はありません。これを確認する1つの方法は、座標軸のランダムな回転を行うことです。これにより、問題は変わらず同じ解決策が得られますが、データは完全にスパースになります(これはランダムな投影の一部です) )。

また、あなたは原初の SVMについて話しているようです。カーネルSVMを使用する場合、スパースデータセットがあるからといって、カーネルマトリックスがスパースであることを意味しないことに注意してください。ただし、ランクが低い場合があります。その場合、実際にこの事実を利用してより効率的なトレーニングを行うことができます(たとえば、低ランクのカーネル表現を使用した効率的なsvmトレーニングを参照)。


1
確かに、私は自分の用語で少し速くてゆるい人でした。理にかなっています。
-jonsca
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.