この記事では、一般的に使用されている機械学習アルゴリズムの概要と、一般的に使用されているさまざまな分類アルゴリズムの精度の比較について説明します。現在人気のTensorFlowとSklearnを集め、Githubや国内外の記事を参考にしました。 機械学習の知識ツリー。この画像は Github にあります。ご興味があれば、自分で見ることができます。 アドレス: https://github.com/trekhleb/homemade-machine-learning この木を単純に翻訳します: 以下は、参考のためにアルゴリズムの概念とアプリケーションの一部を示します。 教師あり学習教師あり学習は、基本的なトレーニングデータを使用した元の予測モデルと見なすことができ、予測されるデータが入力されて予測結果(連続または離散)が得られます。 決定木 (DT)決定木は、人々が意思決定を行うための基礎を提供するツリー構造です。これは、はい/いいえの質問に答えるために使用できます。ツリー構造を通じてさまざまな状況の組み合わせを表します。すべての選択が行われ、最終的に正しい答えが得られるまで、各ブランチは選択 (はいまたはいいえ) を表します。 決定木はツリー構造です (バイナリ ツリーまたは非バイナリ ツリーになります)。決定木を構築する際には、通常、データ内のノイズや外れ値によって生じる過剰適合の問題に対処するために剪定が実行されます。剪定には 2 つの種類があります。
ナイーブベイジアンモデル (NBM) 単純ベイズ分類器は、ベイズの定理とその仮定 (つまり、特徴は独立しており、互いに影響を及ぼさない) に基づいており、主に分類問題と回帰問題を解決するために使用されます。 具体的な用途としては、次のものがあります。
確率を学んだ学生なら、ベイズの定理を知っているはずです。250 年以上前に発明されたこのアルゴリズムは、情報分野で比類のない地位を占めています。ベイズ分類は、一連の分類アルゴリズムの総称です。これらのアルゴリズムはすべてベイズの定理に基づいているため、総称してベイズ分類と呼ばれます。単純ベイズアルゴリズムは、最も広く使用されている分類アルゴリズムの 1 つです。ナイーブ ベイズ分類器は、ターゲット値が与えられた場合、属性は条件付きで互いに独立しているという単純な仮定に基づいています。 最小二乗法線形回帰という言葉を聞いたことがあるかもしれません。線形回帰には最小二乗平均が使用されます。下の図に示すように、平面上には一連の点があり、その線がこれらの点の分布にできるだけ適合するように線を探します。これが線形回帰です。この線を見つける方法は数多くありますが、最小二乗法もその 1 つです。最小二乗法の原理は次のとおりです。平面上のすべての点からその線までのユークリッド距離の合計が最小となる線を見つけます。この線が取得したい線です。 ロジスティック回帰 ロジスティック回帰モデルは、異なる特徴と重みを選択してサンプルを確率的に分類し、ログ関数を使用してサンプルが特定のカテゴリに属する確率を計算するバイナリ分類モデルです。つまり、サンプルは、あるクラスに属する一定の確率と、別のクラスに属する一定の確率を持ちます。より大きな確率を持つクラスが、サンプルが属するクラスです。何かの可能性を推定するために使用されます。 サポートベクターマシン サポート ベクター マシン (SVM) は、N 次元空間で (N-1) 次元の超平面を見つけて、それらの点を 2 つのカテゴリに分割できるバイナリ分類アルゴリズムです。つまり、平面上に 2 種類の線形に分離可能な点がある場合、SVM はこれらの点を分離する最適な直線を見つけることができます。 SVM には幅広い用途があります。 2 つのカテゴリを分離するには、超平面を取得する必要があります。最適な超平面は、2 つのカテゴリに対して最大のマージンを持つ超平面です。マージンとは、超平面とそれに最も近い点との間の距離です。下の図に示すように、Z2>Z1 なので、緑の超平面の方が優れています。 K近傍法(KNN) 近接アルゴリズム、または K 近傍法 (KNN) 分類アルゴリズムは、データ マイニング分類テクノロジにおける最も単純な方法の 1 つです。 KNN アルゴリズムの中心的な考え方は、特徴空間内のサンプルの k 個の最も近い隣接サンプルのほとんどが特定のカテゴリに属する場合、サンプルもこのカテゴリに属し、このカテゴリのサンプルの特性を持つというものです。この方法では、分類の決定を行う際に、最も近い 1 つまたは複数のサンプルのカテゴリのみに基づいて、分類するサンプルのカテゴリを決定します。 KNN メソッドは、カテゴリの決定を行う際に、ごく少数の隣接するサンプルにのみ関連します。 KNN 法は、カテゴリを決定するためにクラス領域を区別する方法ではなく、限られた隣接サンプルに主に依存するため、KNN 法は、より多くの交差または重複したクラス領域で分類されるサンプル セットに他の方法よりも適しています。 主な応用分野は、未知の物体の識別、つまり未知の物体がどのカテゴリに属するかを判断することです。判断の考え方は、ユークリッドの定理に基づいて、未知の物体の特性が既知の物体のどのカテゴリに最も近いかを判断することです。上の図に示すように、緑の円は、赤い三角形、青い四角形のどちらのクラスに割り当てるべきでしょうか? K=3 の場合、赤い三角形が 2/3 を占めるので、緑の円は赤い三角形のクラスに割り当てられます。K=5 の場合、青い四角形が 3/5 を占めるので、緑の円は青い四角形のクラスに割り当てられます。これは、KNN アルゴリズムの結果が K の選択に大きく依存することも示しています。 アンサンブル学習アンサンブル学習とは、多くの分類器を統合し、各分類器に異なる重みを持たせ、これらの分類器の分類結果を最終的な分類結果としてマージすることです。最初のアンサンブル法はベイズ意思決定でした。 アンサンブル アルゴリズムは、比較的弱い学習モデルをいくつか使用して同じサンプルを個別にトレーニングし、その結果を統合して全体的な予測を行います。統合アルゴリズムの主な難しさは、どの独立した弱い学習モデルを統合するか、そして学習結果をどのように統合するかにあります。これは非常に強力なアルゴリズムのクラスであり、非常に人気があります。 一般的なアルゴリズムには次のものがあります。
では、アンサンブル手法はどのように機能し、なぜ単一モデルよりも優れているのでしょうか? それらは結果の偏りを均等にします。つまり、民主党寄りの世論調査と共和党寄りの世論調査を平均すると、どちらか一方に偏らない中立的な結果が得られます。 分散が低減します。つまり、多数のモデルから集約された結果は、単一のモデルからの結果よりもノイズが少なくなります。金融の世界では、これを分散投資と呼びます。複数の株式に投資を組み合わせると、1 つの株式に投資するよりも変動が少なくなります。これが、データ ポイントの数が少ないときよりも、データ ポイントの数が多いときの方がモデルが良くなる理由です。 過剰適合する可能性が低くなります。過剰適合しない単一のモデルがあり、予測を単純な方法 (平均、加重平均、ロジスティック回帰) で組み合わせると、過剰適合の余地がなくなります。 教師なし学習クラスタリングアルゴリズムクラスタリング アルゴリズムは、大量のデータを処理し、類似性に応じてデータをクラスタ化します。 クラスタリングは、回帰と同様に、問題のクラスとして説明される場合もあれば、アルゴリズムのクラスとして説明される場合もあります。クラスタリング アルゴリズムは通常、中心点またはレイヤーに基づいて入力データをクラスターにグループ化します。すべてのクラスタリング アルゴリズムは、データの固有の構造を見つけ、最大の共通性に従ってデータを分類しようとします。一般的なクラスタリング アルゴリズムには、k-Means アルゴリズムと期待値最大化 (EM) アルゴリズムがあります。 クラスタリング アルゴリズムには、中心クラスタリング、相関クラスタリング、密度クラスタリング、確率的クラスタリング、次元削減、ニューラル ネットワーク/ディープラーニングなど、多くの種類があります。 K平均法 K-means アルゴリズムは、ハード クラスタリング アルゴリズムであり、プロトタイプ ベースの目的関数クラスタリング方法の代表的なものです。データ ポイントからプロトタイプまでの一定の距離を最適化された目的関数として使用し、関数の極値を見つける方法を使用して、反復操作の調整規則を取得します。 K 平均法アルゴリズムは、類似度の尺度としてユークリッド距離を使用します。評価指標 J が最小になるように、特定の初期クラスター中心ベクトル V に対応する最適な分類を探します。このアルゴリズムは、クラスタリング基準関数として誤差二乗和基準関数を使用します。 K-means アルゴリズムは、距離を類似性の評価指標として使用する典型的な距離ベースのクラスタリング アルゴリズムです。つまり、2 つのオブジェクト間の距離が近いほど、類似性が高くなると考えられます。このアルゴリズムでは、クラスターは互いに近接したオブジェクトで構成されていると想定しているため、コンパクトで独立したクラスターを取得することが最終的な目標となります。 通常、クラスタリングはサンプル間の特定の距離または類似性に基づいて定義されます。つまり、類似した (または近い) サンプルは同じクラスにグループ化され、類似していない (または遠い) サンプルは他のクラスに分類されます。 主成分分析(PCA)主成分分析では、直交変換を使用して、関連する可能性のある一連のデータを線形独立データに変換し、主成分を見つけます。 PCA 法の最も有名な応用例は、おそらく顔認識における特徴抽出とデータ次元削減でしょう。 PCA は主に、単純な学習や視覚化におけるデータ圧縮と簡素化に使用されます。しかし、PCA には一定の制限があり、特定の分野に関する関連知識が必要になります。ノイズの多いデータには適していません。 SVD 行列分解 (特異値分解)特異値分解としても知られるこれは、線型代数における重要な行列分解であり、行列解析における正規行列のユニタリー対角化の一般化です。信号処理、統計、その他の分野で重要な用途があります。 SVD 行列は、複素実数および複素負行列です。m 行 n 列の行列 M が与えられた場合、M 行列は M = UΣV に分解できます。 U と V はユニタリ行列であり、Σ は対角行列です。 PCA は実際には SVD 分解の簡略化されたバージョンです。コンピュータービジョンの分野における最初の顔認識アルゴリズムは、特徴を使用して顔を表現し、次元を削減し、最後に顔のマッチングを実行する PCA と SVD に基づいていました。顔認識の方法は現在ではより複雑になっていますが、基本的な原理は今でも似ています。 独立成分分析 (ICA)独立成分分析 (ICA) は、ランダム変数の背後にある隠れた要因を発見するために使用される統計手法です。 ICA は観測データの生成モデルを定義します。このモデルでは、データ変数は混合システムを通じて線形に混合された潜在変数で構成されており、この混合システムは未知であると考えられます。また、潜在因子は非ガウス分布に属し、互いに独立しており、観測可能なデータの独立成分と呼ばれることも想定されます。 ICA は PCA に関連していますが、潜在的要因の発見に適しています。デジタル画像、文書データベース、経済指標、心理測定などに適用できます。 上の図は、ICA に基づく顔認識モデルを示しています。実際、これらの機械学習アルゴリズムは想像されているほど複雑ではなく、高校の数学に密接に関連しているものもあります。 強化学習Q学習アルゴリズムQ 学習が解決しようとしている問題は、環境を認識できる自律エージェントが、学習を通じて目標を達成するために最適なアクションをどのように選択できるかということです。 強化学習の目的は、エージェントの行動パフォーマンスを最大化するための制御戦略を構築することです。エージェントは複雑な環境から情報を認識し、その情報を処理します。エージェントは学習を通じて自身のパフォーマンスを向上させ、行動を選択し、それによってグループ行動の選択を生成します。個人の行動の選択とグループの行動の選択により、エージェントは意思決定を行い、特定のアクションを選択できるようになり、それによって環境に影響を与えます。強化学習は、動物学習、確率近似、最適制御などの理論から発展したものであり、環境状態から行動へのマッピングを学習し、エージェントが最大報酬値に基づいて最適な戦略を採用できるようにする教師なしオンライン学習技術です。エージェントは環境内の状態情報を知覚し、戦略(どの戦略が最も効果的な学習を生み出すことができるか)を検索し、最適な行動を選択し、それによって状態の変化を引き起こし、遅延報酬値を取得し、評価関数を更新し、学習プロセスを完了した後、次のラウンドの学習トレーニングに入り、全体の学習の条件が満たされて学習が終了するまでサイクル反復を繰り返します。 Q 学習はモデルフリーの強化学習技術です。具体的には、Q 学習は、任意の (有限の) マルコフ決定プロセス (MDP) に対して最適なアクション選択ポリシーを見つけるために使用できます。これは、特定の状態で特定のアクションを実行することの期待効用を最終的に示すアクション価値関数を学習し、最適な戦略に従うことによって行われます。ポリシーとは、エージェントがアクションを選択した後に従うルールです。このようなアクション価値関数を学習すると、各状態で最も価値の高いアクションを選択するだけで最適なポリシーを構築できます。 Q 学習の利点の 1 つは、環境のモデルを必要とせずに、利用可能なアクションの期待される効用を比較できることです。さらに、Q 学習は、適応を必要とせずに、確率的な遷移と報酬に関する問題を処理できます。有限の MDP に対して、Q 学習は最終的に、現在の状態から始まる連続するすべてのステップで返される合計報酬の期待値が達成可能な最大値になるという意味で、最適なポリシーを見つけることが示されています。 機械学習用の一般的な Python パッケージ学習する分類、回帰、クラスタリング アルゴリズムを含むオープン ソースの機械学習モジュール。主なアルゴリズムには、SVM、ロジスティック回帰、ナイーブ ベイズ、Kmeans、DBSCAN などがあり、いくつかのコーパスも提供されています。
ナンピー数値の配列と行列を定義する Python の言語拡張。単一のデータ型を格納する多次元配列 (ndarray) と行列 (matrix) を提供します。
スキピーnumpy をベースに、線形代数、常微分方程式の数値解法、信号処理、画像処理、スパース行列など、数学、科学、工学の計算でよく使用される多くのモジュールを追加します。
パンダデータを直接処理および操作するためのメインパッケージ。表形式のデータの処理に便利なデータフレームなどのデータ構造を提供します。
統計モデルパラメータ推定と統計検定のためのユーティリティを含む統計および計量経済学パッケージ
matplotlib、pyplot、pylab統計グラフを生成するために使用されます。 pyplot と pylab は matplotlib のサブモジュールなので、matplotlib をインストールするだけで pyplot と pylab が使用できるようになります。
ジエバ中国語の単語分割ツール。
パターンこのライブラリは、機械学習アルゴリズムを提供するだけでなく、データの収集と分析に役立つツールも提供するため、「フルスイート」ライブラリのようなものです。データ マイニング セクションでは、Google、Twitter、Wikipedia などの Web サービスからデータを収集できます。また、Web クローラーと HTML DOM パーサーも備えています。 「これらのツールを導入する利点は、同じプログラムでデータの収集とトレーニングがはるかに簡単になることです。
さまざまなアルゴリズムの精度の比較今回の精度比較は、合計 21,282 個のコーパス サンプルと 911 個の分類ラベルに基づいています。コーパスは企業コーパスであり、一般には公開されていません。適合率は、サンプル全体を80%のトレーニングセットと20%のテストセットに8:2の割合で分割して計算されます。実験プロセスは各論文に詳細に記録されています。 21282 未満のデータ量は、サンプルデータ全体の一部を採取した実験であり、効果統計は次のとおりです。 サポートベクターマシンsklearnのアップグレード版リブリニア学習するランダムフォレストナイーブベイズモデルK近傍法ロジスティック回帰決定木 |
<<: 清華大学がJittorをオープンソース化:国内初の大学開発のディープラーニングフレームワーク、PyTorchへのワンクリック変換が可能
>>: 中国科学院、2019年の世界人工知能の発展を総合的に総括:8つの主要技術が登場し、AIはより多くの分野に浸透
最近、同義千文がとても人気になってきました。少し前にネットユーザーの間で熱狂を巻き起こした国民的ダン...
人工知能やビッグデータなどの技術の発展に伴い、チャットボットも大きな進歩を遂げています。その応用分野...
[[267801]] AI システムがどのように意思決定を行うかを人々が理解できるようにする説明可能...
マイクロソフトの創業者ビル・ゲイツは、現在のAIの開発動向についてどう考えているのでしょうか?最近の...
十分なデータがあれば、愛する人が亡くなった後でも、その人の意識を生かし続けることができます。それは何...
11月28日、北京国家会議センターでFlink Forward Asia 2019が開催されました。...
データと機械学習アルゴリズムから得られる洞察は非常に貴重ですが、ミスは評判、収益、さらには命を奪う可...
この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...
💫X プラットフォーム ユーザー @jian は、シンプルな自然言語の指示を通じて Manus の...
[[409544]] 2021年5月初旬、イスラエルに住むパレスチナ人とイスラエル警察の間で激しい衝...
[[320126]] [51CTO.com クイック翻訳]ソフトウェア定義広域ネットワーク (SD-...