1. 概要

このチュートリアルでは、機械学習と人工知能を研究するために知識が必要な科目を予備的に紹介します。

最初に、機械学習に伝統的に関連付けられている3つの専門分野の違いを学びます。 これらの違いから、さまざまなキャリアパスを導き出します。これにより、さまざまな専門分野につながるはずです。

次に、機械学習の前提条件となる分野について学習します。 実際、学生は機械学習を具体的に深く掘り下げる前に、ある程度の背景知識が必要です。 必要な予備知識の種類とその理由を正確に確認します。

最後に、人工知能の研究に対するいくつかの代替アプローチについて説明します。 これらの代替アプローチは、あまり一般的ではありませんが、それらを知っている人に優れた専門的および市場価値を提供します。

このチュートリアルの最後に、機械学習の前提条件となる科目を理解します。 また、特に機械学習との関係、より一般的には人工知能との関係もわかります。

2. データサイエンス、機械学習工学、人工知能

現代の学術的および公的な言説では、データサイエンス、機械学習、および人工知能という用語を同じ意味で使用することがよくあります。 ただし、3つの名前はわずかに異なる概念を指しているため、これらを分離しておく必要があります。

  • データサイエンスは、データセットの分析とデータセットからの人間が読める洞察の抽出に関連する分野です。
  • 機械学習はソフトウェアエンジニアリングの一分野です。 これは、実用的なソフトウェアアプリケーションの統計モデルとデータパイプラインの構築と調整に関連しています。
  • 人工知能は、人工システムにおける人間の認知の複製に捧げられた分野の包括的な名前です

したがって、それらは関連していますが、互いに等しくはありません。 しかし、より正確には、3つの中で最も具体的なデータサイエンスを除いて、それぞれに別のものが含まれていると言えます。

それでは、それらをもう少し詳しく見ていきましょう。

2.1. 各支店で働くのは誰ですか?

データサイエンティストは、企業または公的機関のデータサイエンス部門で働く専門家です。 データサイエンティストの仕事は、多くの場合非常に大きなデータセットを処理することです。また、上級管理職による情報に基づいた意思決定を可能にする洞察を抽出します

機械学習はソフトウェアエンジニアのドメインです。 彼らは、組織が使用するデータベースを開発する能力のある専門家であり、その活用に関連するデータパイプラインでもあります。

純粋な人工知能の分野では、ほとんどの場合、学者や科学者がいます。 驚いたことに、それらの多くはコンピュータサイエンスの部門に属していないが、代わりに他の多くの支部と協力している。 明らかなコンピュータサイエンスに加えて、これらの中で最も一般的なものは、心理学、認知科学、神経学、および哲学です。

2.2. どのブランチを選ぶべきですか?

伝統的に機械学習にリンクされているこれらの3つのブランチ間の選択は、それらに関連する分野の研究に対する私たちの個々の傾向に基づいて行う必要があります。

  • データサイエンスには、統計、確率論など、数学全般に関する深い知識が必要です。 これは誰もが利用できるわけではない可能性があり、このキャリアパスを支持することを決定する際には徹底的に熟考する必要があります。 また、別の直交する主題に関する知識も必要です。多くのデータサイエンティストは純粋なプログラマーではなく、エコノミスト、マーケティングエキスパート、または社会科学者です。
  • 機械学習エンジニアリングはソフトウェアエンジニアの領域であり、さまざまな言語でコードを記述してテストする必要があります。 リレーショナルデータベース、Java、C ++、Pythonに慣れているが、Calculusに関与したくないプログラマーは、おそらくこのキャリアの軌跡を検討する必要があります。
  • 純粋な分野である人工知能は、科学者の領域です。 基礎研究または基礎研究に関心があり、プログラミングや統計の知識を認知科学や心理学などの他の分野の理論的理解で補完しようとしている場合は、この分野にアプローチする必要があります。

キャリアパスの決定が下されると、3つのタイプの専門家すべてがどの分野を知っておくべきかを特定できます。 明らかに、各科目に関連する知識の深さは、選択したキャリアの軌跡によって異なりますが、 3つのブランチすべての専門家は、機械学習のすべての従来の前提条件の基本に精通している必要があります

3. 機械学習の従来の前提条件

選択した特定のキャリアパスに関係なく、機械学習の分野で働きたいすべての人は、少なくとも次の分野を知っている必要があります:統計、確率論、線形代数、微積分、およびプログラミング。 それがなぜであるか、そして機械学習との関連性は何かを見てみましょう。

3.1. 統計学

統計は、一連の観測でのパターンの識別、抽出、および一般化に適した分野です。 機械学習のすべての「学習」が統計に基づいているわけではありませんが、実際、そのかなりの部分が統計に基づいています。 このため、統計は通常、機械学習の分野に最初にアプローチするときに調査する必要がある最初の主題です。

統計から得られたいくつかの概念は、機械学習の基本的な概念です。 これらの概念は次のとおりです。

  • 観測、機能、およびデータセット。統計、観測の分析単位は、機械学習の分析単位でもあります。
  • パターン抽出と統計モデリング。 スキーマの抽出または観測の特徴間の関係は、機械学習で最も一般的なタスクの1つです。
  • 回帰分析。 機械学習には、ニューラルネットワークなど、統計と共有されないモデルがいくつかありますが、それらのほとんどは2つの間で共通です。 つまり、機械学習の専門家は、独自の分野に固有の手法に加えて、統計で一般的に使用されるすべての手法に精通している必要があります。

3.2. 統計と再現性の問題

機械学習モデルの制限は同じであるため、これらの制限を理解するには、統計の理論的基礎に関する知識も必要です。 これらの制限の1つは特に重要であり、現象の再現性の問題と関係があります。

統計は、繰り返される現象の研究に関係する科学であり、ほとんどの機械学習も同様です。 ただし、すべての現象が再現可能であるとは限りません。再現可能でない場合、機械学習では再現できません。 統計を適用できる場合と適用しない場合を理解することで、機械学習を適用できる場合とできない場合をすぐに理解できます。

私たちが17世紀に住んでいて、爆発する星をまだ誰も観察していないとしましょう。 超新星を最初に研究したティコ・ブラーエは、研究された現象が当時独特であったため、彼の研究に統計分析を使用することはできませんでした。 それは、独特の現象を研究できないという意味ではなく、単に統計分析がそれを行う方法ではないということです。

3.3. 確率論

確率論は、結果が不確実なイベントの研究に関係する分野です。 これらのイベントはまだ発生していないか、すでに発生している可能性があります。

それらがまだ発生していない場合、通常、それらが発生する確率またはそれらが特定の特性を持っている確率を調べることができます。 それらが過去にすでに発生している場合は、その場合、確率を使用して不確実性の尺度を示すことができます。

確率論は、不確実性を伴う機械学習モデルの構築の基礎です。 一部の、特にすべてのベイズモデルは、確率論で作成された理論的仮定に基づいています。

統計の場合と同様に、機械学習の専門家は、理論上の仮定に違反しているためにモデルを適用できない場合を理解するために、確率論を知る必要があります。

3.4. 線形代数

線形代数は、ベクトル、ベクトル空間、行列、テンソル、およびそれらの周りのすべての操作に焦点を当てた数学の分野です。 データマイニングと統計モデリングに関連するアクティビティのほとんどは、ある種の行列の計算を伴うため、これらのモデルを操作するには、線形代数の知識が必要です。

具体的には、線形代数を機械学習に適用するために費やされる時間のほとんどは、行列とテンソルの正しい形状または次元を特定することにあります。 ただし、次元削減や主成分分析などの機械学習の一般的なタスクには、その実装の基礎となる代数的根拠を理解する必要があるため、この分野に固有の理論を理解することも同様に重要です。

線形代数は通常、機械学習の学生が習得する最も簡単な数学的分野であるため、統計と同時に、またはその直後に学習する必要があります。

3.5. 微積分

微積分学は、連続体の研究に関係する分野ですが、古典的な計算では、本質的に連続的であるものは1つもありません。 このように、微積分が機械学習に関連付けられることが多いのはなぜですか? コンピューターから一歩後退する必要がある理由を理解し、一般的な科学的モデリングについて考える。

私たちが現象をモデル化するとき、私たちはそれについていくつかの仮定を採用しなければなりません。それは推定されますが、決して実証されません。 これらの仮定の1つは、変数を見ないときに変数に何が起こるかに関するものです。 つまり、それに関連する測定を実行していない場合です。

測定を実行していないときに変数がどうなるかについては、決して保証できません。 したがって、最も頻繁な仮定の1つは、測定する変数が連続的であり、より多くの観測を行った場合、または機器の解像度を上げた場合、原則として観測間のすべての可能な値を仮定する可能性があるというものです。

ただし、この仮定が誤りである場合、それから推測されるすべての結果も誤りです。 一方、仮定が有効である場合は、収集されたデータを処理するために使用できる機械学習ツールのセット全体があります。

3.6. 微積分が重要なのはなぜですか?

したがって、問題は、変数が連続的であると仮定して、モデルに微積分を適用できるかどうかです。 この質問に答えるために、今度はコンピューターに戻りましょう。

コンピュータは連続した空間では動作せず、単にそれらを概算します。 それでも、近似はほとんどの実用的な目的に十分であるため、通常、測定値を連続として扱い、微積分を適用できます。

この段落で行われた考慮事項は、データセット内の観測値だけでなく、ニューラルネットワークの重みやエラーなどの連続的であると推定される他の離散変数にも適用されることに注意することが重要です。 それらが継続的に分布していない場合、ニューロンに最急降下法を適用して学習を誘導することはできません。

ただし、実際には、機械学習に最初に取り組むときは、ニューラルネットワークで最も一般的な活性化関数の導関数を計算する方法を理解するために、十分な微積分を知る必要がありますが、それ以上ではありません。

3.7. プログラミング

最後になりましたが、機械学習のスペシャリストは明らかにプログラミングを知っている必要があります。 彼らがそれに習熟する必要がある程度は大きく異なります。 データサイエンティストはプログラミングと機械学習のエンジニアの経験が最も少なく、人工知能の研究者は最も多くの経験を必要とします。

これらは、通常、機械学習に関連するプログラミング言語です。

  • Pythonおよびデータ分析用のR
  • 本番用のPython、C、およびC ++
  • Java仮想マシン用のScala Kotlin 、および Java
  • マルチエージェントシミュレーション用のUnity(C#)およびNetLogo

機械学習の観点から、プログラミングは私たちが使用するツールにすぎないことを強調することが重要です。 しかし、それは私たちの仕事の最終性ではありません。

4. 同様に重要であるが、見過ごされがちな代替アプローチ

機械学習と人工知能への他の理論的アプローチもあり、対応する分野がいくつもあり、最初にセクターにアプローチする人々の研究を導くことができます。 ここで説明するのは次のとおりです。

  • 心理学と認知科学
  • 一般的なシステム理論
  • エージェントベースモデリング
  • 複雑性理論

あまり知られていないが、同様に重要な人工知能との関係を見てみましょう。

4.1. 心理学と認知科学

先に述べたように、人工知能は、認知に関する研究を人間以外のシステムに拡張するものとして生まれます。 人工ニューラルネットワークに対して行われるすべての作業のインスピレーションの源は、実際には人間の脳であり、人工ニューラルネットワークは計算可能な方法で複製しようとします。

人工ニューラルネットワークによる人間の認知の複製へのアプローチは、コネクショニズムの名前を取ります。これは、人工知能への2つの理論的アプローチの1つです。 このアプローチは、データサイエンティストと機械学習エンジニアが仕事に適用する主なアプローチです。 しかし、同様に重要なのは、人間の象徴的な推論に関連するものです。

シンボリズム、これはこの2番目のアプローチの名前であり、シンボリック推論への人工知能の適用をカバーする理論です。 知識グラフ、チャットボットの構築、および自然言語処理の方法論はすべて、人工知能に対するシンボリズムの理論的アプローチに基づいています。

機械学習エンジニアは通常、人工知能への接続主義的アプローチに焦点を当てていますが、知識エンジニアなどの他のタイプのエンジニアは、エキスパートシステムシンボリック推論を実装することに専念しています。 このタイプの職業は通常、プログラミングと心理学または認知の両方をよく理解している必要があります。

4.2. 一般的なシステム理論とサイバネティックス

システム理論または一般システム理論は、システムについて話す他のすべての理論に適用される原則の定式化に焦点を当てた分野です。 ある意味で、ほとんどの理論はシステムを扱っているので、それは内容として他のすべての理論を持っているメタ理論です。

一般システム理論と機械学習の関係は明らかではありません。 ただし、機械学習システムを、必然的に大規模なシステムに組み込まれたシステムとして概念化すると、明らかになります。

これらのより大きなシステムは、社会的、生物学的、電子的、情報的のいずれかであるか、または他の種類に属することができます。 ただし、すべての場合において、ある種の非機械学習システムが常に存在します。これには、サブシステムとして機械学習システムが含まれます。 機械学習システムは真空状態では存在しないため、その動作能力は、より大きなシステムの他のコンポーネントとの相互作用に大きく依存します。この相互作用は、一般システム理論で調べることができます。

一般的なシステム理論は、サイバネティックスにも関連しています。 後者は、システムのコンポーネント間のフィードバックとコミュニケーションの研究に関係する分野です。 サイバネティックスは、コンピュータサイエンスと人工知能の現代の分野の起源である科学です。

一般的なシステム理論は、システムエンジニアの専門知識です。 これらは、機械学習システムをより大規模なソーシャルシステムまたはロボットシステムに統合する責任を負うAIの専門家です。 機械学習への関心がロボット工学や世界の表現に関連している場合は、一般システム理論が最適です。

4.3. エージェントベースモデリング

エージェントベースまたはマルチエージェントモデリングは、規律や理論的アプローチではなく、方法論です。 ただし、人工知能のコンピューターシミュレーションで広く使用されているため、ここで言及することは依然として重要です。

人工知能との関係は、RusselとNorvigによって与えられる知能の定義に由来します。 彼らによると、インテリジェンスは、エージェントとその環境の間の相互作用から生じるプロパティです。 これは、人工知能システムを構築するときに、最初に環境を定義する必要があることを意味します。 そうして初めて、その中で動作するエージェントを構築できます

エージェントベースモデリングの方法論を用いた研究は、エージェントとこのエージェントが住む環境を定義することから始まります。 次に、このエージェントの目標と、その環境に関連するその知覚能力を定義します。

方法論には、エージェントが環境内で行動し、それに関連して行動を適応させるときに行われる学習プロセスの研究が含まれることがよくあります。 このタイプの学習は、機械学習で最も一般的なものとは異なります。 実際、これはトップダウンのアプローチではなくボトムアップのアプローチに基づいており、システムのルールが事前に明示的にプログラムされていません。

エージェントベースモデリングは、機械学習の主題に対する最も多作なアプローチの1つです。 実際、システムの創発的特性の研究が可能になりますが、それ以外の方法では分析的に導き出すことはできません。

4.4. 複雑さの理論と非線形ダイナミクス

人工知能への最後の代替アプローチは、複雑なシステムの理論を使用するものです。 複雑なシステムとは、その動作をコンポーネントの集合的な動作に還元できないシステムです。 しかし、それは代わりに創発的な特性を示します。それは、それらの要素の動作を研究することによって必ずしも推測することはできません。

複雑性理論の典型的なアプリケーションは、非線形システムの研究です。 システムが非線形ダイナミクスを示す場合、それを線形ダイナミクスシステムとして正しくモデル化することはできません。 この典型的な例は、ローレンツシステムと対応するアトラクタです。

このシステムには、非線形システムとして研究すると現れる明確なダイナミクスがありますが、それ以外の場合は見えません。 機械学習で通常遭遇する多くのシステムは、密かに非線形システムです。 彼らにとって、機械学習モデルは、それが動作するときに、その基礎となる物理システムに影響を与え、変更する効果を引き起こすからです。

住宅価格を予測するためのモデルを構築しているとしましょう。ただし、そのモデルの予測に基づいて、実際に住宅を売買することを決定したとも言います。

モデルは、その予測とともに、システムが動作する要因に影響を与えます。 これにより、最終的にモデルが無効になります。 時間の経過とともに、モデルの予測とその基礎となるシステムとの間の不一致がますます大きくなることが予想されます。

システムの将来の動作を予測しようとしているが、同時にその予測がそのシステムの動作に影響を与える場合、標準の機械学習手法によるシステムのモデリングは不可能になります。 このような場合、複雑さの理論は、他の方法では解決できないタスクに取り組むのに役立ちます。

5. 結論

この記事では、機械学習に通常関連する3つの異なるブランチ(データサイエンス、機械学習エンジニアリング、人工知能)がどのように関連し、互いに異なるかを見てきました。

また、機械学習の研究に共通する前提条件は何かを見てきました。 それらに関連して、私たちはそれらが専門家にとって重要である理由を特定しました。

私たちはついに、人工知能の研究に対するいくつかの代替アプローチを見てきました。 これらのアプローチは、あまり一般的ではありませんが、私たちがそれらを習得すれば、学術的および専門的な信用を私たちにもたらします。