Java MachineLearningを使用したビッグテキストデータのクラスタリングと分類。記事#1-理論

画像



この記事は、全体像を説明するために3つのパート(問題解決のための理論/メソッドとアルゴリズム/ Javaでの開発と実装)に分かれています。最初の記事には、読者の心を準備するための理論のみが含まれます。



記事の目的:



  • ビッグデータ、つまりテキストデータのクラスタリングと分類のタスクの部分的または完全な自動化。
  • 機械学習アルゴリズムの「監視なし」(クラスタリング)および「監視あり」(分類)の適用。
  • 現在の問題解決策の分析。


一般的に考慮すべきタスク:



  1. 自然言語処理のアルゴリズムと方法の開発と応用。
  2. 入力ドキュメントのクラスターグループを決定するためのクラスタリング手法の開発と適用。
  3. 各クラスターグループの主題を定義するための分類方法の適用。
  4. JavaVaadinに基づくWebインターフェース開発


問題から、そして理論を教えるときに私が推測した仮説:



  • クラスターグループの分類は、個々のオブジェクトの分類よりも、ノイズを無視して、抽象的でより価値のある隠された知識を定義します。
  • クラスタリングの精度は、クラスターグループの数に正比例し、1つのクラスターグループ内のオブジェクトの数に反比例します。


アルゴリズム自体に興味のある人を先取りして、ここに概要があります。



機械学習ソフトウェアアルゴリズムは、次の3つの主要部分で構成されています。



  1. 自然言語処理。

    1. トークン化;
    2. レンマ化;
    3. リストを停止します。
    4. 単語の頻度;


  2. クラスタリング方法。

    TF-IDF;

    SVD;

    クラスターグループの検索。

  3. 分類方法-AylienAPI。


それでは、理論を始めましょう。



1.機械学習の概念



‒ , , . – , , - . “ , , , . , ?”. ‒ , “”. – , , — , .



. , , , , , . - () . , , , .. , ? — , , . ? — , . .



, , , , . , , , , . , . , , . , .



, . ‒ . , . , , . . , " ", . , , .



()? , : “ , E T P, T, P, E”. , E , T , P , . – E, , 100 . “” .



, , . . , , , .



, .





2.



‒ , :



  1. ‒ . , .
  2. ‒ . , , , .
  3. – , , . . , . , ‒ , .
  4. ‒ , . , .



. , , , . , . , , , . ‒ , , , , .



, , , , , .



, . . , . . , . , . , , , . , .



, , . , . , Google, Yahoo, Microsoft, Amazon , . , , Facebook, YouTube Twitter, . , , , , .



, . , . . , . , , , , , .



, . , , . , , .



, . , , , , , , , , , , , / .. , / . , .



結論として、ビッグデータと機械学習は密接に関連していると言えます。ビッグデータは情報の分析と抽出なしでは役に立たず、機械学習はビッグデータなしでは共存できず、アルゴリズムの経験と学習を提供します。





3.機械学習の種類



科学としての機械学習は、学習の性質に応じて3つの主要なカテゴリに分類できます。



  1. 先生と一緒に教える。
  2. 教師なしで教える。
  3. 強化学習。


一部の科学的研究では、本質的に、学習は部分的な学習を含む4つのカテゴリに分類されますが、これは教師の有無による学習の単なる共生です。





3.1。先生と学ぶ



, , , , . , , . , . . , . , , , , . , .



監視付き学習を適用するために問題を解決するには、次の手順に従う必要があります。



  1. トレーニング例のタイプを決定します。まず、トレーニングセットとして使用するデータを決定する必要があります。
  2. データ収集。データセットは、関数の実際の使用を表す必要があります。したがって、入力機能と関連する出力のセットが収集されます。
  3. 調査対象関数のオブジェクトの入力表現の決定。調査中の関数の精度は、入力オブジェクトの表現方法に大きく依存します。通常、入力オブジェクトは、オブジェクトを説明する一連のオブジェクトを含むオブジェクトのベクトルに変換されます。「次元の呪い」のために関数の数が多すぎないようにする必要がありますが、結果を正確に予測するのに十分な情報が含まれている必要があります。
  4. .
  5. . . . ( ) .
  6. . , , .


アルゴリズムは前処理された例を使用してトレーニングされ、この段階でアルゴリズムのパフォーマンスはテストデータを使用して評価されます。データのサブセットで識別されたパターンが、より多くのデータで見つからない場合があります。モデルがトレーニングのサブセットに存在するパターンを表すのにのみ適している場合、「オーバーフィット」と呼ばれる問題が発生します。



オーバーフィットとは、モデルがトレーニングデータセット用に微調整されていることを意味しますが、未知のデータの大きなデータセットには適用できない場合があります。オーバーフィットから保護するために、予期しないデータまたは未知のデータに対してテストを実行する必要があります。テストスイートに予期しないデータを使用すると、結果を予測するときにモデルの精度を測定するのに役立ちます。監視対象の学習モデルは、不正の検出、推奨、音声認識、リスク分析など、さまざまなビジネス上の問題に幅広く適用できます。



最も広く使用され、人気のある監視付き学習アルゴリズムは次のとおりです。



  • ベクトルマシンをサポートします。
  • 線形回帰;
  • ロジスティック回帰;
  • ナイーブベイジアン分類器;
  • デシジョンツリートレーニング;
  • k-最も近い隣人の方法;
  • 人工ニューラルネットワーク;
  • 類似性の研究。


上記の各アルゴリズムには、数学的および統計的な数学的方法と式に対する異なるアプローチがあります。しかし、これらのアルゴリズムはすべて監視された学習であるため、アルゴリズムの一般的なパターンを強調することができます。

n (x_1,y_1),(x_2,y_2),...,(x_n,y_n), x_i ‒ , y_i ‒ . , x_i , , , , . y_i «” „“.



‒ m : (xn+1, xn+2,..., xn+m) * (x_(n+1),x_(n+2),...,x_(n+m) ). , , (, “” “ ”), , .





3.3.



‒ . , . , () . . , “” .



, , (), . , , . ‒ ‒ .



, , . , , , . , , , . , , , , .

ジレンマは、学習も習得も、タスクの失敗なしに排他的に達成することはできないということです。アルゴリズムはさまざまなアクションを試行し、徐々に最適と思われるアクションを優先する必要があります。確率論的問題では、信頼できる推定値を取得するために、各アクションを繰り返し試行する必要があります。学習と習得のジレンマは、数学者によって何十年にもわたって集中的に研究されてきましたが、未解決のままです。



間違いは、規律の尺度(コスト、時間の浪費、後悔、痛みなど、特定の行動方針が他の方針よりも起こりにくいことを教えてくれる)を追加するため、学習に役立ちます。強化学習の興味深い例は、コンピューターがビデオゲームのプレイを学習するときに発生します。人間の介入なしにそれ自体で。



機械学習は、望ましい結果に基づいて分類することもできます。



  1. 分類;
  2. クラスタリング;
  3. 回帰。


回帰アルゴリズムは、一般的に統計分析に使用されます。回帰は、データポイント間のモデル関係を分析するのに役立ちます。回帰アルゴリズムは、データセット内の変数間の相関の強さを定量化できます。さらに、回帰分析は、履歴値に基づいて将来のデータ値を予測するのに役立ちます。ただし、回帰分析では、相関関係は原因と結果に関するものであると想定していることを覚えておくことが重要です。データのコンテキストを理解しないと、回帰分析によって予測が不正確になる可能性があります。回帰タイプ:



  • 線形回帰;
  • 非線形回帰;
  • ベクトル回帰;
  • ロジスティック回帰。


クラスタリングは、理解するのに非常に簡単な手法です。類似のパラメーターを持つオブジェクトは、(クラスター内で)グループ化されます。クラスター内のすべてのオブジェクトは、他のクラスター内のオブジェクトよりも互いに類似しています。クラスタリングは、アルゴリズム自体がデータ内の要素の一般的な特性を決定するため、監視されていない学習の一種です。アルゴリズムは、各要素を構成するパラメーターを解釈し、それに応じてそれらをグループ化します。



クラスタリングカテゴリ:



  • k-meansメソッド;
  • ノイズの多いアプリケーション向けの密度ベースの空間クラスタリング-DBSCAN;
  • クラスタリングアルゴリズムOPTICS;
  • 主成分の方法。


ただし、クラスタリング、特に監視されていない学習では、アルゴリズムが入力データ間の接続を探すことに注意することが重要です。機械学習の美しさは、潜在的な接続としてよく知られている、データ間の隠れた接続を見つけることです。潜在的な関係の検索でクラスタリングするために、変数の値間の関係を研究するために適用される隠し変数のモデルが使用されます。隠し変数モデルには次のものが含まれます。



  • EMアルゴリズム;
  • 瞬間の方法;
  • ブラインド信号分離;
  • 主成分の方法;
  • 独立したコンポーネントの分析。
  • 非負のマトリックス分解;
  • 特異値分解。


分類は、特定のデータポイントのクラスを予測するプロセスです。クラスは、ラベルまたはカテゴリと呼ばれることもあります。分類予測モデリングは、マッピング関数(f)を入力変数(X)から離散出力変数(y)に近似する問題です分類は、監視対象の学習カテゴリに属します。分類スキームの種類:



  • シソーラス;
  • 分類学;
  • データ・モデル;
  • 輸送ネットワーク;
  • オントロジー。


しかし、機械学習では、分類のタイプは、何らかの方法で分類スキームを参照するアルゴリズムのタイプに従って行われます。最も広く使用されている学習アルゴリズムは次のとおりです。



  • ベクトルマシンをサポートします。
  • ロジスティック回帰;
  • ナイーブベイジアン分類器;
  • k-最も近い隣人の方法;
  • 人工ニューラルネットワーク;
  • .


4.



, . . , . – . ‒ , , – . , . , .



(NLP) ‒ . ‒ , , ( ) . , , , . , .



, , .



, , . , . ( ) (), . / . . , , . : () .



, . , -, , ‒ . (NLP). NLP ‒ (-) . NLP , , . NLP, , : . , , ( ). NLP , . NLP, , . , :



  • ‒ () , . – . , . .
  • ‒ , . ? , () , . . . , , . .
  • – , . , . , :

    • , , , , .
    • ,




, . , .



  • - ‒ - , , , , - , . .
  • – . , . , , ( ).


, , . , . . . . . , , . .



機械学習では、ワードドキュメントは、分類内の多くのカテゴリ、またはクラスタリング内の多くのクラスターと重複する可能性があります。最も一般的に使用される機能サンプリングアルゴリズムは次のとおりです。



  • 用語頻度—逆文書頻度(TF-IDF)は、テキスト文書内の各単語をその一意性に従って重み付けするために一般的に使用されます。単語(トークン)の重みは、テキストの情報検索や意味分析によく使用されます。この重みは、コレクションまたはコーパス内のドキュメントにとって単語がどれほど重要であるかを評価するために使用される統計的尺度です。つまり、TF-IDFアプローチは、単語、テキストドキュメント、および特定のカテゴリの関連性を反映します。
  • Word2Vecは、単語のベクトル表現を計算するためのツール(アルゴリズムのセット)であり、2つの主要なアーキテクチャ(単語の連続バッチ(CBOW)とスキップグラム)を実装します。テキストドキュメントまたは単語が入力として渡され、出力データはベクトル変数(ベクトル空間の座標)として表されます。


あとがき



実際、機械学習理論は非常に広大です。ここでは、より抽象的で単純な言葉で書きました。本文や理論に修正がある場合は、書いてください。この記事の目的は、読者が最も実用的な問題と解決策に備えることです。



もっと待っているならコメントを残してください。



All Articles