Artificial-intelligence-with-python-machine-learning

提供:Dev Guides
移動先:案内検索

PythonとAI –機械学習

学習とは、学習や経験を通じて知識やスキルを獲得することを意味します。 これに基づいて、次のように機械学習(ML)を定義できます-

これは、コンピューターサイエンスの分野、より具体的には、人工知能のアプリケーションとして定義される場合があります。これは、コンピューターシステムにデータを学習し、明示的にプログラムしなくても経験から改善する能力を提供します。

基本的に、機械学習の主な焦点は、コンピューターが人間の介入なしで自動的に学習できるようにすることです。 ここで、そのような学習をどのように開始および実行できるかという疑問が生じます。 データの観察から始めることができます。 データは、いくつかの例、指示、または直接的な経験でもあります。 次に、この入力に基づいて、マシンはデータ内のいくつかのパターンを検索することにより、より良い決定を下します。

機械学習の種類(ML)

機械学習アルゴリズムは、明示的にプログラムされなくてもコンピューターシステムの学習を支援します。 これらのアルゴリズムは、監視ありと監視なしに分類されます。 ここでいくつかのアルゴリズムを見てみましょう-

教師あり機械学習アルゴリズム

これは、最も一般的に使用される機械学習アルゴリズムです。 トレーニングデータセットからアルゴリズムを学習するプロセスは、学習プロセスを監督する教師と考えることができるため、教師ありと呼ばれます。 この種のMLアルゴリズムでは、可能な結果がすでにわかっており、トレーニングデータにも正解のラベルが付けられています。 それは次のように理解することができます-

入力変数 x と出力変数 y があり、アルゴリズムを適用して、入力から出力へのマッピング関数を学習するとします-

Y = f(x)

現在、主な目標は、新しい入力データ(x)がある場合に、そのデータの出力変数(Y)を予測できるように、マッピング関数を近似することです。

主に教師付き学習問題は、次の2種類の問題に分けることができます-

  • 分類-「黒」、「教示」、「非教示」などの分類された出力がある場合、問題は分類問題と呼ばれます。
  • 回帰-「距離」、「キログラム」などの実数値の出力がある場合、問題は回帰問題と呼ばれます。

決定木、ランダムフォレスト、knn、ロジスティック回帰は、教師あり機械学習アルゴリズムの例です。

教師なし機械学習アルゴリズム

名前が示すように、これらの種類の機械学習アルゴリズムには、あらゆる種類のガイダンスを提供するスーパーバイザーがいません。 これが、教師なし機械学習アルゴリズムが真の人工知能と呼ばれるものと密接に連携している理由です。 それは次のように理解することができます-

入力変数xがあるとすると、教師あり学習アルゴリズムにあるような対応する出力変数はありません。

簡単な言葉で言えば、教師なし学習では、正しい答えも指導の教師もいないと言えます。 アルゴリズムは、データの興味深いパターンを発見するのに役立ちます。

教師なし学習問題は、次の2種類の問題に分けることができます-

  • クラスタリング-クラスタリングの問題では、データに固有のグループ化を発見する必要があります。 たとえば、顧客を購買行動別にグループ化します。
  • 関連-問題は関連問題と呼ばれます。そのような種類の問題は、データの大部分を記述するルールを発見する必要があるためです。 たとえば、 xy の両方を購入した顧客を見つけます。

クラスタリングのK平均、関連付けのアプリオリアルゴリズムは、教師なし機械学習アルゴリズムの例です。

強化機械学習アルゴリズム

これらの種類の機械学習アルゴリズムはあまり使用されません。 これらのアルゴリズムは、特定の決定を下すためにシステムを訓練します。 基本的に、マシンは試行錯誤の方法を使用して継続的にトレーニングを行う環境にさらされます。 これらのアルゴリズムは過去の経験から学び、可能な限り最高の知識を獲得して正確な決定を下そうとします。 マルコフ決定プロセスは、強化機械学習アルゴリズムの例です。

最も一般的な機械学習アルゴリズム

このセクションでは、最も一般的な機械学習アルゴリズムについて学習します。 アルゴリズムは以下に説明されています-

線形回帰

これは、統計と機械学習で最もよく知られているアルゴリズムの1つです。

基本概念-主に線形回帰は、入力変数(xなど)と単一の出力変数(yなど)の間の線形関係を前提とする線形モデルです。 つまり、yは入力変数xの線形結合から計算できると言えます。 変数間の関係は、最適な線を当てはめることで確立できます。

線形回帰の種類

線形回帰は、次の2つのタイプのものです-

  • 単純線形回帰-線形回帰アルゴリズムは、独立変数が1つしかない場合、単純線形回帰と呼ばれます。
  • 多重線形回帰-線形回帰アルゴリズムは、複数の独立変数がある場合、多重線形回帰と呼ばれます。

線形回帰は、主に連続変数に基づいて実際の値を推定するために使用されます。 たとえば、実際の値に基づいた1日の店舗の総売り上げは、線形回帰によって推定できます。

ロジスティック回帰

これは分類アルゴリズムであり、 logit 回帰とも呼ばれます。

主にロジスティック回帰は、特定の独立変数セットに基づいて0または1、trueまたはfalse、yesまたはnoなどの離散値を推定するために使用される分類アルゴリズムです。 基本的に、確率を予測するため、その出力は0〜1の間になります。

決定木

デシジョンツリーは、主に分類問題に使用される教師あり学習アルゴリズムです。

基本的には、独立変数に基づいた再帰的パーティションとして表される分類器です。 デシジョンツリーには、ルートツリーを形成するノードがあります。 ルートツリーは、「ルート」と呼ばれるノードを持つ有向ツリーです。 ルートには着信エッジがなく、他のすべてのノードには1つの着信エッジがあります。 これらのノードは、リーフまたは決定ノードと呼ばれます。 たとえば、次の決定ツリーを検討して、人が健康かどうかを確認します。

デシジョンツリー

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

分類と回帰の両方の問題に使用されます。 ただし、主に分類の問題に使用されます。 SVMの主な概念は、各データ項目をn次元空間のポイントとしてプロットすることです。各フィーチャの値は特定の座標の値です。 ここで、nは私たちが持っている機能です。 以下は、SVMの概念を理解するためのシンプルなグラフィカル表現です-

サポートベクターマシン

上の図では、2つの機能があるため、最初にこれらの2つの変数を2次元空間にプロットする必要があります。各点にはサポートベクトルと呼ばれる2つの座標があります。 この行は、データを2つの異なる分類グループに分割します。 この行が分類子になります。

ナイーブベイズ

また、分類手法でもあります。 この分類手法の背後にあるロジックは、分類器の構築にベイズの定理を使用することです。 前提は、予測子が独立していることです。 簡単に言えば、クラス内の特定の機能の存在は、他の機能の存在とは無関係であると想定しています。 以下は、ベイズの定理の方程式です-

P \ left(\ frac \ {A} \ {B} \ right)= \ frac \ {P \ left(\ frac \ {B} \ {A} \ right)P \ left(A \ right)} \ {P \ left(B \ right)}

NaïveBayesモデルは構築が簡単で、特に大規模なデータセットに役立ちます。

K-Nearest Neighbors(KNN)

問題の分類と回帰の両方に使用されます。 分類問題を解決するために広く使用されています。 このアルゴリズムの主な概念は、使用可能なすべてのケースを保存し、k個の近隣の多数決によって新しいケースを分類することです。 その後、ケースは、距離関数によって測定された、K最近傍の中で最も一般的なクラスに割り当てられます。 距離関数は、ユークリッド距離、ミンコフスキー距離、およびハミング距離です。 KNNを使用するには、次のことを考慮してください-

  • 計算上、KNNは分類問題に使用される他のアルゴリズムよりも高価です。
  • 必要な変数の正規化は、それ以外の場合、より高い範囲の変数がバイアスをかける可能性があります。
  • KNNでは、ノイズ除去などの前処理段階で作業する必要があります。

K-Meansクラスタリング

名前が示すように、クラスタリングの問題を解決するために使用されます。 基本的には、教師なし学習の一種です。 K-Meansクラスタリングアルゴリズムの主なロジックは、多数のクラスターを通じてデータセットを分類することです。 K平均によってクラスタを形成するには、次の手順に従ってください-

  • K-meansは、重心として知られる各クラスターのk個のポイントを選択します。
  • 各データポイントは、最も近い重心を持つクラスター、つまりk個のクラスターを形成します。
  • これで、既存のクラスターメンバーに基づいて各クラスターの重心が検索されます。
  • 収束するまでこれらの手順を繰り返す必要があります。

ランダムフォレスト

これは教師付き分類アルゴリズムです。 ランダムフォレストアルゴリズムの利点は、分類と回帰の両方の種類の問題に使用できることです。 基本的には、決定木の集合(つまり、フォレスト)であるか、決定木のアンサンブルと言えます。 ランダムフォレストの基本的な概念は、各ツリーが分類を行い、フォレストがそれらから最適な分類を選択することです。 以下は、ランダムフォレストアルゴリズムの利点です-

  • ランダムフォレスト分類子は、分類タスクと回帰タスクの両方に使用できます。
  • 欠損値を処理できます。
  • フォレスト内のツリーの数が多くなっても、モデルに過度に適合しません。