BizLearnLog

2020.06.05
お役立ち情報

今話題!Pythonでできる機械学習

今話題!Pythonでできる機械学習
BizLearnではeラーニング「Python活用 〜機械学習に向けて〜」を提供しています。
「機械学習、よく聞く言葉だけど結局何ができるの?」
「Pythonを最近勉強してるけど機械学習って簡単にプログラムできるの?」
機械学習って言葉はよく聞くけれども、何が機械学習なのかわからない。今後伸びていく分野なんだろうけど、どうやって実装するのかもわからない。今回の記事は、機械学習に興味はあるけど、そんな疑問を持っているあなたのために機械学習の例とPythonでどのように機械学習を実践するのかをわかりやすく解説します。この記事を読むとPythonでできる機械学習の第一歩を踏み出すことができるようにまとめてます。機械学習に関心がある方はぜひ読んでみてください。
目次

そもそも機械学習とは

機械学習とは、簡単にいうと、コンピュータに学習させて、データ分析をしてもらう手法のことです。 機械学習にはどのようなものがあるのかまとめました。

AIとの違いは?

機械学習について知るためには、AIについてもある程度知って置く必要があります。 AIは特化型人工知能(AGI : Artificial General Intelligence)と汎用型人工知能(GAI : Growing Artificial Intelligence)の2つに分けられます。 特化型人工知能はその名の通り。1つの処理に特化した人工知能です。機械学習は、認識と予測という処理に特化しているので、AIの中でも特化型人工知能として分類されています。 対して、汎用型人工知能はドラえもんに例えられることが多く、現実的には未だ実現はできていない技術です。

機械学習の種類

では、機械学習にはどのような種類があるのでしょうか? 機械学習を次の3つに分けてそれぞれ何ができるのかを紹介します。
  • 教師あり学習
  • 教師なし学習
  • 強化学習

教師あり学習

教師あり学習では、答えがついているデータを学習させる機械学習の方法です。 学習が完了すると正解のわからないデータを学習したパターンをもとに識別・予測することができるようになります。パターンを学習する回帰や分類などが教師あり学習の代表的な手法です。

教師学習なし学習

教師なし学習では、答えなしのデータを機械が学習します。データの持つ特徴を機械が分析することで、グループ分けやデータの簡略化を行うことができます。もう少し専門的な言葉を使うと、教師なし学習では分類や主成分解析、次元削除などが例として挙げらす。

強化学習

強化学習は、システム自身が試行錯誤しながら最適なシステムを実現する機械学習の形です。強化学習の過程では、機械の行動に対して、報酬とペナルティーという結果を与えます。報酬が最大になるように機械が学習し、適切な行動を取ることができるようになります。

身近な機械学習の例

さて、機械学習の概念はつかむことができたでしょうか? 次は実際に機械学習があなたの身近な世界でどのように役に立っているのかをみてみましょう。 身近な事例を参考にすることで何か新しいアイデアが思い浮かぶかもしれないですね。

データの機械学習

機械学習ではデータを数値で認識・分類することができます。 例えば、金融や経済では株や為替の値動きのデータの分析も機械学習で扱うことができます。今までの時系列のデータを機械に学習してもらうことで、これからどのようなことが起こるのかを予測することもできます。 また、商品開発の際どのような人をターゲットにするのかなど、データ分析することが可能であり、機械学習はマーケティングをする際にも役に立ちます。 売り上げデータや購買層を調べることで、どのような顧客にどんな商品が人気なのかを機械学習を使ってマーケティングすることができるようになります。さらには、機械学習の予測を使うとお客さん一人一人に適した商品を勧めるということも実現できるかもしれません。

画像認識の機械学習

画像を認識して、その画像がどのような意味を持っているのかを機械が判断する技術にも機械学習が使われています。 画像認識の機械学習は、例えば、医療の現場にも導入されようとしています。 CT画像やMRIなどの結果を画像認識することで診断に役立てる研究が現在世界中で行われています。 従来では見逃されていたかもしれない疾患の発見や、医師や看護師の負担の軽減に一役買っています。人間と機械がお互い協力して、みなさんの健康を支えてくれる世界になるかもしれませんね。

音声認識の機械学習

機械学習は数値や画像のみでなく、音声や言語も認識する技術です。 スマートフォンをお持ちならば、自分の声で操作を試したことはないでしょうか?自分の言葉が機械の中で言語として認識されるプロセスの中にも、機械学習が組み込まれています。 音声認識は例えば、英語の発音トレーニングや、会議の議事録の自動作成などにも応用される技術です。

自動運転の機械学習

今話題の自動運転の実現を支えているのも機械学習です。 あらゆるセンサーによって車周囲の人や障害物の識別を機械学習が担い、人や障害物が次の瞬間どのように動くのかということを予測します。 機械学習は自動運転の安全性を確保しています。機械学習で制御された自動運転の車に乗っている日も遠くないかもしれませんね。

Python機械学習入門ステップ

さて、機械学習が現実世界でどのようなことができるかというイメージはついてきたでしょうか? このようなことを自分で実装できるようになるとあなたの仕事の幅はグンと広がりそうですね。 最後に、機械学習を実践するまでの必要なステップのPython3を使った場合を例にして、説明いたします。

データの準備・クレンジング

まず、機械学習を行うためには、データを準備・クレンジングする必要があります。クレンジングというのは、機械が学習しやすいようにデータの形を整えてあげる作業のことです。 例えば、ユーザーの年齢が”20歳”というように日本語の全角で記載されているデータは機械学習には適切ではありません。この場合20という半角数字に置き換えてあげる必要があります。 時系列順である必要がある機械学習のならば、データも時系列で並べてあげなくてはいけません。 もちろん作業はエクセルでできるような作業ではありますが、Python3のライブラリpandasを使えば、エクセルでできる作業をPython上で行うことができます。

機械学習のモデルの構築

次に、機械学習のモデルの構築をします。 モデルの構築とは、どのようなロジックに基づいて機械が学習していくのかを設定してあげることです。 Python3にはscikit-learnなどの機械学習を実装できるライブラリが豊富にそろっています。例えば、scikit-learnの扱える機械学習のモデルには、有名な回帰分析やロジスティック回帰などがあります。 たくさんの便利なライブラリがありますが、機械学習のモデルの構築の際には、あなたの使うデータと目的、そして、そのモデルの特性を理解することも大切になります。モデルの構築を械的にするのではなく、あなた自身も勉強するとより実践的な機械学習のモデルが理解できるようになりますよ。

学習・予測そして検証

データのクレンジングとモデルの構築が終了したら、いよいよデータの学習と予測を行います。 この作業もpythonのライブラリを使うと、たった数行で完了することができます。やっとここまでたどり着きましたが、予測まででは機械学習は終わりません。 予測実行後に、本当に予測が正しかったのかという検証を行う必要があります。この検証過程もscikit-learnなどの既存のライブラリを使って実装することができます。 検証を重ねることであなたの実装する機械学習の精度が上がってくることでしょう。

まとめ

この記事の前半では、機械学習で何ができるかを例を交えてまとめました。そして、後半にかけてPythonで機械学習を実行するまでの過程を解説しました。 当社が提供するeラーニング「Python活用 〜機械学習に向けて〜」では、Python3のPandas(データ処理ライブラリ)を扱ったデータの準備とクレンジングの講義を提供しています。 機械学習の仕事では、データの加工が仕事の8割を占めるとも言われており、機械学習を目指す人としては避けては通れない道です。この講義を通して、機械学習のステップの1つを踏み出すことができます。 Pythonを用いた機械学習は日々開発が進んでいます。今から機械学習を始めてみようと考えている方、ぜひeラーニングでの実りあるステップアップを検討してみてはいかがでしょうか。
eラーニング学習画面イメージ
学習画面イメージ

------------------------

【公式LINE運用中!】
LINEにて、キャンペーン情報やブログ更新情報をお届けいたします。
もしよろしければ、下記のボタンよりご登録ください。

友だち追加