自分のIQに挑戦してみませんか? 10 種類の機械学習アルゴリズムを理解してデータ サイエンティストになろう

自分のIQに挑戦してみませんか? 10 種類の機械学習アルゴリズムを理解してデータ サイエンティストになろう

データ サイエンティストになりたいですか? 十分な知識と新しいことに対する好奇心が必要です。このため、データ サイエンティストはほぼすべての一般的なアルゴリズムを習得し、そのうちの 1 つに精通することで、新しい分野の問題に迅速に適応できるようになります。

今日は、すべてのデータ サイエンティストが知っておくべき上位 10 の機械学習アルゴリズムについてお話します。ここでは、一般的な機械学習アルゴリズムと簡単なリソースの嵐を一挙に紹介します。準備はいいですか? 頭を悩ませるチャレンジを始めましょう:

1. 主成分分析(PCA)/特異値分解(SVD)

PCA は、ベクトルで構成されるデータセットの全体的な特性を理解するために使用される教師なし学習手法です。ここでは、データ ポイントの共分散モデルを分析して、どの次元 (主に)/データ ポイント (時々) がより重要であるか、つまり、それらの次元間の分散は高いが、他の変数との共分散は低いかを理解します。

この考え方は、主に最も高い固有値を持つ固有ベクトルを考える場合に用いられます。また、SVD は本質的には順序付けられたコンポーネントを計算する方法でもありますが、データ ポイントの共分散行列を取得して計算する必要はありません。

このアルゴリズムは、次元を削減したデータ ポイントを取得することで、複数の次元の影響に対処するのに役立ちます。

ライブラリ:

  • https://docs.scipy.org/doc/scipy/reference/generated/scipy.linalg.svd.html
  • http://scikit-learn.org/stable/modules/generated/sklearn.decomposition.PCA.html

入門チュートリアル:

  • 出典: http://arxiv.org/pdf/1404.1100.pdf

2.1 最小二乗法と多項式フィッティング

大学で学んだ数値解析のコーディングを覚えていますか? 直線や曲線を当てはめて方程式を導きましたか?これらを使用して、非常に小さく低次元のデータセットの機械学習で曲線をフィッティングできるようになりました。大規模なデータセットや多次元データセットの場合は、おそらくオーバーフィットが必要になるので、気にする必要はありません。通常最小二乗法 (OLS) には閉じた形式の解があるため、複雑な最適化手法を使用する必要はありません。

明らかに、このアルゴリズムを使用して単純な曲線/回帰を適合させることができます。

ライブラリ:

  • https://docs.scipy.org/doc/numpy/reference/generated/numpy.linalg.lstsq.html
  • numpy の 1.10.0 リファレンス

入門チュートリアル:

  • https://lagunita.stanford.edu/c4x/HumanitiesScience/StatLearning/asset/linear_regression.pdf

2.2 制約付き線形回帰

最小二乗法は、データ内の外れ値、誤った次元、ノイズによって混乱する可能性があります。したがって、データセットに適合する線の分散を減らすための制約が必要です。正しいアプローチは、制御可能な重みを持つ線形回帰モデルを適合させることです。モデルでは、L1 正則化 (LASSO)、L2 正則化 (リッジ回帰)、またはこれら 2 つの組み合わせ (弾性回帰) を使用できます。平均二乗損失は正規化後に最適化されます。

これらのアルゴリズムを使用して、制約付きの回帰直線を適合させ、過剰適合を回避し、モデルからノイズの多い次元を非表示にします。

ライブラリ:

  • 線形モデル

入門チュートリアル:

  • https://www.youtube.com/watch?v=5asL5Eq2x0A
  • https://www.youtube.com/watch?v=jbwSCwoT51M

3. K平均法クラスタリング

これは誰もが好む教師なし学習クラスタリング アルゴリズムです。ベクトル形式のデータ ポイントのセットが与えられると、それらの間の距離に基づいてデータ ポイントのグループを生成できます。これは、クラスターの中心を繰り返し移動し、各クラスターの中心点を収集する期待値最大化アルゴリズムです。このアルゴリズムが受け取る入力は、生成するグループの数と、グループを収束させるために試行する反復回数です。

名前が示すように、このアルゴリズムを使用してデータセット内に K 個のクラスターを作成できます。

図書館:

  • http://scikit-learn.org/stable/modules/generated/sklearn.cluster.KMeans.html

入門チュートリアル:

  • https://www.youtube.com/watch?v=hDmNF9JG3lo
  • https://www.datascience.com/blog/k-means-clustering

4. ロジスティック回帰

ロジスティック回帰は制約付き線形回帰であり、その結果は非線形に変換されます (一般的にはシグモイド関数が使用されますが、tanh も使用できます)。そのため、出力は +/- クラス出力 (シグモイドでは 1 と 0) に制限されます。

クロスエントロピー損失関数は、勾配降下法を使用して最適化されます。まず、ロジスティック回帰は回帰ではなく分類に使用されます。ロジスティック回帰を単層ニューラル ネットワークとして考えることもできます。ロジスティック回帰は、勾配降下法または L-BFGS アルゴリズムのいずれかを使用して最適化されます。 NLP 自然言語プロセッサでは通常、これを最大エ​​ントロピー分類器と呼びます。

LR を使用して、非常にシンプルでありながら非常に強力な分類器をトレーニングします。

ライブラリ: http://scikit-learn.org/stable/modules/generated/sklearn.linear_model.LogisticRegression.html 入門チュートリアル: https://www.youtube.com/watch?v=-la3q9d7AKQ

5.SVM(サポートベクターマシン)

  • SVM (サポート ベクター マシン) は、線形/ロジスティック回帰に似た線形モデルです。違いは、それらが異なる限界ベースの損失関数を持っていることです (サポート ベクトルの導出は、固有値の計算に匹敵する、私が今まで見た中で最も美しい数学的結果の 1 つです)。損失関数を最適化するには、B-FGS や SGD などの最適化手法を使用できます。
  • SVM のもう 1 つの革新は、特徴エンジニアリングにおけるカーネルの使用です。ドメインに関する優れた洞察力があれば、古い RBF カーネルをより優れたカーネルに置き換えて、そのメリットを享受できます。
  • SVM のユニークな特性は、クラスの分類子を学習できることです。
  • SVM は分類器 (さらには回帰関数) のトレーニングに使用できます。

図書館:

  • http://scikit-learn.org/stable/modules/generated/sklearn.svm.SVC.html

入門チュートリアル:

  • https://www.youtube.com/watch?v=eHsErlPJWUU

6. フィードフォワードニューラルネットワーク

これらは基本的に多層ロジスティック回帰分類器です。多くのレイヤーの重みは非線形性によって分離されます (SigMOID、TANH、ReLU+SULTMax、そして新しい SELU)。もう一つのよく知られた名前は、多層パーセプトロンです。フィードフォワード ニューラル ネットワークはオートエンコーダーとして機能し、分類や教師なし特徴学習に使用できます。


フィードフォワード ニューラル ネットワークはオートエンコーダーとして機能し、分類器のトレーニングや特徴の抽出に使用できます。

ライブラリ:

  • http://scikit-learn.org/stable/modules/generated/sklearn.neural_network.MLPClassifier.html#sklearn.neural_network.MLPClassifier
  • http://scikit-learn.org/stable/modules/generated/sklearn.neural_network.MLPRegressor.html
  • https://github.com/keras-team/keras/blob/master/examples/reuters_mlp_relu_vs_selu.py

入門チュートリアル:

  • http://www.deeplearningbook.org/contents/mlp.html
  • http://www.deeplearningbook.org/contents/autoencoders.html
  • http://www.deeplearningbook.org/contents/representation.html

7. 畳み込みニューラルネットワーク(Convnets)

現在、世界中の視覚ベースの機械学習の成果のほぼすべては、畳み込みニューラル ネットワークを通じて達成されています。これらは、画像分類、オブジェクト検出、さらには画像セグメンテーションにも使用できます。

これは 80 年代後半から 90 年代前半にかけて Yann Lecun によって発明され、階層的な特徴抽出器として機能する畳み込み層を備えています。テキスト(またはグラフィック)でも使用できます。

Convnets は、最先端の画像およびテキストの分類、オブジェクトの検出、画像のセグメンテーションに使用されます。

ライブラリ:

  • https://developer.nvidia.com/digits
  • https://github.com/kuangliu/torchcv
  • チェイナー
  • https://keras.io/applications/

入門チュートリアル:

  • 出典: http://cs231n.github.io/
  • https://adeshpande3.github.io/A-Beginner%27s-Guide-To-Understanding-Convolutional-Neural-Networks/

8. リカレントニューラルネットワーク (RNN)

RNN は、集約状態で同じ重みを再帰的に使用してシーケンスをモデル化します。前提として、このシーケンスには 0..t..T の時点で入力があり、時刻 t には RNN の t-1 ステップから出力される隠し層があります。

純粋な RNN は現在ではほとんど使用されておらず、シーケンス モデリングの最前線を代表する対応する LSTM と GRU に置き換えられています。

RNN (密な接続と非線形性がある場合、現在では通常 LSTM と GRU が使用されます)。純粋な RNN では、LSTM ユニットが密に接続されたレイヤーを置き換えます。

RNN を使用して、テキスト分類、機械翻訳、言語モデリングなどのシーケンス モデリング タスクを完了します。

図書館:

  • https://github.com/tensorflow/models (Google の多くの興味深い NLP 研究論文がここにあります)
  • https://github.com/wabyking/TextClassificationBenchmark
  • http://opennmt.net/

入門チュートリアル:

  • スタンフォード大学
  • http://www.wildml.com/category/neural-networks/recurrent-neural-networks/
  • http://colah.github.io/posts/2015-08-Understanding-LSTMs/

9. 条件付きランダムフィールド(CRF)

CRFS は、おそらく確率的グラフィカル モデル (PGM) ファミリーの中で最も一般的に使用されているモデルです。これらは RNN のようなシーケンス モデリングに使用され、RNN と組み合わせて使用​​することもできます。これは、CRF や、多数のシーケンスにわたる小さなデータセットを使用したラベル付けタスクが登場する前のニューラル機械翻訳システムの最先端技術でした。

現時点では、CRFS は、大量のデータのサポートを必要とする RNN などのアルゴリズムよりも依然として多くの利点を持っています。また、画像セグメンテーションなどの他の構造化予測タスクにも使用できます。 CRF は、シーケンス内の各要素 (文など) をモデル化します。これにより、シーケンス内のすべてのラベルが互いに独立しているのではなく、シーケンス内のコンポーネントのラベルが互いに影響し合うようになります。

CRF を使用して、シーケンス (テキスト、画像、時系列、DNA など) にラベルを付けます。

図書館:

  • https://sklearn-crfsuite.readthedocs.io/en/latest/

入門チュートリアル:

  • http://blog.echen.me/2012/01/03/introduction-to-conditional-random-fields/

10. 決定木

さまざまな果物のデータを含む Excel スプレッドシートを入手し、どれがリンゴであるかを知る必要がある場合は、次の質問をします。

[[229066]]

最初の質問: 「どの果物が赤くて丸いですか?」そして「はい」と「いいえ」を使ってすべての果物を区別します。 ただし、赤くて丸い果物がすべてリンゴであるとは限らず、リンゴはすべて赤くて丸いわけではありません。

2 番目の質問:すべての赤くて丸い果物のうち、「どれが赤または黄色の特徴を持っていますか?」また、すべての赤くない丸い果物のうち、「どれが緑で丸いですか?」と尋ねます。

これらの質問に基づいて、どれがリンゴであるかを正確に判断できます。

この一連の質問は意思決定ツリーです。

ただし、これは私たちの直感に基づいた意思決定ツリーです。高次元で複雑なデータでは、直感はうまく機能しません。ラベル付けされたデータを見て、この一連の質問を自動的に行う必要があります。これが、決定木ベースの機械学習技術が行うことです。

CART ツリーなどの初期バージョンは、かつては単純なデータの処理に使用されていましたが、データセットが大きくなるにつれて、分散とバイアスのトレードオフにより、より優れたアルゴリズムが必要になりました。現在使用されている 2 つの一般的な決定木アルゴリズムは、ランダム フォレスト (属性のランダムなサブセットに基づいてさまざまな分類子を構築し、それらを組み合わせて出力を作成する) とブースト ツリー (上位層を継続的にトレーニングして下位層のエラーを修正する) です。

決定木は、データ ポイントを分類 (または回帰) するために使用できます。

ライブラリ:

  • ランダムフォレスト分類子
  • http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.GradientBoostingClassifier.html
  • http://xgboost.readthedocs.io/en/latest/
  • https://catboost.yandex/

入門チュートリアル:

  • モデルは、以下のとおりです。
  • https://arxiv.org/abs/1511.05741
  • https://arxiv.org/abs/1407.7502
  • http://education.parrotprediction.teachable.com/p/practical-xgboost-in-python
[[229067]]
(インターネットからの写真)

TD アルゴリズム (持つ価値あり)

上記のアルゴリズムが Deepmind Go のような世界チャンピオンに勝てるかどうかまだ疑問に思っているなら、残念ながら勝てません。

これまでに説明した 10 個のアルゴリズムはすべて、ポリシー学習ではなくパターン認識でした。チェスのゲームに勝つ、または Atari をプレイするなど、複数のステップから成る問題を解決するためのポリシーを学習するには、繰り返しトレーニングを行い、報酬と罰のシステムから学習する必要があります。

機械学習技術のこの部分を深層強化学習と呼びます。この分野における多くの成功事例は、時間差分学習と呼ばれるアルゴリズム ファミリである Convent または LSTM の知覚機能を組み合わせた結果です。

これらには、Q 学習、SARSA、およびその他のバリエーションが含まれます。これらのアルゴリズムはベルマン方程式において非常にスマートであり、環境から得られる報酬によってトレーニングされ、損失関数を取得できます。

これらのアルゴリズムは、主に自動ゲームプレイや、言語生成やオブジェクト検出に関連するその他のアプリケーションに使用されます。

<<:  3Dマップナビゲーションに頼らず、自動運転技術が新たな分野に進出

>>:  人工知能の世界における機械学習とディープラーニング

ブログ    
ブログ    
ブログ    

推薦する

アルゴリズム学習のための動的プログラミング戦略の紹介

1. コンセプト動的プログラミング戦略、分割統治戦略。貪欲戦略と同様に、通常は最適解問題を解決するた...

ディープラーニングパーセプトロンの原理の詳しい説明

前回の機械学習のトピックは終了しました。機械学習の分野でよく使用されるアルゴリズム、モデル、その原理...

朱順燕:機械知能の発展は、機能的なニーズから感情的なニーズへの進化です。

「Tmall Genieに代表される機械知能デバイスは、まさに家族の一員となり、より心温まるイノベ...

GoogleはBingの検索アルゴリズムを評価する研究開発チームを設立、創設者が戦いを監督

北京時間6月15日朝のニュースで、事情に詳しい関係者は、グーグルがマイクロソフトの新しい検索エンジン...

Google の大きな暴露: 謎の AI ツールが明らかに、Gemini が PaLM 2 に取って代わる

「大リーク:コードネームStubbsというGoogleの謎のAIツールが暴露された」と、Xという名の...

機械学習モデルの品質を保証し、その有効性を評価する方法

[[396139]]近年、機械学習モデルアルゴリズムは、ますます多くの産業実践に実装されるようになり...

...

IDC: 生成型AIへの世界的な支出は2027年に1,430億ドルに達する

IDC は最近、世界中の企業による生成 AI サービス、ソフトウェア、インフラストラクチャへの支出が...

生成AIを使用してフィッシングメール攻撃を防ぐ方法

今年、ChatGPTはインターネット全体で人気を博しました。近年、AI人工知能は大きな進歩を遂げ、あ...

...

RLHF にはもう人間は必要ありません! Googleチームの研究により、AIによる注釈が人間のレベルに達したことが証明される

たとえば、RLHF の「人間」が入れ替わった場合、それは実現可能でしょうか? Google チームの...

AI + データサイエンス: スポーツ業界を変える6つの方法

[[329380]]テクノロジーの発展に伴い、人工知能とデータサイエンスはスポーツの分野でますます重...

ICDM の選択: データ マイニングの代表的なアルゴリズム トップ 10

2006 年 12 月、国際的に有名な学術組織である IEEE 国際データマイニング会議 (ICD...

アルゴリズムのアルゴリズム: すべての機械学習アルゴリズムはニューラルネットワークとして表現できる

機械学習におけるすべての研究は、ニューラル ネットワークの作成とともに 1950 年代の初期の研究以...

...