教師なし学習は、データ内のパターンを見つけるために使用される機械学習技術の一種です。教師なし学習アルゴリズムで使用される入力データはすべてラベルなしです。つまり、データは入力変数 (独立変数 X) のみを提供し、対応する出力変数 (従属変数) は提供しません。教師なし学習では、アルゴリズム自体がデータ内の興味深い構造を発見します。 人工知能研究の第一人者であるヤン・ルカン氏は次のように説明しています。「教師なし学習は、行うことすべてが正しいかどうかを明示的に指示されなくても、自ら学習することができます。」これが真の人工知能を実現するための鍵です! 教師あり学習と教師なし学習 教師あり学習では、システムは以前に与えられた例から学習しようとします。 (教師なし学習では、システムは与えられた例から直接パターンを見つけようとします。) したがって、データセットにラベルが付いている場合は、これは教師あり学習の問題であり、データにラベルが付いていない場合は、これは教師なし学習の問題です。 上の図は、回帰手法を使用してさまざまな特徴間の最適な曲線を見つける教師あり学習の例です。一方、教師なし学習では、入力データは特徴に基づいて分割され、データが属するクラスターに基づいて予測が行われます。 重要な用語
教師なし学習のためのデータの準備 この記事では、Iris データセットを使用して基本的な予測作業を完了します。このデータセットには 150 件のレコードが含まれており、各レコードは花弁の長さ、花弁の幅、萼片の長さ、萼片の幅、花のカテゴリの 5 つの特徴で構成されています。花の種類には、アイリス・セトサ、アイリス・バージニカ、アイリス・ベルシカラーなどがあります。この論文では、教師なしアルゴリズムにアヤメの花の 4 つの特徴を与え、それがどのカテゴリに属するかを予測します。 この記事では、Python 環境の sklearn ライブラリを使用して Iris データセットを読み込み、matplotlib を使用してデータを視覚化します。データセットを探索するためのコード スニペットは次のとおりです。
紫: セトサ、緑: バーシカラー、黄: バージニカ クラスター分析 クラスター分析では、データはいくつかの異なるグループに分割されます。つまり、このステップの目的は、全体のデータから類似した特性を持つグループを分離し、それらをクラスターに割り当てることです。 視覚化の例: 上図の左側は分類前の元のデータ、右側はクラスタリング後のデータ(データが自身の特性に応じて分類されている)です。予測する入力が与えられると、その特徴に基づいてどのクラスターに属するかを調べ、それに基づいて予測を行います。 Python での K 平均法クラスタリング K-means は、各反復で局所的最大値を見つけることを目的とする反復クラスタリング アルゴリズムです。アルゴリズムでは、最初にクラスターの数を選択する必要があります。この問題には 3 つのカテゴリの花が関係していることがわかっているので、パラメータ「n_clusters」を K-means モデルに渡して、データを 3 つのカテゴリにグループ化するアルゴリズムを作成します。ここで、3 つのデータ ポイント (入力) をランダムに 3 つのクラスターに分割します。次に、特定の入力データ ポイントは、各ポイント間の重心距離に基づいて個別のクラスターに分割されます。次に、すべてのクラスターの重心を再計算します。 各クラスターの重心は、結果セットを定義する固有値の集合です。重心の特徴の重みを調べることで、各クラスターがどのようなタイプのグループを表すかを定性的に解釈できます。 sklearn ライブラリから K-means モデルをインポートし、特徴を適合させて予測を行います。 K-means アルゴリズムの Python 実装:
階層的クラスタリング 階層的クラスタリングは、その名前が示すように、階層的なクラスターを構築できるアルゴリズムです。このアルゴリズムの開始時には、各データ ポイントはクラスターです。次に、最も近い 2 つのクラスターが 1 つにマージされます。最終的に、すべてのポイントが 1 つのクラスターにマージされると、アルゴリズムは停止します。 階層的クラスタリングの実装は、デンドログラムを使用して表示できます。次に、穀物データの階層的クラスタリングの例を見てみましょう。データセットリンク: https://raw.githubusercontent.com/vihar/unsupervised-learning-with-python/master/seeds-less-rows.csv 1. 階層的クラスタリングの Python 実装:
2. K平均法と階層的クラスタリングの違い
t-SNEクラスタリング これは視覚的な教師なし学習法です。 t-SNE は t 分布の確率的近傍埋め込みを指します。高次元空間を視覚化された 2 次元または 3 次元空間にマッピングします。具体的には、2 次元または 3 次元のデータ ポイントを使用して高次元空間内のオブジェクトをモデル化します。つまり、類似のオブジェクトは近くのポイントを使用して高い確率でモデル化され、類似しないオブジェクトは遠くのポイントを使用してモデル化されます。 Iris データセットの t-SNE クラスタリングの Python 実装:
紫: セトサ、緑: バーシカラー、黄: バージニカ ここでは、4 つの特徴 (4 次元) を持つ Iris データセットが 2D 空間に変換され、2D 画像に表示されます。同様に、t-SNE モデルは n 個の特徴を持つデータセットに使用できます。 DBSCAN クラスタリング DBSCAN (ノイズ付き密度ベース空間クラスタリング) は、予測分析で K 平均アルゴリズムの代わりに使用される一般的なクラスタリング アルゴリズムです。実行するクラスターの数を入力する必要はありません。ただし、他の 2 つのパラメータを調整する必要があります。 scikit-learn の DBSCAN アルゴリズム実装では、デフォルトの「eps」および「min_samples」パラメータが提供されますが、通常はユーザーがそれらを調整する必要があります。パラメータ「eps」は、2 つのデータ ポイントが同じ近傍にあると見なされるための最大距離です。パラメータ「min_samples」は、同じクラスター内にある必要がある近傍のデータ ポイントの最小数です。 1. DBSCAN クラスタリングの Python 実装:
2. その他の教師なし学習テクニック:
オリジナルリンク: https://towardsdatascience.com/python による教師なし学習-173c51dc7f03 [この記事は51CTOコラム「Machine Heart」、WeChatパブリックアカウント「Machine Heart(id:almosthuman2014)」によるオリジナル翻訳です] この著者の他の記事を読むにはここをクリックしてください |
<<: 将来、人工知能は人類を脅かすのか?人工知能が「暴走」するのを防ぐ6つの戦略
>>: 今回はホーキングの言うことを聞かなかった!人工知能が人間に取って代わる、これが科学が進む道だ
新興技術のデジタル時代において、大規模言語モデル (LLM) は、人間社会と文化の多くの側面に革命を...
近年、ウェブホスティング業界は劇的に変化しました。そして、業界を永遠に変える可能性のあるいくつかのト...
[[443015]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...
この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...
[[355693]]人工知能と機械学習はメリットをもたらす一方で、新たな脆弱性ももたらします。この...
先週、「Facezam」と呼ばれる偽のアプリがFacebookの写真をスキャンして人々の顔を追跡でき...
今日は、子供たちにプログラミングを教えるということについての私たちの考えをいくつか共有したいと思いま...
GPT-4 はより愚かになった、というのは本当ですか? ? ?スタンフォード大学とカリフォルニア大学...
Amazonが2006年にEC2サービスをリリースしてから11年が経ちました。この 11 年間で、A...
Google は、最新かつ最も強力な AI モデルである Gemini 1.0 を発表し、AI の...
顔認識パッケージこれは世界で最もシンプルな顔認識ライブラリです。 Python リファレンスまたはコ...