機械学習をゼロから理解する | JD Cloud テクニカル チーム

この記事では、機械学習について包括的に理解して入門します。第 1 章「機械学習の概要」は 2 つのサブ章に分かれており、機械学習とは何か、機械学習の起源、機械理論について説明します。学ぶ。これまで機械学習に触れたことのない人でも、短時間で機械学習を包括的に理解できるようにすることが目的です。機械学習の高度なコンテンツは、古典的な基礎記事 (線形モデル、デシジョン ツリー、統合学習、クラスタリングなど)、高度な実践記事 (特徴量エンジニアリング、モデルのトレーニングと検証、融合と展開など) を含めて、今後開始される予定です。 。この記事は機械学習に関する最初の章 (パート 1) であり、ここから新たな学習の旅を始めます。

1 機械学習の説明

1.1 機械学習とは何ですか?

機械学習 (ML) は、統計 (または数学) 手法を使用して、観察されたデータからモデル (またはシステム) を構築するコンピューター サイエンスの分野です。機械学習は、コンピュータープログラムを使用して人間の学習能力をシミュレートし、サンプルデータから知識や法則を学習し、実際の推論や意思決定に使用します。

広い意味では、機械学習は「機械」に学習能力を与え、直接プログラミングでは実行できないことを実行できるようにします。しかし実際的な意味では、機械学習はデータを使用してモデルをトレーニングし、そのモデルを使用して予測を行う方法です。機械学習には「トレーニング」と「予測」という2つのプロセスがあり、その途中の出力結果が「モデル」であり、「トレーニング」が「モデル」を生成し、「モデル」が「予測」を導きます。次に、機械学習のプロセスを、人間の歴史的経験の帰納および演繹のプロセスと比較します。

機械学習における「訓練」と「予測」のプロセスは、人間の「帰納」と「演繹」のプロセスに相当します。このようなやり取りを通じて、機械学習の考え方は複雑なものではなく、人間の人生における学習と成長のシミュレーションにすぎないことがわかります。機械学習はプログラミングによって形成された結果に基づいていないため、その処理プロセスは原因と結果の論理ではなく、帰納的思考によって導き出される相関関係の結論になります。

人間の歴史経験の帰納的プロセス

人間は成長や人生の過程で多くの歴史と経験を積み重ねてきました。人間は定期的にこれらの経験を「誘導」し、人生の「法則」を獲得します。人類は、未知の問題に遭遇したり、将来について「推測」する必要があるとき、これらの「法則」を用いて未知の問題や未来を「推測」し、自らの人生や仕事を導くことになる。

1.2 機械学習の適用範囲

機械学習は広く使用されており、データ分析とマイニング、パターン認識、仮想アシスタント、交通予測など、さまざまな側面でその可能性を秘めています。産業の観点からは、金融分野(クレジットカード不正行為の検知、証券市場分析など)、インターネット分野(自然言語処理、音声認識、検索エンジンなど)、医療分野、オートメーション、ロボティクスなど(無人運転、信号処理など)、ゲーム分野、犯罪捜査分野などにも携わります。

1.2.1 データ分析とマイニング

「データマイニング」と「データ分析」はよく比較されますが、データ分析とデータマイニングはどちらも、人々がデータを収集して分析し、情報化し、推測や判断を行うのに役立ちます。したがって、これら 2 つの項目を総称してデータ分析とマイニングと呼ぶことができます。データ分析とマイニングは、機械学習テクノロジーとビッグデータ ストレージ テクノロジーを組み合わせたもので、機械学習手法を使用して大量のデータを分析し、データ ストレージ メカニズムを使用して効率的なデータの読み取りと書き込みを実現します。機械学習はデータ分析とマイニングの分野においてかけがえのない地位を占めており、2012 年の Hadoop の機械学習分野への参入はその好例です。

1.2.2 パターン認識

パターン認識には、コンピューター ビジョン、医用画像分析、光学式テキスト認識、自然言語処理、音声認識、手書き認識、生体認証認識、ファイル分類、検索エンジンなどを含む幅広い用途があります。スキルの段階によって、関係が異なります。パターン認識と機械学習の間は近づいています。

1.2.3 仮想アシスタント

Siri、Alexa、Google Now はすべて仮想アシスタントです。インタラクション中に、仮想アシスタントは情報の検索を支援したり、関連する過去の行動を検索したり、他のリソース (電話アプリケーションなど) にコマンドを送信して、人々のニーズを満たすためにより多くの情報を収集します。

1.2.4 交通量の予測

私たちは生活の中で GPS ナビゲーション サービスをよく使用しますが、機械学習は渋滞の予測に役立ちます。現在、AutoNavi Maps と Tencent Maps は機械学習テクノロジーを適用して、渋滞している道路を特定し、最適なルートを計画します。

2 機械学習の歴史

2.1 浅い学習段階

  1. 1957 年にローゼンブラットは、ニューラル ネットワークの原型であり、サポート ベクター マシンの基礎となるパーセプトロン (Perceptron) を発明し、当時大きな話題を呼びました。
  2. 1959 年、IBM は学習可能なチェス プログラムを作成し、「チェッカー ゲームを使用した機械学習の研究」という論文を IBM 研究開発ジャーナルに発表し、新しい単語である機械学習 (Machine Learning) を定義および説明しました。学習、ML)。機械学習は非公式に「コンピューターに問題に対して直接プログラムされずに学習する能力を与える研究分野」と定義されています。
  3. 1960 年に、ウィドローはデルタ学習則を発明しました。これは現在最小二乗問題となっており、すぐにパーセプトロンに適用され、優れた線形分類器が誕生しました。
  4. 1970 年に、Seppo Linnainmaa が、有名な逆伝播アルゴリズム (Back Propagation、BP) の原型となる自動連鎖導出法 (Automatic Differentiation、AD) を初めて完全に記述しましたが、当時は注目を集めませんでした。
  5. 1974年にWerbosがBPアルゴリズムの考え方をニューラルネットワークに応用すること、すなわち多層パーセプトロン(Multilayer Perception、MLP)を初めて提案し、1982年に実現しました。これが現在では一般的なBPアルゴリズムとなっています。 2 番目のニューラル ネットワークを開発します。
  6. 1985 年から 1986 年にかけて、Rumelhart や Hinton などの多くのニューラル ネットワーク学者が、ニューラル ネットワークをトレーニングするための実用的な BP アルゴリズムの実装に成功し、BP はニューラル ネットワークのトレーニング用の特別なアルゴリズムとして長い間使用されてきました。
  7. 1986 年、JR Quinlan は、同様に有名なもう 1 つの ML アルゴリズムであるデシジョン ツリー アルゴリズム (反復二分法 3、ID3) を提案しました。予測モデルとして、デシジョン ツリーはオブジェクトの属性とオブジェクトの値の間のマッピング関係を表し、緊密に関連付けられています。 ID4、回帰ツリー、CART などの類似または改良されたアルゴリズムが登場しました。
  8. 1995 年に、Yan LeCun は、生物学的視覚モデルに触発された畳み込みニューラル ネットワーク (CNN) を提案しました。このネットワークには、通常、少なくとも 2 つの非線形トレーニング可能な畳み込み層、2 つの非線形固定畳み込み層、V1、V2、シンプル セル、およびコンプレックスのシミュレーションが含まれます。視覚野にある細胞は、手書き文字認識などの小規模な問題では当時世界最高の結果を達成しましたが、大規模な問題ではうまくいきませんでした。
  9. 1995 年に、Vapnik と Cortes は強力なサポート ベクター マシン (サポート ベクター マシン、SVM) を提案しました。主なアイデアは、分類超平面を使用してサンプルを分離し、分類効果を達成することです。これには強力な理論的議論と実験結果があります。これまでのところ、ML は NN と SVM の 2 つの派閥に分かれています。
  10. 1997 年に、Freund と Schapire は、別の固体 ML モデルである AdaBoost を提案しました。このアルゴリズムの最大の特徴は、弱分類器を組み合わせて強分類器を形成することです。他の強分類器の方が優れています。
  11. 2001 年のカーネル法の導入により、SVM の優位性が高まり、その主なアイデアは、低次元データを高次元にマッピングすることで線形分離性を実現することです。これまでのところ、SVM は多くの分野で NN モデルを上回っています。さらに、SVM は、凸最適化、正規化区間理論、カーネル法など、NN モデルの一連の基本理論も開発しました。
  12. 2001 年にブライマンは、複数の決定木を組み合わせることができるモデル ランダム フォレスト (Random Forest, RF) を提案しました。これは、多数の入力変数を処理でき、精度が高く、過剰なフィッティング問題がなく、学習プロセスが高速であり、非常に優れています。堅牢性。
  13. 2001 年に Hochreiter は、BP アルゴリズムを使用すると、NN ユニットが飽和した後に勾配損失 (勾配拡散) が発生することを発見しました。簡単に言うと、NN モデルをトレーニングする場合、一定回数の反復の後、簡単に過学習になってしまいます。NNの開発は一度停滞しました。

2.2 ディープラーニング段階

21世紀初頭、学術界では「ディープラーニング」という名で盛り上がりを見せた。いわゆるディープラーニング?狭義には「多層」のニューラルネットワークです。いくつかのテストや競技会、特に音声や画像などの複雑なオブジェクトを含むアプリケーションにおいて、深層学習テクノロジーは優れたパフォーマンスを達成しました。これまで、機械学習テクノロジーでは、アプリケーションで優れたパフォーマンスを達成するためにユーザーに高い要件が求められていましたが、深層学習テクノロジーに含まれるモデルの複雑さは非常に高いため、「パラメーターの調整」に懸命に取り組む限り、 、パラメータが適切に調整されている限り、パフォーマンスは低下することがよくあります。したがって、ディープラーニングには厳密な理論的根拠はありませんが、機械学習アプリケーションの敷居を大幅に下げ、機械学習テクノロジーのエンジニアリング実践に利便性をもたらしました。では、なぜ今暑くなっているのでしょうか?理由は2つあり、1つはデータ量が増えたこと、もう1つは計算能力が強いことです。深層学習モデルには多数のパラメーターがあり、データ サンプルが少ない場合は「過剰適合」が起こりやすくなります。このような複雑なモデルや大規模なデータ サンプルは、強力なコンピューティング機器がなければ解決できません。人類がビッグデータの時代に突入し、データストレージとコンピューティング機器が大きく発達したことで、ディープラーニング技術が活性化しているだけです。

  1. 2006 年、ヒントンと彼の学生たちは、ディープ ビリーフ ネットワーク (DBN) に関する記事を「ネイチャー」誌に発表しました。これにより、ディープ ラーニング (DL) の段階が開かれ、ディープ ニューラル ネットワーク、つまり学習のディープ ウェーブが始まりました。
  2. 2009 年、Microsoft Research と Hinton はディープ ニューラル ネットワークに基づく音声認識を共同研究し、2 年を要した結果が得られ、従来の音声認識技術の枠組みを完全に変え、相対的な誤認識率を 25% 削減しました。
  3. 2012 年、ヒントンは生徒たちを率いて、現在最大の画像データベースである ImageNet 上のディープ ニューラル ネットワークに基づく画像分類で驚くべき結果を達成し、トップ 5 のエラー率を 26% から 15% に大幅に削減しました。(ImageNet は、コンピューター ビジョン システム認識プロジェクトであり、現在世界最大の画像認識データベースです。人間の認識システムをシミュレートするために、米国のスタンフォード大学のコンピューター科学者によって設立されました。画像から物体を認識できます。)
  4. 2012 年、人工知能と機械学習の第一人者であるアンドリュー ン氏と分散システムの第一人者であるジェフ ディーン氏が率いる夢のラインナップが、16,000 個の CPU コアを含む並列コンピューティング プラットフォームを使用して Google Brain プロジェクトの構築を開始しました。ディープ ニューラル ネットワークは、音声認識や画像認識などの分野で画期的な進歩を遂げました。このシステムは、YouTube 上で選択されたビデオを分析し、教師なしの方法でディープ ニューラル ネットワークをトレーニングして、画像を自動的にクラスター化します。システムに「猫」と入力すると、外部からの干渉なしに猫の顔が認識されました。
  5. 2012 年、マイクロソフトの最高研究責任者であるリック ラシッドは、21 世紀コンピューティング カンファレンスで自動同時通訳システムをデモンストレーションしました。このシステムは、彼の英語のスピーチを、リアルタイムで似た音色の中国語のスピーチに変換しました。同時通訳には、音声認識、機械翻訳、音声合成という 3 つのステップを経る必要があります。このシステムは一発で完成し、スムーズな効果が満場一致で承認されました。ディープラーニングはこのシステムのキーテクノロジーです。
  6. 2013 年、Google は DNN Research というニューラル ネットワークのスタートアップを買収しました。この会社は、ジェフリー ヒントンと彼の学生 2 人の 3 人だけの会社でした。この買収にはいかなる製品やサービスも含まれていないが、ヒントンがディープラーニングをコアテクノロジーに組み込んでGoogleの将来をサポートできることを期待しているだけだ。同年、ニューヨーク大学教授でディープラーニングの専門家であるヤン・ルカン氏が、人工知能研究所の所長としてフェイスブックに入社した。
  7. 2013年、BaiduはBaidu Research Instituteとその関連機関であるディープラーニング研究所(IDL)を設立し、ディープラーニングを音声認識、画像認識、検索、広告のCTR予測(クリックスルーレート予測、CTR)に応用しました。中でも画像検索は国際トップレベルに達しています。
  8. 2014年、Googleは初の自動運転プロトタイプカーが製造されたと発表し、2015年に正式に路上テストを実施する予定だ。
  9. 2016年、GoogleのDeepMindが開発した人工知能プログラムAlphaGoがプロ囲碁棋士イ・セドルを破った。
  10. 2017年にDeepMindチームは、人間の入力なしで空白の状態から学習できるAlphaGoの最強バージョン、コードネームAlphaGo Zeroを発表しました自己訓練時間はわずか3日間で、自分自身でプレイしたチェスの対局数は彼は 100:0 の記録で前任者を破ることができました。

3 わかりにくい部分を整理する

3.1 機械学習と人工知能

人工知能 (AI) は、知能の性質を理解し、人間に匹敵し、インテリジェントに応答できる機械を作成しようとするコンピューター サイエンスの一分野です。機械学習が人工知能の最も重要な実装方法であることは誰もが知っていますが、機械学習は人工知能が最初から採用した方法ではありません。人工知能の開発は主に、論理的推論、エキスパート システム、機械学習の 3 つの段階を経てきました。

  1. 最初のフェーズでは、数学の定理の証明、記号論理を使用して人間の知能をシミュレートする方法など、論理的推論に焦点を当てます。
  2. 第 2 段階では、さまざまな分野の問題に対する専門知識ベースを確立し、これらの知識を使用して推論と意思決定を完了するエキスパート システムに焦点を当てます。たとえば、医師の診断経験を知識ベースに変換し、この知識を患者の診断に使用します。
  3. 第 3 段階の焦点は機械学習であり、今日の人工知能はもはや論理的推論やエキスパート システムに依存せず、機械学習に基づいて複雑な問題を解決します。数学ベースの機械学習モデルであっても、ニューラル ネットワーク ベースの深層学習モデルであっても、今日のほとんどの人工知能アプリケーションで有効です。

3.2 機械学習と深層学習

深層学習 (Deep Learning、DL) は機械学習の重要な分野であり、深層学習と機械学習の関係は継承と発展の関係に属します。多くの人工知能の問題において、深層学習の手法、ビッグデータの出現、コンピューターの動作速度の向上により、人工知能の可能性が強調されています。例えば、自動運転車は私たちの移動手段を完全に変えるのに十分ですが、その実現にはディープラーニングによる画像認識技術が必要であり、道路上の歩行者や信号機などの識別には畳み込みニューラルネットワーク(Convolutional Neural Networks、CNN)が必要です。 。
ディープラーニングをより明確に理解するために、まずニューラル ネットワーク (NN) について紹介します。NN は、その名前が示すように、動物のニューラル ネットワークの行動特性を模倣し、分散並列情報処理を実行するアルゴリズム数学モデルです。ニューラル ネットワークには入力層、隠れ層 (中間層)、出力層があり、入力層はニューラル ネットワークの入力を担当し、出力層は入力のマッピングの生成を担当します。機械学習におけるロジスティック回帰は、1 層のニューラル ネットワークとみなすことができます。つまり、入力層と出力層を除いて隠れ層が 1 つだけ存在します。

そしてディープラーニングとは、ニューラルネットワークにおける多くの隠れ層の使用を指します。

では、ディープラーニング学習の各層とは何でしょうか? ?

顔の写真を入力すると、ニューラル ネットワークの最初の中間層は、写真 (最初の写真) のエッジを検出する特徴検出器またはエッジ検出器と見なすことができ、2 番目の中間層はピクセルをまとめます。写真のエッジを構成し、検出されたエッジを目、鼻などの顔のさまざまな部分 (2 番目の写真) に結合し、最後に鼻、目、口などのこれらの部分を結合します。 、さまざまな顔を認識または検出できます (3 番目の写真)。

3.3 機械学習とデータマイニング

データマイニング(データマイニング、DM)とは、大量のデータに隠された情報を検索するプロセスを指します。機械学習はデータマイニングの重要なツールの1つですが、データマイニングでは、いくつかの機械学習手法を研究、拡張、適用するだけでなく、多くの非機械学習を通じて大規模データやデータノイズなどの実際的な問題を解決する必要があります。テクニック。一般に、データマイニングは機械学習とビッグデータの交差点と考えることができ、主に機械学習によって提供される技術を使用して大量のデータを分析し、ビッグデータ技術を使用して大量のデータを管理します。

3.4 機械学習と統計

1. 統計の簡単な紹介

統計学は、データに基づいて確率モデルと統計モデルを構築し、そのモデルを使用してデータを分析および予測する学問です。統計学は、機械学習が爆発的に普及する数十年前に、その背後にある数学理論に基づいて、原因と結果を説明する観点から最適な関数 (またはモデル) を見つけようとする試みにおいて主導権を握りました。統計の 2 つの最も重要な部分は、回帰分析と仮説検定です。統計の枠組みの下では、他の方法や技術も最終的にはこの 2 つの目的に役立ちます。回帰分析は因果関係を説明するための武器を提供し、仮説テストはその武器を提供します。単純線形回帰では、最小二乗法を使用して事実の近似の真偽を解き、次に有意性検定を使用して変数の有意性、モデルの有意性、およびモデルの適合精度を検出します。もちろん、仮説検定の手法を用いて、線形性に属するかどうかを検出することもできる。非線形回帰問題の場合、最尤推定または部分最小二乗回帰を使用してモデルを解きます。その後の有意性検定も同じ考え方です。

2. 機械学習と統計の比較

統計学は機械学習と重なり合う分野であり、統計学と機械学習はほぼ同等です。ただし、この 2 つにはある程度の違いがあります。その違いは、統計が理論に基づいていること、データの分布を仮定していること、強力な数学理論で因果関係を説明していること、パラメーターの推論に焦点を当てていること、統計モデルの開発と最適化に焦点を当てていることです。 ; 機械学習はデータ駆動型であり、大規模なデータに依存して将来を予測し、収束問題を弱め、モデル予測に重点を置き、問題解決に重点を置きます。

3.5 機械学習アルゴリズムと「通常の」アルゴリズムの類似点と相違点

ここでは機械学習アルゴリズムの比較対象として「アルゴリズム入門」で説明したアルゴリズムを使用します。どちらも目的は同じで、目標を設定し、制約を追加することで最適なモデルを取得することです。違いは、「アルゴリズム入門」の「アルゴリズム」とは、本質的に、正確な解をもつ問題をより効率的に解決する方法であるということです。効率とは、計算時間を短縮したり、計算プロセスに必要なスペースを削減したりすることです。ただし、機械学習アルゴリズムによって解決される問題には、一般に正確な解決策がなく、明確なステップを備えた網羅的手法や横断的手法によって解決することもできません。ここで強調する必要があるのは、「学習」という性質です。つまり、アルゴリズム自体が、与えられたデータや変化するコンピューティング環境に応じて新しい法則を動的に発見し、さらには機械学習アルゴリズムのロジックや動作を変更できることが期待されています。

著者: JD Logistics Spark チーム

出典: JD Cloud 開発者コミュニティ

{{名前}}
{{名前}}

おすすめ

転載: my.oschina.net/u/4090830/blog/10085735