機械学習におけるアルゴリズムとモデルの違い

機械学習におけるアルゴリズムとモデルの違い

[[333414]]

機械学習における「アルゴリズム」とは何ですか?

機械学習における「アルゴリズム」とは、データに対して実行され、機械学習「モデル」を作成するプロセスです。

機械学習アルゴリズムは「パターン認識」を実行します。アルゴリズムはデータから「学習」し、データセットを「適合」します。

機械学習アルゴリズムは数多く存在します。たとえば、K 最近傍アルゴリズムなどの分類アルゴリズム、線形回帰などの回帰アルゴリズム、K 平均法アルゴリズムなどのクラスタリング アルゴリズムがあります。

以下は機械学習アルゴリズムの例です。

  • 線形回帰
  • ロジスティック回帰
  • 決定木
  • 人工ニューラルネットワーク
  • K近傍法
  • K平均法

機械学習アルゴリズムは、コンピューターサイエンスの他のアルゴリズムと同じように考えることができます。

たとえば、皆さんがよくご存知のその他の種類のアルゴリズムとしては、データの並べ替えに使用するバブル ソートや、検索に使用するベスト ファースト ソートなどがあります。

したがって、機械学習アルゴリズムには多くの特性があります。

  • 機械学習アルゴリズムは、数学的にも疑似コードでも記述できます。
  • 機械学習アルゴリズムの効率を分析し、説明することができます。
  • 機械学習アルゴリズムは、あらゆる最新のプログラミング言語で実装できます。

たとえば、研究論文や教科書では、機械学習アルゴリズムが疑似コードや線形代数を使用して説明されていることがあります。特定の機械学習アルゴリズムの計算効率を別の特徴アルゴリズムと比較して確認できます。

学者はホログラフィック機械学習アルゴリズムを設計でき、機械学習の専門家はプロジェクトで標準的な機械学習アルゴリズムを使用できます。これはコンピューター サイエンスの他の分野と同様で、学者がまったく新しいソート アルゴリズムを設計し、プログラマーがアプリケーションで標準のソート アルゴリズムを使用することができます。

標準 API を備えたライブラリで複数の機械学習アルゴリズムの実装が提供されている場合もあります。よく使われる例としては、Python で多くの分類、回帰、クラスタリング機械学習アルゴリズムの実装を提供する scikit-learn ライブラリがあります。

機械学習における「モデル」とは何ですか?

機械学習における「モデル」とは、データに対して実行される機械学習アルゴリズムの出力です。

モデルは、機械学習アルゴリズムが学習した内容を表します。

モデルとは、トレーニング データに対して機械学習アルゴリズムを実行した後に保存される「もの」であり、予測を行うために必要なルール、数値、その他のアルゴリズム固有のデータ構造を表します。

これをより明確にするために、いくつか例を挙げてみましょう。

  • 線形回帰アルゴリズムの結果は、特定の値を持つスパース ベクトルで構成されるモデルです。
  • 決定木アルゴリズムの結果は、特定の値を持つ if-then ステートメントのツリーで構成されるモデルです。
  • ニューラル ネットワーク/バックプロパゲーション/勾配降下法のアルゴリズムを組み合わせることで、特定の値を持つベクトルまたは重み行列と、特定の値を持つグラフ構造で構成されるモデルが生成されます。

機械学習モデルは、コンピュータサイエンスの他のアルゴリズムとの明確な類似性がないため、初心者にとってより困難です。

たとえば、ソート アルゴリズムのソート済みリスト出力は、実際にはモデルではありません。

最も適切な類推は、機械学習モデルを「プログラム」として考えることです。

機械学習モデルの「プログラム」は、データと、そのデータを使用して予測を行うプロセスで構成されます。

たとえば、線形回帰アルゴリズムとその結果のモデルを考えてみましょう。モデルは、予測 (予測プロセス) を行うために、入力として新しいデータ行を乗算して合計する係数 (データ) のベクトルで構成されます。

後で使用するために、データを機械学習モデルとして保存します。

機械学習ライブラリによって提供される機械学習モデルの予測プロセスは、よく使用されます。場合によっては、予測プロセスをアプリケーションの一部として独自に実装できることもあります。ほとんどの予測手順は単純であるため、これは通常簡単です。

アルゴリズムとモデルフレームワーク

これで、機械学習の「アルゴリズム」と機械学習の「モデル」について理解できました。

具体的には、データに対してアルゴリズムを実行してモデルを作成します。

  • 機械学習 => 機械学習モデル

また、モデルはデータと、そのデータを使用して新しいデータについて予測を行うプロセスで構成されていることも学びました。必要に応じて、このプロセスを予測アルゴリズムとして考えることもできます。

  • 機械学習モデル == モデルデータ + 予測アルゴリズム

この区別は、さまざまなアルゴリズムを理解するのに非常に役立ちます。

たとえば、ほとんどのアルゴリズムでは、「アルゴリズム」にすべての作業が含まれており、「予測アルゴリズム」にはほとんど作業がありません。

通常、アルゴリズムとは、トレーニング データセット上のモデル (データ + 予測アルゴリズム) のエラーを最小限に抑える、ある種の最適化手順です。線形回帰アルゴリズムは良い例です。最適化手順を実行して(または線形代数を使用して解析的に解決して)、トレーニング データセットの二乗誤差の合計を最小化する重みのセットを探します。

線形回帰

  • アルゴリズム: トレーニング データセットで誤差が最小となる係数のセットを検索します。
  • モデル:
    • モデルデータ: トレーニング データセット全体。
    • 予測アルゴリズム: 最も類似する K 行を見つけ、そのターゲット変数の平均を取得します。

一部のアルゴリズムは単純であるか、まったく何もせず、すべての作業はモデルまたは予測アルゴリズム内で行われます。

トレーニング データセット全体を保存する以外に、K-Nearest Neighbors アルゴリズムには他のアルゴリズムはありません。したがって、ウェイクアップ データはトレーニング データセット全体であり、すべての作業は予測アルゴリズム内にあります。つまり、新しいデータ行が保存されたトレーニング データセットとどのように相互作用して予測を行うかということです。

K近傍法

  • アルゴリズム: トレーニング データを保存します。
  • モデル:
    • モデルデータ: トレーニング データセット全体。
    • 予測プロセス: 最も類似する K 行を見つけ、そのターゲット変数の平均値を取得します。

この分解をフレームワークとして使用して、あらゆる機械学習アルゴリズムを理解することができます。

機械学習は自動プログラミングである

私たちが本当に求めているのは機械学習の「モデル」であり、「アルゴリズム」はそのモデルを取得するための道筋です。

機械学習技術は、他の方法では効果的または効率的に解決できない問題を解決するために使用されます。

たとえば、電子メールをスパムかそうでないか分類する必要がある場合、このタスクを実行するためのソフトウェア プログラムが必要です。

私たちは座って、大量のメールを手作業で確認し、タスクを限定するための if ステートメントを書くことができました。人々はこのアプローチを試してきました。このアプローチは遅く、脆弱で、あまり効果的ではないことが証明されています。

代わりに、機械学習技術を使用してこの問題を解決することができます。具体的には、Naive Bayes などのアルゴリズムは、過去の電子メール サンプルの大規模なデータセットから電子メールをスパムと非スパムに分類する方法を学習できます。

私たちが求めているのは「ナイーブ ベイズ」ではなく、ナイーブ ベイズが提供するモデル、つまり電子メールを分類するために使用できるモデル (確率ベクトルと、その確率を使用する予測アルゴリズム) です。私たちが欲しいのはモデルであり、モデルを作成するために使用されるアルゴリズムではありません。

この意味で、機械学習モデルとは、問題を解決するために機械学習アルゴリズムによって自動的に記述、作成、または学習されるプログラムです。

開発者として、私たちは機械学習アルゴリズムが AI の意味でどのように「学習」するかにはあまり興味がありません。私たちは学習プロセスをシミュレートすることに関心はありません。気にする人もいるかもしれませんし、それは興味深いことですが、それが機械学習アルゴリズムを使用する理由ではありません。

むしろ、私たちは機械学習アルゴリズムによって提供される自動プログラミング機能に興味を持っています。実用的なモデルを効率的に作成し、それをソフトウェア プロジェクトに組み込むことができるようにしたいと考えています。

機械学習アルゴリズムは自動プログラミングを実行しますが、機械学習モデルは私たちのために作成されたプログラムです。

<<:  Hacker News のホットな話題: 利用できるパッケージが非常に多いにもかかわらず、プログラマーは依然としてアルゴリズムを学ぶ必要があるのでしょうか?

>>:  トレーニング速度が60%アップ!わずか5行のコードで、PyTorch 1.6は自動混合精度トレーニングをネイティブにサポートします。

ブログ    
ブログ    

推薦する

...

VGG畳み込みニューラルネットワークモデル分析

1: VGGの紹介とモデル構造VGGはVisual Geometry Groupの略で、オックスフォ...

意思決定インテリジェンス: 人工知能における新たな方向性

[[353168]]記者趙光麗最近、中国科学院自動化研究所(以下、自動化研究所)は、「妙算智慧」戦術...

AIの新たな方向性:敵対的攻撃

[[249559]]近年のAI分野を調査していく中で、近年、世界中の研究者の視野の中に敵対的攻撃とい...

...

ハッカーがGSMアルゴリズムを破り、携帯電話ユーザーが盗聴の危険にさらされる

以下の記事では、主にハッカーがGSMアルゴリズムをクラックし、携帯電話ユーザーが盗聴の危険にさらされ...

プライバシー技術: 「AI レース」に勝つための秘密のアドバンテージ

AI 競争が始まっており、世界中の企業が AI ベースのイノベーションにおける世界的優位性を求めて競...

世界の主要なテクノロジー企業は新型コロナウイルスとどう戦っているのか?

[[319653]]新型コロナウイルスは、ウイルス自体の急速な拡散という点だけでなく、ますます多く...

清華大学特別賞焦建涛のビッグモデル起業:GPT-4ツールの使用における画期的進歩、オープンソースのシードラウンドで7000万ドルの資金調達

清華大学の卒業生 2 人によって作成されたこのツールは、ツールの使用においてGPT-4 の主要な利点...

クラウド セキュリティにおける生成 AI: アクションよりもノイズが多い? !

翻訳者 | ジン・ヤンレビュー | Chonglou人工知能はクラウド セキュリティの次の大きなトレ...

MITはディープラーニングが計算限界に近づいていると警告。ネットユーザー:減速は良いことだ

MIT の調査によると、ディープラーニングは計算能力の限界に近づいているようです。 [[334431...

ブラックテクノロジー界の「魏英洛」は人の表情を読むのが得意

[51CTO.comよりオリジナル記事] 今ではAIでも人の表情を読んだり、心を理解したり、感情を分...

...

180 の大学が人工知能専攻の追加を承認されました。これらの大学への出願をお勧めしますか?

[[317457]]教育部が発表した最新の学部専攻新登録リストでは、理工系や総合大学のほか、語学や...

2021年以降の人工知能について何かお考えはありますか?

中国科学技術協会、中国科学院、中国工程院、浙江省人民政府、杭州市人民政府、浙江省人工知能開発専門委員...