適切な場所で機械学習は革命をもたらすだろう

適切な場所で機械学習は革命をもたらすだろう

[[194517]]

機械学習に代表される人工知能の分野は、現在、科学技術分野で最もホットな分野の一つであり、新時代の水、電気、石炭と呼ばれ、あらゆる産業に根本的な革命をもたらすでしょう。しかし、企業、部門、製品、そして製品マネージャーにとって必要なのは、シンプルだが重要な答えです。それは、「機械学習は本当に必要か?」ということです。

本当に機械学習が必要ですか?

多くの企業や技術ブログが「人工知能」を未来として宣伝し、「機械学習」を活用して技術を向上させ、競争相手から抜きん出る方法を提案している。しかし、機械学習とはいったい何であり、どのように使用すればよいのでしょうか? それとも、2017 年の流行語にすぎないのでしょうか?

簡単に言えば、上記の質問に対する答えはほとんどの場合「はい」ですが、機械学習が役立つ場合には革命的なものになる可能性があります。

では、機械学習とはいったい何なのでしょうか? 最も原始的な形態では、機械学習とは関数の近似を実践したり、知識に基づいた推測を行う技術です。これは、家の中の水漏れの有無に基づいて、水漏れの原因を迅速かつ正確に特定する配管工の経験など、専門家の経験と同じ概念です。機械学習では、このような経験を「ビッグデータ」と呼びます。それぞれの問題に遭遇して解決するたびに、配管工は新しいデータ ポイント、つまり将来同様の問題を解決するために使用できる知識を得ることができます。

上記はすべて素晴らしいように聞こえますが、機械学習が最近人気急上昇していることを考えると、あえて流行語と呼ぶのには理由があります。機械学習が問題に対する最終的な答えになることはほとんどありません。機械学習は、単純な問題を簡単に信じられないほど複雑にする可能性があります。for ループを再発明するという考えはまったく受け入れられません。 「機械学習」を使用していると主張する企業のほとんどは、実際には機械学習技術を使用していないか、マーケティング目的で通常のアルゴリズム開発を機械学習と呼んでいるか、従来の方法で解決できたはずの問題に対して過度に複雑で計算集約的で高価で不必要なソリューションを生み出しています。

これは、機械学習が決して役に立たないという意味ではありません。実際、機械学習は適切な問題に正しく適用すれば、素晴らしいツールになり得ます。しかし、適切な問題とは何でしょうか? 機械学習の問題の決定的な定義ではありませんが、問題が機械学習のアプローチに値するか、標準的な分析方法の方が適しているかを判断するための便利なチェックリストを以下に示します。

機械学習の問題として:

  • 「ビッグデータ」、つまり膨大なデータポイントが存在する(大規模なプロジェクトでは、数百万のデータポイントがなければ良い結果が得られない可能性がある)
  • 複雑な問題であり、一般的に標準的な方法で解決するのは非常に難しく、多くの場合、特定の分野の専門知識が必要となる問題です。
  • 非決定論的であり、同じ入力が同じ出力を生成するとは限らない
  • 多次元である – 経験則としては、データ ポイントが少なくとも 9 つの次元から収集される場合、問題は機械学習により適していると言えます。

このリストに当てはまる一般的な機械学習の問題の例としては、医療画像処理、製品の推奨、音声理解、テキスト分析、顔認識、検索エンジン、自動運転車、拡張現実、人間の行動の予測などが挙げられます。

機械学習が直面している最大の課題の 1 つは、システム内の不確実性、つまり同じ入力が必ずしも同じ出力を生成するとは限らない問題にどのように対処するかです。この記事では、トロントの天気予報を例にこの問題について説明します。この場合、私たちはビッグデータ、つまりトロントの何百年にもわたる気象データを持っています。 この問題は非常に複雑なため、正確な天気予報には気象科学の訓練と経験を持つ専門家が必要です。この質問は不確かです。2016 年 2 月 23 日が寒かったという事実は、同じ履歴データを共有しているにもかかわらず、2017 年 2 月 23 日の天気が同じであることを意味するものではありません。この問題は多次元的でもあります。風のパターン、降雨パターン、そして天候に影響を与えるあらゆるものが、解決への新たな次元となる可能性があります。問題は不確実であるため、システムの出力(天気の予測)を可能な限り正確に予測するために、私たちが持っている情報を使用する必要があります。つまり、最善の推測を行う必要があります。

機械学習の場合、最善の推測や関数の近似には、ほとんどの場合、数学の創造的な使用が伴います。これには、統計/確率、ベクトル理論、最適化、またはその他の数学的手法が含まれる場合があります。問題を解決するためにどのようなソリューションが最適かを判断するのに役立つ、分類、回帰分析、クラスタリングなど、機械学習の中心的な問題がいくつかあります。この例では、データから永続的な傾向を予測する回帰分析の問題を検討します。システムをトレーニングしたり、学習するための経験を提供したりするための主要な方法には、教師あり学習、教師なし学習、強化学習などがあります。この例では、トレーニングに使用されるデータのすべての入力と出力がわかっている教師あり学習を示します。過去の日付(入力)を指定すると、その日のトロントの天気(出力)がわかります。問題を定義し、モデルをトレーニングすると、機械学習アルゴリズムのトレーニングに使用するアプローチを決定しやすくなります。

この時点で、天気を予測する(または別の機械学習の問題を解決する)ことを決定し、上記のチェックリストを使用して、これが現実的で意味のある問題であることを確認しました。しかし、どこから始めればよいでしょうか? 機械学習の問題を解決するための手順についての便利なガイドを以下に示します。

  • 意味のあるデータの定義
  • 問題の定義
  • 問題解決へのアプローチを定義する
  • トレーニングデータとテストデータを生成する – 経験則として、データの70%をトレーニング用に、30%をテスト用に保持する必要があります。
  • アルゴリズムのトレーニングとテスト

天気予報の問題を使って上記の手順を練習してみましょう。

最初のステップは意味のあるデータを定義することです。どのような属性が意味を持ち、どのように「良い」データ ポイントと「悪い」データ ポイントを定義すればよいのでしょうか。例からいくつかの属性を取り上げ、説明してみましょう。たとえば、気温、降雨量、風速を取り上げます。これら 3 つの属性を組み合わせると、基本的に特定の日の天気がどのようなものかを理解できます。特定の日のトロント居住者の平均年齢などの属性がある場合、そのような属性は解決しようとしている問題とは無関係であり、最終結果に影響を与える可能性があるため、有効なデータからそのような属性を除外する必要があります。

2 番目のステップでは、問題が回帰分析問題であり、教師あり学習法を使用する必要があることを決定しました。 3 番目のステップでは、実際の機械学習手法を選択する必要があります。ここではあまり詳しく説明しません。線形回帰を選択しましょう。 4 番目のステップは、トレーニング データを取得することです (データの 30% をテスト用に残します)。 5 番目のステップは、実際のトレーニングとテストです。

上記の手順からお分かりのように、実際にアルゴリズムをトレーニングするのは最後の、そして最も重要でない手順です。強力な機械学習モデルを作成するための重要なステップは、プログラミングを開始する前に、意味のあるデータ、明確に定義された問題、および解決策があることを確認することです。

明確に定義され、正確に分類されたソリューション、意味のあるデータ、正しいテスト データがあり、データ傾向に外れ値が含まれている場合でも、問題が発生する可能性は依然として多くあります。多くの機械ソリューションの背後にある最も一般的な致命的な間違いは、アンダーフィッティング/オーバーフィッティングです。アンダーフィッティング、つまりバイアスが高すぎるということは、最終的な近似関数が単純すぎて、データの傾向を適切に表すことができないことを意味します。トロントの 1 年間の気温のグラフに直線を引こうとするとどうなるか想像してみてください。その線はどのデータ ポイントにも当たらないはずです。アンダーフィッティングとオーバーフィッティングの 2 つのうち、より一般的で危険なのは、オーバーフィッティング、または過剰な分散とも呼ばれるオーバーフィッティングです。この場合、最終的な近似関数は複雑になりすぎて、データの傾向を適切に表現できなくなります。過剰適合は、不足適合よりも悪い結果を生み出すことが多く、この罠に陥るのは簡単です。

この記事は機械学習の基本的な紹介にすぎません。学習教材はますます一般的になりつつあります。Theano、Tensorflow、Weka、さらにはOctaveやMatlabなど、多くの言語やGUIで実験に使用できる、すぐに使える機械学習アルゴリズムやテストデータがすでにたくさんあります(現在、最高の機械学習教材の一部はPythonで書かれています)。

<<:  GNMT - Google のニューラル ネットワーク翻訳システム

>>:  自然言語処理パート1: テキスト分類器

ブログ    
ブログ    
ブログ    

推薦する

人工知能の時代において、自己成長と教育においてどのような取り組みがなされるべきでしょうか?

近年、私たちは時代の広大さと大きな変化を痛感しています。潮流の下では、個人は泥や砂のように小さく、そ...

人工知能が登場して60年になります。人工知能について私たちはどんな誤解をしているのでしょうか?

8月23日、百度のCEOであるロビン・リー氏は中国国際知能産業博覧会で講演し、一般の人々は人工知能...

...

動的プログラミングアルゴリズムのルーチンをマスターするにはどうすればいいですか?

[[358211]] DP と呼ばれる動的プログラミングは、非常に洗練された複雑なアルゴリズムとい...

人工知能が銀行業界の変革を加速します!ビッグデータにより各ユーザーの信用格付けが提供されます!

[[221188]]将来、人工知能が 380 万人以上の銀行員の仕事を全て置き換える日が来るのでし...

誰もが知っておくべき 3 つの機械学習アルゴリズム

解決すべきデータ関連の問題があるとします。機械学習アルゴリズムの素晴らしさについて聞いたことがあるの...

...

Java プログラミング スキル - データ構造とアルゴリズム「プレフィックス、インフィックス、サフィックス」

[[387421]]接頭辞表現(ポーランド語表記)プレフィックス式はポーランド式とも呼ばれます。プ...

...

ビッグデータと人工知能が決済に革命を起こす

事実は、データ技術の進歩と発展により、仮想カードと電子ウォレットが支払い管理により適したものになって...

...

...

ケーススタディ: SAP Conversational AI を使用したチャットボットの構築

[51CTO.com クイック翻訳] チャットボットの構築に慣れていない初心者の場合、自然言語理解、...