2

良い HTTP GET 要求と悪いものを区別する必要があるアプリケーションがあります。

For example:

http://somesite.com?passes=dodgy+parameter                # BAD
http://anothersite.com?passes=a+good+parameter            # GOOD

My system can make a binary decision about whether or not a URL is good or bad - but ideally I would like it to predict whether or not a previously unseen URL is good or bad.

http://some-new-site.com?passes=a+really+dodgy+parameter # BAD

I feel the need for a support vector machine (SVM) ... but I need to learn machine learning. Some questions:

1) SVM はこのタスクに適していますか? 2) 生の URL でトレーニングできますか? - 「機能」を明示的に指定せずに 3) 予測がうまくいくにはいくつの URL が必要ですか? 4) どの種類の SVM カーネルを使用すればよいですか? 5) トレーニング後、最新の状態に保つにはどうすればよいですか? 6) 目に見えない URL を再度 SVM でテストして、それが良いか悪いかを判断するにはどうすればよいですか? 私

4

4 に答える 4

6

steveStompChickenはどちらも素晴らしい点を挙げていると思います。

  • 最適なアルゴリズムを選択することは、機械学習の専門家にとっても難しいものです。Weka のような汎用パッケージを使用すると、一連のさまざまなアプローチを簡単に比較して、データに最適な方法を判断できます。
  • 優れた機能を選択することは、多くの場合、学習アルゴリズムがうまく機能するかどうかを左右する最も重要な要素の 1 つです。

他の人が同様の問題にどのように取り組んでいるかを調べることも役立つ場合があります。

  • Qi, X. and Davison, BD 2009. Web ページの分類: 機能とアルゴリズム. ACM Computing Survey 41、2 (2009 年 2 月)、1-31。
  • Kan、MY、HON Thi (2005)。URL 機能を使用した Web ページの高速分類14th ACM International Conference on Information and Knowledge Management (CIKM '05) の議事録、ニューヨーク州ニューヨーク、pp. 325–326。
  • Devi, MI, Rajaram, R., and Selvakuberan, K. 2007. URL 機能を使用した自動 Web ページ分類のための機械学習手法. 計算知能とマルチメディア アプリケーションに関する国際会議の議事録 (ICCIMA 2007) - ボリューム 02 ( 2007年 12 月 13 ~ 15 日)。ワシントン DC、pp. 116-120。
于 2010-03-12T12:04:55.410 に答える
3
  1. ここで SVM が悪い選択であるという steve の意見には同意しませんが、SVM が他の識別学習アルゴリズムよりも優れていると考える理由はあまりないと思います。

  2. 少なくとも機能の設計について考える必要があります。これは、機械学習アルゴリズムを特定の問題でうまく機能させる上で最も重要な部分の 1 つです。問題の詳細がわからないと、何を提案すればよいかを知るのは困難です。URL に存在する文字 n グラムを機能としてカウントすることから始めることができると思います。

  3. 特定の問題にどれだけのデータが必要かは誰にもわかりません。一般的なアプローチは、いくつかのデータを取得し、モデルを学習し、より多くのトレーニング データが役立つかどうかを確認し、それ以上の大幅な改善が得られなくなるまで繰り返すことです。

  4. カーネルはトリッキーなビジネスです。一部の SVM ライブラリには、特徴を抽出せずに文字列をトレーニングできる文字列カーネルがあります (私はSVMsequelを考えていますが、他にもあるかもしれません)。それ以外の場合は、データから数値またはバイナリ機能を計算し、線形、多項式、または RBF カーネルを使用する必要があります。すべてを試しても問題はありません。カーネル パラメータの最適な設定を見つけるために時間を費やす価値があります。データも明らかに構造化されており、学習アルゴリズムに URL の構造を調べさせても意味がありません (無効な URL を気にしない限り)。少なくとも、区切り文字「/」、「?」、「.」、「=」に従って URL を分割する必要があります。

  5. 「最新の状態に保つ」という意味がわかりません。取得した新しいデータを使用してモデルを再トレーニングします。

  6. これは、使用するライブラリによって異なります。svmlight には、モデルと例を取り、クラス ラベル (良いか悪いか) を与える svm_classify というプログラムがあります。どのライブラリでも簡単に実行できると確信しています。

于 2010-03-12T11:27:48.020 に答える
2

私の理解が正しければ、URL が良いか悪いかを知りたいだけです。

SVM は適切ではありません。SVM は、データセットが非常に複雑で、多くの情報ポイントが超平面に近い場合にのみ適切です。SVM を使用して、データに次元を追加します。

データセットをトレーニングするには、理想的には数千の URL が必要です。数が多ければ多いほど、明らかに 100 だけでも実行できますが、結果が適切な分類を生成しない可能性があります。

最初にデータセットを構築し、Weka http://www.cs.waikato.ac.nz/ml/weka/を使用することをお勧めします。

どのアルゴリズムが最良の結果をもたらすかを測定できます。

于 2010-03-11T14:20:09.997 に答える
0

トレーニングにどのデータセットを使用しますか。適切なデータセットがあれば、SVM は適切に機能し、ペナルティ ファクターも適切であると思います。データセットがない場合は、kNN やパーセプトロンなどのオンライン アルゴリズムを使用することをお勧めします。

于 2012-03-05T05:44:14.533 に答える