Machine-learning-with-python-basics

提供:Dev Guides
移動先:案内検索

Pythonによる機械学習-基本

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

機械学習とは何ですか?

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

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

機械学習の必要性

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

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

機械に学習させる理由とタイミング

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

人間の専門知識の欠如

マシンにデータ駆動型の決定を学習させ、実行させる最初のシナリオは、人間の専門知識が不足しているドメインです。 例は、未知の領域または空間惑星でのナビゲーションです。

動的シナリオ

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

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

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

機械学習モデル

機械学習モデルを議論する前に、Mitchell教授によって与えられた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)

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

パフォーマンス(P)

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

機械学習の課題

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

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

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

専門家の不足-MLテクノロジーはまだ初期段階にあるため、専門家のリソースを入手するのは難しい仕事です。

ビジネス問題を定式化するための明確な目標がない-ビジネス問題の明確な目標と明確に定義された目標がないことは、このテクノロジーがまだ成熟していないため、MLのもう1つの重要な課題です。

オーバーフィッティングとアンダーフィッティングの問題-モデルがオーバーフィッティングまたはアンダーフィッティングの場合、問題に対してうまく表現できません。

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

展開の難しさ-MLモデルの複雑さにより、実際の展開が非常に困難になります。

機械学習の応用

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

  • 感情分析
  • 感情分析
  • エラーの検出と防止
  • 天気予報と予測
  • 株式市場の分析と予測
  • 音声合成
  • 音声認識
  • 顧客セグメンテーション
  • 物体認識
  • 不正検出
  • 不正防止
  • オンラインショッピングでの顧客への製品の推奨