教師なし学習は、データ内のパターンを見つけるために使用される機械学習技術の一種です。教師なし学習アルゴリズムで使用される入力データはすべてラベルなしです。つまり、データは入力変数 (独立変数 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つの戦略
>>: 今回はホーキングの言うことを聞かなかった!人工知能が人間に取って代わる、これが科学が進む道だ
今日の緊迫したサプライチェーンにおいて、最も脆弱なのはスキル不足である可能性があり、景気後退により短...
Python によるシンプルな自然言語処理この記事は、Python をベースにした簡単な自然言語処理...
この 6 部構成のシリーズでは、AI の人類史を探り、革新者、思想家、労働者、さらには小規模なトレー...
人工知能をトレーニングする場合、AI は人間のタスクを完了するための不可解な方法を学習してしまうこと...
[[328252]] AI がソフトウェア エンジニアリングやテクノロジー企業に与える影響は否定でき...
ディープニューラルネットワークのパラメータネットワークは非常に大きく複雑であり、これによりマシンはこ...
ディープラーニングの活発な発展に伴い、業務シナリオで使用するためのディープ ニューラル ネットワーク...
少し前、カリフォルニア大学バークレー校が主催する「LLM予選コンペティション」が業界で大きな注目を集...
[51CTO.com クイック翻訳]デジタル経済が世界を席巻する中、人工知能は今日私たちが知っている...
[[421559]]パラメータの数とモデルのパフォーマンスの間には絶対的な関係がありますか?チュー...
バッチ サイズは、機械学習における重要なハイパーパラメータの 1 つです。このハイパーパラメータは、...
ガートナーの最近の調査によると、企業の47%が流行の発生以来人工知能(AI)への投資を維持しており、...
さまざまな言語、視覚、ビデオ、オーディオなどの大規模モデルのパフォーマンスが向上し続けるにつれて、マ...
この記事では主に、機械学習プロジェクトの編成と管理に関する実践的な経験をいくつか紹介します。パイソン...