プログラマーでなくてもわかる「機械学習」の原理

プログラマーでなくてもわかる「機械学習」の原理

機械学習とは何ですか?

一般的なシナリオから始めましょう:

ある日、マンゴーを買いに行ったところ、店員がカートにマンゴーをいっぱい詰めていました。あなたはマンゴーを一つずつ摘み、店員に渡して重さを量ってもらい、ポンド単位で支払いました。

当然、最も甘くて熟したマンゴーを目指すわけですが、どうやって選ぶのでしょうか?覚えてるでしょう、おばあちゃんがかつて、明るい黄色のものの方が薄い黄色のものより甘いって言ってたよ。基準を設定します。明るい黄色のマンゴーのみを選択します。それで色を選んで、支払いをして、家に帰りました。ああ、人生は完結してる?

ふふふ。人生は悩みに満ちている

家に帰ったらマンゴーを味わってみてください。本当に甘いものもあれば、そうでないものもあります。え~、どうやらおばあちゃんが教えてくれた黄金律だけではダメみたい。色だけ見ても当てにならない。

一日の大半を一人で研究した後、大きくて明るい黄色のマンゴーは間違いなく甘いが、小さいものが甘い可能性は 50% しかないという結論に達します。

次回、満足してこの結論でマンゴーを買いに行くと、いつも利用している店が休暇で閉まっていることに気づくでしょう。別の店舗に変更すると、購入チャネルが異なることが判明し、ルールが機能しなくなり、最初からやり直さなければなりません。さて、あなたはこの店であらゆる種類のマンゴーを試食し、小さくて淡い黄色のものが一番甘いという結論に達しました。

まだ終わってませんよ。あなたの遠い従兄弟がまたあなたと遊びに来ます。しかし彼女は、マンゴーがジューシーであれば、甘いかどうかは問題ではないと言いました。さて、マンゴーが柔らかいほどジューシーになるという法則を見つけるために、別の実験を行う必要があります。

それからまた移住したんですね。ここのマンゴーを一度味わうと、新しい世界への扉が開いたような気分になります。実は緑のマンゴーの方が黄色いマンゴーより美味しいんです…

[[260466]]

コーダーを招待してください

さて、この旅は紆余曲折に満ちており、その負担を軽減するために一連のプログラムを作成したと想像してください。プログラムロジックは基本的に次のようになります。

プリセット変数: 色、サイズ、ストア、硬度

色 = 明るい黄色

サイズ = 大

店主 = 頻繁に訪れる販売業者

マンゴー = 甘い

硬さ=柔らかさ

マンゴー = ジューシー

使っていて本当に楽しいですよね?弟に送ってあげても、彼が収穫したマンゴーにきっと満足してもらえると思います。

しかし、新しい実験を行うたびに、プログラム ロジックを手動で変更する必要があります。そして、プログラムする前に、マンゴーを選ぶという複雑な技術を理解しておく必要があります。

要件が複雑すぎる場合やマンゴーの種類が多すぎる場合は、すべての選択ルールをプログラム ロジックに翻訳するだけでも大変な作業になります。これは、「マンゴー学」の博士号を取得するために勉強するのと同じです。

誰もが博士号取得を目指す時間とエネルギーを持っているわけではありません。

機械学習アルゴリズムの導入

機械学習アルゴリズムは、実際には通常のアルゴリズムの進化版です。データパターンを自動的に学習することで、プログラムをよりスマートにします。

市場からランダムにマンゴーを購入し(トレーニング データ)、色、サイズ、形、原産地、店舗など、各マンゴーの物理的特性(特徴)と、マンゴーの甘さ、ジューシーさ、成熟度など(出力変数)の表を作成します。このデータは機械学習アルゴリズム(分類/回帰)に送られ、マンゴーの物理的特性と品質の間の相関モデルが計算されます。

次回買い物に行くときに、店舗で販売されているマンゴーの物理的特性(テストデータ)を入力すると、機械学習アルゴリズムが前回計算されたモデルに基づいてこれらのマンゴーの品質を予測します。マシンが使用するアルゴリズムは、手動で記述する論理ルール(決定木など)に似ている場合もあれば、より高度な場合もありますが、基本的にはあまり心配する必要はありません。

さあ、これで安心してマンゴーを買えます。色も大きさも関係ありません。機械に任せましょう。さらに良いことに、アルゴリズムは徐々に進化します (強化学習)。予測の正確さに基づいてアルゴリズムはモデルを修正するため、トレーニング データが蓄積されるにつれて、予測はますます正確になります。

最も優れている点は、同じアルゴリズムを使用して、リンゴ、オレンジ、バナナ、ブドウのそれぞれに 1 つずつ、複数のモデルを作成できることです。

機械学習を一言でまとめると、「自分のやり方で進めば、アルゴリズムが素晴らしいものになる」ということです。

一般的な機械学習アルゴリズムの分類と概要

1. 学習方法

データの種類に応じて、問題をモデル化する方法は異なります。

機械学習や人工知能の分野では、まずアルゴリズムがどのように学習するかを検討します。

機械学習の分野では、学習にはいくつかの主要なスタイルがあります。アルゴリズムをモデル化して選択する際に、入力データに基づいて最も適切なアルゴリズムを選択して最良の結果を得ることができるように、アルゴリズムを学習方法に応じて分類することをお勧めします。

教師あり学習:

教師あり学習では、入力データは「トレーニング データ」と呼ばれ、各トレーニング データ セットには、スパム対策システムにおける「スパム」と「非スパム」、手書き数字認識における「1」、「2」、「3」、「4」など、明確なラベルまたは結果があります。予測モデルを構築する際、教師あり学習では、予測結果と「トレーニング データ」の実際の結果を比較し、モデルの予測結果が期待される精度率に達するまで予測モデルを継続的に調整する学習プロセスを確立します。教師あり学習の一般的な応用シナリオには、分類問題と回帰問題が含まれます。一般的なアルゴリズムには、ロジスティック回帰やバックプロパゲーションニューラルネットワークなどがあります。

教師なし学習:

教師なし学習では、データは具体的に識別されず、学習モデルはデータの固有の構造を推測するように設計されています。一般的なアプリケーション シナリオには、関連ルールの学習とクラスタリングが含まれます。一般的なアルゴリズムには、Apriori アルゴリズムと k-Means アルゴリズムがあります。

半教師あり学習:

この学習方法では、入力データの一部にラベルが付けられ、一部にラベルが付けられません。この学習モデルは予測に使用できますが、予測のためにデータを適切に整理するために、モデルはまずデータの固有の構造を学習する必要があります。アプリケーション シナリオには分類と回帰が含まれ、アルゴリズムには一般的に使用される教師あり学習アルゴリズムのいくつかの拡張が含まれます。これらのアルゴリズムは、最初にラベルなしデータをモデル化しようとし、次にラベル付きデータに対して予測を行います。グラフ推論アルゴリズム (Graph Inference) やラプラシアンサポートベクターマシン (Laplacian SVM) など。

強化学習:

この学習モードでは、入力データはモデルへのフィードバックとして機能します。入力データがモデルが正しいかどうかを確認するための手段にすぎない教師ありモデルとは異なり、強化学習では入力データがモデルに直接フィードバックされ、モデルはすぐに調整を行う必要があります。一般的なアプリケーション シナリオには、動的システムやロボット制御などがあります。一般的なアルゴリズムにはQ学習と時間差学習がある

エンタープライズ データ アプリケーションのシナリオでは、最も一般的に使用されるモデルはおそらく教師あり学習と教師なし学習です。

画像認識などの分野では、識別できないデータが大量に存在する一方で識別できるデータが少ないことから、半教師あり学習が現在注目されています。

強化学習は、ロボット制御などシステム制御が必要な分野で広く使用されています。

2. アルゴリズムの類似性

アルゴリズムの機能と形式の類似性に基づいて、ツリーベースのアルゴリズム、ニューラル ネットワーク ベースのアルゴリズムなど、アルゴリズムを分類できます。もちろん、機械学習の範囲は非常に広く、アルゴリズムによっては特定のカテゴリに明確に分類することが難しいものもあります。一部のカテゴリでは、同じカテゴリのアルゴリズムが異なるタイプの問題を対象にすることができます。ここでは、よく使用されるアルゴリズムを最もわかりやすい方法で分類してみます。

回帰アルゴリズム:

回帰アルゴリズムは、誤差の尺度を使用して変数間の関係を調査しようとするアルゴリズムの一種です。回帰アルゴリズムは、統計的機械学習のための強力なツールです。機械学習の分野では、回帰について話すとき、あるタイプの問題を指している場合もあれば、あるタイプのアルゴリズムを指している場合もあり、初心者を混乱させることがよくあります。一般的な回帰アルゴリズムには、通常の最小二乗法、ロジスティック回帰、段階的回帰、多変量適応回帰スプライン、局所的に推定された散布図平滑化などがあります。

例に基づくアルゴリズム

インスタンスベースのアルゴリズムは、意思決定の問題のモデルを構築するためによく使用されます。このようなモデルでは、最初にサンプル データのバッチを選択し、特定の近似値に基づいて新しいデータをサンプル データと比較することがよくあります。このようにして、最適な一致が見つかります。したがって、インスタンスベースのアルゴリズムは、「勝者総取り」学習または「メモリベースの学習」とも呼ばれることがよくあります。一般的なアルゴリズムには、k-近傍法 (KNN)、学習ベクトル量子化 (LVQ)、自己組織化マップ (SOM) などがあります。

正規化手法

正規化手法は、複雑さに基づいてアルゴリズムを調整する他のアルゴリズム (通常は回帰アルゴリズム) の拡張です。正規化手法は通常、単純なモデルにメリットを与え、複雑なアルゴリズムにペナルティを与えます。一般的なアルゴリズムには、リッジ回帰、最小絶対収縮および選択演算子 (LASSO)、Elastic Net などがあります。

決定木学習

決定木アルゴリズムは、ツリー構造を使用して、データの属性に基づいて決定モデルを確立します。決定木モデルは、分類問題や回帰問題を解決するためによく使用されます。一般的なアルゴリズムには、分類および回帰ツリー (CART)、ID3 (反復二分法 3)、C4.5、カイ二乗自動相互作用検出 (CHAID)、決定スタンプ、ランダムフォレスト、多変量適応回帰スプライン (MARS)、勾配ブースティングマシン (GBM) などがあります。

ベイズ法

ベイズ法アルゴリズムは、ベイズの定理に基づいたアルゴリズムの一種で、主に分類問題や回帰問題を解決するために使用されます。一般的なアルゴリズムには、ナイーブ ベイズ アルゴリズム、平均 1 依存推定量 (AODE)、ベイズ信念ネットワーク (BBN) などがあります。

カーネルベースのアルゴリズム

最も有名なカーネルベースのアルゴリズムはサポートベクターマシン (SVM) です。 カーネルベースのアルゴリズムは、入力データを高次ベクトル空間にマッピングし、一部の分類問題や回帰問題をより簡単に解決できるようになります。 一般的なカーネルベースのアルゴリズムには、サポートベクターマシン (SVM)、ラジアル基底関数 (RBF)、線形判別分析 (LDA) などがあります。

クラスタリングアルゴリズム

クラスタリングは、回帰と同様に、問題のクラスとして説明される場合もあれば、アルゴリズムのクラスとして説明される場合もあります。クラスタリング アルゴリズムは通常、中心点またはレイヤーに基づいて入力データをクラスターにグループ化します。すべてのクラスタリング アルゴリズムは、データの固有の構造を見つけ、最大の共通性に従ってデータを分類しようとします。一般的なクラスタリング アルゴリズムには、k-Means アルゴリズムと期待値最大化 (EM) アルゴリズムがあります。

相関ルール学習

関連ルール学習は、データ変数間の関係を最もよく説明するルールを見つけることで、大規模な多変量データセット内で有用な関連ルールを見つけます。一般的なアルゴリズムには、Apriori アルゴリズムと Eclat アルゴリズムがあります。

人工ニューラルネットワーク

人工ニューラル ネットワーク アルゴリズムは、生物学的ニューラル ネットワークをシミュレートするものであり、パターン マッチング アルゴリズムの一種です。分類問題や回帰問題を解決するためによく使用されます。人工ニューラル ネットワークは、何百もの異なるアルゴリズムを備えた機械学習の大きな分野です。 (ディープラーニングはアルゴリズムの 1 つですが、これについては別途説明します)。重要な人工ニューラル ネットワーク アルゴリズムには、パーセプトロン ニューラル ネットワーク、バックプロパゲーション、ホップフィールド ネットワーク、自己組織化マップ (SOM) などがあります。ベクトル量子化の学習 (LVQ)

ディープラーニング

ディープラーニングアルゴリズムは人工ニューラルネットワークの進歩です。 最近は特に注目を集めており、特に百度がディープラーニングに注力し始めてからは中国でも大きな注目を集めています。 コンピューティング能力がますます安価になるにつれて、ディープラーニングははるかに大規模で複雑なニューラル ネットワークの構築を試みています。多くのディープラーニング アルゴリズムは半教師あり学習アルゴリズムであり、少量のラベルなしデータを含む大規模なデータ セットを処理するために使用されます。一般的なディープラーニング アルゴリズムには、制限付きボルツマン マシン (RBN)、ディープ ビリーフ ネットワーク (DBN)、畳み込みネットワーク、スタック オートエンコーダーなどがあります。

次元削減アルゴリズム

クラスタリング アルゴリズムと同様に、次元削減アルゴリズムはデータの固有の構造を分析しようとしますが、次元削減アルゴリズムは、教師なし学習方式でより少ない情報を使用してデータを要約または説明しようとします。このようなアルゴリズムは、高次元データを視覚化したり、教師あり学習のためにデータを簡素化したりするために使用できます。一般的なアルゴリズムには、主成分分析 (PCA)、部分最小二乗回帰 (PLS)、サモン マッピング、多次元尺度法 (MDS)、射影追跡などがあります。

アンサンブルアルゴリズム:

アンサンブル アルゴリズムは、比較的弱い学習モデルをいくつか使用して同じサンプルを個別にトレーニングし、その結果を統合して全体的な予測を行います。統合アルゴリズムの主な難しさは、どの独立した弱い学習モデルを統合するか、そして学習結果をどのように統合するかにあります。これは非常に強力なアルゴリズムのクラスであり、非常に人気があります。一般的なアルゴリズムには、ブースティング、ブートストラップ集約 (バギング)、AdaBoost、スタック一般化 (ブレンディング)、勾配ブースティング マシン (GBM)、ランダム フォレストなどがあります。

<<:  1 つの記事で 4 つの基本的なニューラル ネットワーク アーキテクチャを理解する

>>:  オラクルCEOハード氏「AIについて心配する必要はない」

ブログ    
ブログ    

推薦する

...

...

製造業におけるコンピューター ビジョン: 機会と導入のヒント

時計職人の片眼鏡から、絵を描くのに便利な「ルシーダカメラ」まで、職人たちは光学技術を使って感覚を高め...

オックスフォード大学の科学人気記事、数分でわかる「機械学習とは何か」

[[389147]]人間は経験を通して学び、成長する能力を持っている学習能力と経験を通じてタスクを...

MoEの大型モデルをゼロから構築するための神レベルのチュートリアルが登場

GPT-4の伝説の「必勝魔法兵器」- MoE(専門家の混合)アーキテクチャ、自分でも作成できます! ...

漫画解釈: よく使われる機械学習アルゴリズムのトップ 10 を簡単に理解する

この記事を通じて、ML でよく使用されるアルゴリズムについて常識的に理解することができます。コードや...

目に見えない戦場の技術である人工知能は、サイバー戦争にどのように応用できるのでしょうか?

[[339414]]英国のジェーンズ・ディフェンスのウェブサイトによると、米国防高等研究計画局のピ...

GPTストアはまだオープンしていないが、模倣者がすでにこの脂身の多い肉に狙いを定めている。

著者: トーマス・クラバーン編纂者:ヤン・ジェン制作:51CTO テクノロジースタック(WeChat...

...

...

Google 検索と競合する FRESHLLM は、より少ない幻想とより正確な情報で「最新の出来事」を把握しています。

BARD や CHATGPT/GPT-4 などの大規模言語モデルの機能は誰の目にも明らかです。これ...

...