それほど大きなデータではなく、テキストの調性の定義

すべてのアイデアには、シンプルで理解しやすい、間違ったソリューションがあります。
この記事で説明するこれらのソリューションの1つ。
これらの実験を自宅で繰り返そうとしないでください。
そして、試してみると、焼けたプロセッサのクレームは受け入れられません。



したがって、データセットwww.cs.cornell.edu/people/pabo/movie-review-data/review_polarity.tar.gzがあります
1000件の否定的レビューと1000件の肯定的レビューで構成されています。

畳み込みニューラルネットワーク、word2vec、またはxzアーカイバーと線形分類器からの黒パンを使用したその他の現代技術の奇跡に匹敵する精度を得るには?

とても簡単です。

1. 100個のランダムテキスト(50個のネガティブテキストと50個のポジティブテキスト)を取得します。
2.データセットからそれらを捨てます。
3.残りの1900のそれぞれについて、100のそれぞれが次の方法でスローされる一般的な距離を考慮します。
XとYを、距離を計算する必要がある2つのファイルとします。
そして、xzアーカイバーへの圧縮後のファイルNの長さをZ(N)とします。

値を計算する
X = Z(X)
Y = Z(Y)
XY = Z(XY)
YX = Z(YX)

最後の2つの値は、最初のケースではXファイルとYファイル、2番目のケースではYとXの連結をアーカイブした結果です。

そして今、 ここで取った魔法の式を考えます
属性=(最小( XYYX )-最小( XY ))/最大( XY

4. 1900 x 100のマトリックスがあります
次に、0から1に正規化する必要があります。

5.タダム:
$ svm-train -v 10 -s 0 -t 0 -c 10 rand100.norm.svm
相互検証の精度= 75.6316%

なぜ機能するのですか?
事実は、2つのテキストでより一般的なシーケンス、より大きな圧縮Z(XY)
したがって、システム自体が共通の文字グループを割り当てます。
おそらく、200個のランダムファイルの方がうまくいくでしょう。

しかし、自宅でこれを繰り返さないという警告を覚えていますか?
自宅のコンピューターで行列を計算するプロセスには、1つのスレッドの場合、1日かかる場合があります。
または、冷却が不十分な場合は、プロセッサをマルチスレッドモードで焼きます。
ちなみに、これは冗談ではありません。他のアルゴリズムはさらに厳格ですが、私はかつて惑星の反対側のデータセンターで2台のサーバーを焼きました。

そして、それが、この方法が、適用されたファロメトリーのフレームワークで理論的にのみ興味がある理由です。

PS
コードはささいなことを超えないでしょう-私はすべてをシェルおよびパール大麦のオンラインプレーヤーで行いました。ホモサップでそれらを読み取ろうとすると、アーカイブは大脳皮質で直接起こり始めます。 そして、ご存知のように、ニューラルネットワークはそのような負荷にあまり適応していません。

PPS
そして、私はこの実験に触発されました-この投稿

更新
レビューから判断して、実用的な部分を示して、私はこれがなぜ必要であるかを明確にしませんでした。
実際、実際の問題では、この方法は明らかに適用できません。コストが非常に高くなります。

圧縮による距離の計算方法は古くから知られており、理論的な背景があります。
これに慣れること望む人にこれをお勧めします

ただし、質問は特定の方法ではありません。
現代のアナリストは、分類器を長期間、高価に、そして手で構築しています。
手は、フィーチャスカルプトからネットワーク構造の開発まで、一般的に多くのことを行います。

ここでは、主題分野の知識を必要としない完全に不可知な方法を示しました。 まったくありません。 ファイルの内容がどの言語で書かれているかは気にしません。唯一の制限は、バイトの線形ストリームであることです(したがって、画像では機能しません)。

はい、例はおもちゃのカテゴリに属します;実際の問題では、そのようなアルゴリズムは無意味です。

しかし、おもちゃの問題に不可知論的な方法がある場合、それらは大きなものに存在する可能性があります。 そして、そのようなメソッドの検索は、L2メトリックでオートエンコーダーをトレーニングするよりもはるかに興味深いものです。
特に、ここで使用されているNCDメトリックでは自動エンコーダーが機能しない可能性が高いことを考慮してください。

Source: https://habr.com/ru/post/J256787/


All Articles