Pythonを使用した機械学習-基本

私たちは、より優れた計算能力とより多くのストレージリソースで強化された「データの時代」に生きています。このデータや情報は日々増加していますが、本当の課題はすべてのデータを理解することです。企業や組織は、データサイエンス、データマイニング、機械学習の概念と方法論を使用してインテリジェントなシステムを構築することで、これに対処しようとしています。その中で、機械学習はコンピュータサイエンスの最もエキサイティングな分野です。機械学習を、データに意味を与えるアルゴリズムのアプリケーションと科学と呼んでも間違いではありません。

機械学習とは何ですか?

機械学習(ML)は、コンピューターシステムが人間とほぼ同じ方法でデータに意味を与えることができる、コンピューターサイエンスの分野です。

簡単に言うと、MLは、アルゴリズムまたは方法を使用して生データからパターンを抽出する人工知能の一種です。MLの主な焦点は、コンピュータシステムが明示的にプログラムされたり、人間の介入を受けたりすることなく、経験から学習できるようにすることです。

機械学習の必要性

人間は、複雑な問題を考え、評価し、解決することができるため、現時点では、地球上で最も知的で先進的な種です。一方、AIはまだ初期段階にあり、多くの面で人間の知性を上回っていません。次に、問題は、機械に学習させる必要があるのか​​ということです。これを行う最も適切な理由は、「データに基づいて、効率と規模で意思決定を行う」ことです。

最近、組織は、人工知能、機械学習、ディープラーニングなどの新しいテクノロジーに多額の投資を行って、データから重要な情報を取得し、いくつかの実際のタスクを実行して問題を解決しています。これは、特にプロセスを自動化するために、マシンによって行われるデータ主導の意思決定と呼ぶことができます。これらのデータ駆動型の決定は、プログラミングロジックを使用する代わりに、本質的にプログラムできない問題で使用できます。人間の知性がなければできないのは事実ですが、他の側面は、私たち全員が現実世界の問題を大規模に効率的に解決する必要があるということです。そのため、機械学習が必要になります。

機械学習を行う理由と時期

機械学習の必要性についてはすでに説明しましたが、どのシナリオで機械学習を行わなければならないのかという別の疑問が生じます。データ主導の意思決定を効率的かつ大規模に行うためにマシンが必要になる状況はいくつかあります。以下は、機械学習をより効果的にするような状況の一部です。

人間の専門知識の欠如

マシンにデータ主導の意思決定を学習させて実行させたい最初のシナリオは、人間の専門知識が不足しているドメインである可能性があります。例としては、未知の領域や空間惑星でのナビゲーションがあります。

動的シナリオ

本質的に動的なシナリオがいくつかあります。つまり、時間の経過とともに変化し続けます。これらのシナリオと動作の場合、マシンがデータ主導の意思決定を学習して実行する必要があります。例としては、ネットワーク接続や組織内のインフラストラクチャの可用性などがあります。

専門知識を計算タスクに変換することの難しさ

人間が専門知識を持っているさまざまな領域が存在する可能性があります。ただし、この専門知識を計算タスクに変換することはできません。このような状況では、機械学習が必要です。例としては、音声認識、認知タスクなどのドメインがあります。

機械学習モデル

機械学習モデルについて説明する前に、ミッチェル教授によって与えられたMLの次の正式な定義を理解する必要があります。

「コンピュータプログラムは、Pによって測定されたTのタスクでのパフォーマンスが、経験Eによって向上する場合、あるクラスのタスクTおよびパフォーマンス測定値Pに関して経験Eから学習すると言われています。」

上記の定義は、基本的に3つのパラメーターに焦点を当てています。また、学習アルゴリズムの主要コンポーネントであるTask(T)、Performance(P)、experience(E)にも焦点を当てています。このコンテキストでは、この定義を次のように簡略化できます。

MLは、次のような学習アルゴリズムで構成されるAIの分野です。

  • パフォーマンスを向上させる(P)

  • あるタスクの実行時(T)

  • 時間の経過とともに経験(E)

上記に基づいて、次の図は機械学習モデルを表しています-

それらについて今より詳細に議論しましょう-

タスク(T)

問題の観点から、タスクTを解決すべき現実の問題として定義することができます。問題は、特定の場所で最高の住宅価格を見つけることや、最高のマーケティング戦略を見つけることなどです。一方、機械学習について話す場合、MLベースのタスクを解決するのは難しいため、タスクの定義は異なります。従来のプログラミングアプローチ。

タスクTは、プロセスに基づいており、システムがデータポイントを操作するために従う必要がある場合、MLベースのタスクであると言われます。MLベースのタスクの例は、分類、回帰、構造化アノテーション、クラスタリング、文字起こしなどです。

経験(E)

名前が示すように、それはアルゴリズムまたはモデルに提供されるデータポイントから得られる知識です。データセットが提供されると、モデルは繰り返し実行され、いくつかの固有のパターンを学習します。このようにして得られた学習を経験(E)と呼びます。人間の学習に例えると、この状況は、人間が状況や関係などのさまざまな属性から学習または経験を積んでいる状況と考えることができます。監視付き、監視なし、強化学習は、経験を学習または獲得するためのいくつかの方法です。MLモデルまたはアルゴリズムから得られた経験は、タスクTを解決するために使用されます。

パフォーマンス(P)

MLアルゴリズムは、タスクを実行し、時間の経過とともに経験を積むことになっています。MLアルゴリズムが期待どおりに実行されているかどうかを判断する尺度は、そのパフォーマンス(P)です。Pは基本的に、モデルがタスクをどのように実行しているかを示す定量的メトリックTであり、その経験Eを使用します。精度スコア、F1スコア、混同行列、適合率、再現率など、MLパフォーマンスの理解に役立つ多くのメトリックがあります。 、感度など。

機械学習の課題

機械学習は急速に進化しており、サイバーセキュリティと自動運転車で大きな進歩を遂げていますが、AIのこのセグメントは、全体としてまだ長い道のりがあります。背後にある理由は、MLが多くの課題を克服できていないためです。MLが現在直面している課題は次のとおりです。

Quality of data− MLアルゴリズムの高品質なデータを持つことは、最大の課題の1つです。低品質のデータを使用すると、データの前処理と特徴抽出に関連する問題が発生します。

Time-Consuming task − MLモデルが直面するもう1つの課題は、特にデータの取得、特徴の抽出、検索にかかる時間の消費です。

Lack of specialist persons − MLテクノロジーはまだ初期段階にあるため、専門家のリソースを利用することは困難な作業です。

No clear objective for formulating business problems −このテクノロジーはまだ成熟していないため、ビジネス上の問題に対して明確な目的と明確な目標がないことは、MLのもう1つの重要な課題です。

Issue of overfitting & underfitting −モデルが過剰適合または過適合である場合、問題を適切に表すことができません。

Curse of dimensionality− MLモデルが直面するもう1つの課題は、データポイントの機能が多すぎることです。これは本当の障害になる可能性があります。

Difficulty in deployment − MLモデルは複雑であるため、実際に展開することは非常に困難です。

機械学習のアプリケーション

機械学習は最も急速に成長しているテクノロジーであり、研究者によると、私たちはAIとMLの黄金期にあります。これは、従来のアプローチでは解決できない多くの現実世界の複雑な問題を解決するために使用されます。以下は、MLの実際のアプリケーションです。

  • 感情分析

  • 感情分析

  • エラーの検出と防止

  • 天気予報と予測

  • 株式市場の分析と予測

  • 音声合成

  • 音声認識

  • 顧客セグメンテーション

  • 物体認識

  • 不正検出

  • 不正防止

  • オンラインショッピングにおける顧客への製品の推奨。