テン初心者の機械学習アルゴリズムツアー
機械学習は、「として知られている無料のランチとしてはありません」定理。
簡単に言えば、この定理は、特に教師付き学習に関連付けられている、それは普遍的なアルゴリズムが存在しないと述べ、それはすべての問題を解決することができるアルゴリズムを使用することです。
例えば、ニューラルネットワークは、常により良い意思決定ツリー、およびその逆よりも言うことはできません。そのようなデータセットのサイズや構造などの仕事で多くの要因があります。
私は、問題が発生した場合さて、あなたはアルゴリズムの性能を評価し、最良の選択した予約「テストセット」のデータを使用しながら、最初の問題を解決するための種々の異なるアルゴリズムを試し、そして最高のGitHubのコード変更ハハハッハッハを検索する必要があります。
あなたが家をきれいにする必要がある場合はもちろん、あなたは掃除機、ほうきやモップを使用することができます。あなたは、右のシャベルを使用していないだろうか?
だから、アルゴリズムが解決されるのに適した問題でなければならないしてみてください、これは機械学習のタスクを選択し、正しいソースです。
基本原理
普遍的な原理は、すべての教師機械学習アルゴリズム予測モデリングの基礎であります。
機械学習アルゴリズムは、学習目的関数として記述されています 、好ましくは、入力変数の関数であり、 出力変数にマッピングされ
これは、我々は新しい入力変数をしたいことを考えると、単純な学習課題であります の場合には、用 の予測。しかし、私は機能を知りません 。
機械学習の最も一般的なタイプは、マップを学んでいます 新しいものかもしれません の予測 、目標は、最も正確な予測が可能です。
機械学習の分野に入るために、機械学習の無い初心者基本は、私が10の一般的な機械学習アルゴリズムは、簡単な紹介を行うことがあります。
1 - 線形回帰
線形回帰は、おそらく最も有名な統計および機械学習アルゴリズムの一つと理解するのが最も簡単です。
主なエラーまたは最小化モデルは、できるだけ正確について予測を行うが、解釈可能性を犠牲にします。我々は(統計情報など)さまざまな分野で学びます。
線形回帰係数を求めることにより呼び出される式の表現であります は、入力変数が記載さ と出力変数 との間の線の関係。
例えば: FML、この機能はありませんでしょうか?母
与えられた入力 、我々が予想されます 、回帰係数学習アルゴリズムリニアターゲットが見つけることです と の値、例えば、OLSおよび線形代数ソリューションの勾配降下最適化。
2、ロジスティック回帰
ロジスティック回帰は、「借り」統計の分野から別の機械学習技術です。これは、バイナリ分類(クラス値は、2つの問題を有する)であるために好ましい方法です。
目標は、各入力変数の係数の重み値を見つけることであるため、ロジスティック回帰は、線形回帰と同様です。別の線形回帰は、予測出力を使用すると、対数関数と呼ばれる非線形関数で変換します。
大のような論理関数ルックス 、それが1の範囲0内の任意の値に変換されます。我々は、出力論理関数にルールを適用することができるからである0及び1(例えば、IFが0.5未満である場合、出力1)と予測クラス値。
線形回帰と同様に、独立した出力変数属性および関連する属性、より良いロジスティック回帰を取り外すとき。これは、迅速かつ効果的な学習バイナリ分類モデルであります
3 - 線形判別分析
ロジスティック回帰は、伝統的な分類アルゴリズムの分類の2種類に限定されています。マルチ分類アルゴリズムは、判別分析(LDA)線形である場合、それは非常に重要なアルゴリズムです。
LDAの表現は非常に簡単です、これらのプロパティは、カテゴリごとに計算され、データの統計的性質によって構成されています。含む単一の入力変数のための:
各カテゴリの平均値。
すべてのカテゴリで分散を計算します
これは、各クラス領域のスコアを計算することによって予測された最大予想カテゴリを有しています。
アルゴリズムが提供されたデータは、ガウス分布(ベル曲線)を有し、それは操作前のデータから異常値を除去することが最良です。
4 - 分類および回帰木
決定木は、機械学習アルゴリズムの予測モデリングの重要なタイプです。
デシジョンツリーモデルの表現は、バイナリツリーです。これは、アルゴリズムとデータ構造、何も空想からバイナリツリーです。各ノードは、入力変数(X)および(数値変数を仮定して)可変分割点を表します。
ツリーは、出力変数を予測するためのリーフノードを含み、 。リーフノードは、ツリー分割を横断することによって達成されるまでとリーフノード出力クラスの値を予測すること。
ツリーは、高速学習、速度も予測を行うことは非常に速いです。彼らは、データは特別な前処理を行う必要はありませんが、通常は多くの問題のために非常に正確です。
5つのナイーブベイズ
ナイーブベイズ(ナイーブベイズ)シンプルでありながら強力な予測モデリングアルゴリズムです。
:モデルが示すトレーニングデータから直接計算することができる確率組成物の二種類で構成され
、各カテゴリ1)の確率の
2)xの各所与の値のそれぞれのカテゴリの条件付き確率。
定理が新しいデータを予測するために使用することができるベイズを使用して、確率モデルを計算し始めました。あなたのデータは実際の値である場合には、通常、あなたは簡単にこれらの確率を推定することができるように、ガウス分布(ベル曲線)を前提としています。
それは、各入力変数が独立していることを前提としているためナイーブベイズは、シンプルとして知られています。しかし、これは、この技術は、複雑な問題の数が多いために非常に有効であり、実際のデータのための強力な仮定は非現実的です。
6 - Kの隣人
KNNアルゴリズムは非常にシンプルで非常に効果的です。KNNモデルは、全体のトレーニングデータセットを表します。シンプルな、右?
私たちは、K、最も類似したケースの要約とKの出力変数の例の全体のトレーニングセットを検索することで、新たなデータポイントを予測することができます。
回帰問題については、これは分類問題の平均出力変数とすることができ、これは、最も一般的なカテゴリの値であってもよいです。
トリックは、データ・インスタンス間の類似性を決定する方法です。もし特性(例えば、全距離データ)の同じ比率を有する場合、最も簡単な方法は、ユークリッド距離を使用することで、あなたは入力変数のそれぞれとの間の差から直接数値を計算することができます。
それはトラバースすべてのデータを扱うため、KNNは、すべてのデータを格納するメモリや多くのスペースを必要とするかもしれません。また、順序でトレーニングデータとしての時間は、予測の精度を維持することができます。
距離または近さの概念は、これは、アルゴリズムの性能の問題に影響を与える可能性があり、非常に高い寸法(多くの入力変数)に分けることができます。だから、入力データに不可欠です。
7 - ベクトルの学習
最近Kの欠点は、全体のトレーニングデータセットが必要です。(LVQをいう)ベクトル量子化アルゴリズムを学習された人工ニューラルネットワークアルゴリズムは、必要な訓練例の数を選択することを可能にします。
LVQはベクトルの集合の表現です。これらは、最高の反復学習アルゴリズムの数に加算されるトレーニングデータセットのために選択された無作為の初めの初めにあります。
学習した後、それはK最近傍のように使用することができ、データの使用は予測します。ベクトルと、それぞれの新しいデータ計算、およびデータ間の距離が最も類似したベクトル(ベクトルベストマッチ)を見つけることができます。そして、予測としてベストマッチングクラス値を返します。より良い効果を得るため、データの正規化を覚えておいてください。
8 SVM
SVMは、おそらく最も人気のある機械学習アルゴリズムの一つです。
超平面可変入力空間を分割する線です。
SVMにおいて、カテゴリー(カテゴリー0またはタイプ1)によって超平面を選択することが好ましい入力変数空間点から分離されます。
二次元マップでは、ラインとして可視化され、すべての入力が完全にこの行から分離することができることを前提としてすることができます。SVMは超平面最適な分離係数クラスを検索するためのアルゴリズムを学びます。
超平面と最も近いデータポイント間の距離はマージンと呼ばれています。あなたは最高または最適な超平面のこれらの二つのカテゴリーに分けることができ、最大マージンラインです。
これらの点の構成や定義超平面分類器のみ。これらの点は、サポートベクトルと呼ばれています。
実際には、最適化アルゴリズムを使用することは、価値を最大化するためにヘッドルームの係数を見つけるために。
SVMは、おそらく分類器を使用する最も強力な準備の一つ、使用頻度が高いです。
9-製袋ランダムフォレスト
ランダムフォレストは、最も人気のあると機械学習の最も強力なアルゴリズムの一つです。これは、クラスタリングと呼ばれるか、袋詰めブートストラップは、機械学習アルゴリズムを統合しています。
あなたは、より良い、真の平均値を推定するために、平均値を計算し、データの多数のサンプルを必要とし、すべての平均値を平均します。
袋詰めで、(最も一般的には、決定木である)が、推定値に全体の統計モデルのために、同じ方法を使用します。各データサンプルのためのモデルを構築し、その後、トレーニングデータの複数のサンプルを取得します。あなたは、新しいデータを予測する必要がある場合には、各モデルが予測する、と真の出力値のより良い推定値を予測するために平均化されます。
ランダムフォレストは、このようなA方式に調整され、この方法ではなく、最良の分割ポイントを選択するので、決定木を作成します。
したがって、各データサンプルをモデル化するために元のモデルと比較して大きな差を作りました。優れた出力値の真の基礎を推定することができる彼らの予測を結合します。
和アダブーストを10昇圧
ブースト統合技術であり、いくつかの弱分類器から強分類器を作成してみてください。これは、トレーニングデータからモデルを構築することにより、エラーを修正して、完全に2つ目のモデルを作成しようとする最初のモデルです。完璧なトレーニングセットまで予測したり、これまでのモデルの最大数を追加するためにモデルを追加します。
AdaBoostのは、バイナリ分類のために開発された最初の真の成功の拡張アルゴリズムです。これは、拡張理解するための最良の出発点です。アダブーストをもとに現代の強調方法、最も顕著な確率的勾配強化マシン。
あなたはこのの詳細を参照することができ、ビデオを。
アダブーストは、決定木と組み合わせて使用します。
最初のツリーを作成した後、ツリーは、ツリーを作成するために重み付けし、各トレーニング・インスタンスのパフォーマンスで使用される各トレーニングインスタンスへの関心の度合いことに留意すべきです。
簡単には、右のインスタンスに低体重を予測する一方で、高いウェイトトレーニングデータを予測することは困難で右。モデルを作成するためには、各モデルは重いトレーニングの重みのインスタンスに更新されます、これらの重みは、実行ツリーの学習シーケンスに影響を与えます。すべての木が完了した後、予測するための新しいデータを作成し、各ツリーのトレーニングデータのパフォーマンスの精度に応じて重み付け。
アルゴリズムは、エラーを訂正するという点で多くの努力を入れているので、そのノイズ除去外れ値とデータを除去することは非常に重要です。
概要
初心者は、機械学習アルゴリズムの様々な直面し、聞いて、通常は一般的な質問は、「私が使うべきどのアルゴリズム?」で、この質問に対する答えはを含む多くの因子に依存する:
(1)サイズ、品質、データの性質、
(2)利用可能な計算時間;
;緊急(3)タスク
データを処理する方法(4)。