1. HOME
  2. ブログ
  3. Azure Machine Learning
  4. だれでも分かる機械学習(入門) 第1回 基礎用語編

BLOG

ブログ

Azure Machine Learning

だれでも分かる機械学習(入門) 第1回 基礎用語編

機械学習ってなんだ?

 

はじめに

今年は、弊社でも機械学習を使ってサービス展開していきます。

サービスのテーマとしては、製造・小売業における在庫予測と売上予測がひとつ、ウェブサービスでは、キャンペーンの最適化、購入時のレコメンド活用、BtoBにおけるナーチャリング可能なセグメントの仕分けなどを中心に活用を検討しております。

そこで、弊社サービスをご利用いただくみなさまと「機械学習」を一緒に学べる場を設けようと、社内ブログでシリーズ化してみようと思います。

今回は第一回として、基礎用語をしっかりと整理・理解してみようと思います。

 

このシリーズの最終GOALは、ノンプログラマでもAzureMLを使った機械学習が可能となること、プログラマ向けにはわかりやすくPythonとChainerライブラリーを使った基礎的な機械学習が可能となることです。

本日は、みなさまと一緒にまずは基礎用語をしっかりとおさえていきましょう。

それでは、今後とも、どうぞ、よろしくお願いいたします。

 

 

 

機械学習とは

人工知能における研究課題の一つで、人間が自然に行っている学習能力と同様の機能をコンピュータで実現しようとする技術・手法のこと 『Wikipedia』

ポイントは人工知能における研究課題の一つ…という点ですね。

 

人工知能とは、計算機(コンピュータ)による知的な情報処理システムの設計や実現に関する研究分野『Wikipedia』

ものすごく端折ると、人工知能を実現するための手段のひとつとして「機械学習」を使う、という風に捉えていただければまずは良いと思います。つまり、人工知能は目的であり、その実現手段として機械学習というものがある、とおさえておきましょう。

ちなみに、実現手段は、機械学習以外にあるの?といわれてしまうと、正直、よくわかりません(笑)

このあたりが機械学習 = AI = 人工知能と混線する要因だと思います。

 

 

 

機械学習で用いられるアルゴリズム

そもそも何を学習するのですか?という話になりませんか?

機械学習の「学習」には大きく3つあります。

  1. 教師あり学習 ・・・すでに正解があり、その正解に基づいて与えられたデータがどこに分類されるのかを識別できます。また、過去の売上データから来月の売上予測することも可能です。画像識別、医療診断、株価予測もここに分類されます。
  2. 教師なし学習 ・・・よくわからないデータをグルーピングして整理したいときに使います。クラスタリングといいます。ECの顧客を分類したり、購買商品実績からレコメンド商品を導いたりするときに活用します。
  3. 強化学習   ・・・機械自体が試行錯誤してもっとも良いと考える行動を決定します。自動運転が代表例です。

 

機械学習を実施する際にはさまざまなアルゴリズムを選択して利用します。

機械学習の主なアルゴリズム代表例

2クラス分類

  1. ロジスティック回帰
  2. デシジョンフォレスト
  3. デシジョンジャングル
  4. ブーストディシジョンツリー
  5. ニューラルネットワーク
  6. 平均化パーセプトロン
  7. SVM(サポートベクターマシン)
  8. ベイズポイントマシン

多クラス分類

  1. ロジスティック回帰
  2. デシジョンフォレスト
  3. デシジョンジャングル
  4. ニューラルネットワーク
  5. one-v-all

回帰

  1. 線形
  2. ベイジアン線形
  3. デシジョンフォレスト
  4. ブーストデシジョンツリー
  5. 高速フォレスト分位
  6. ニューラルネットワーク
  7. ポワソン
  8. 序数

異常検出

  1. SVM(サポートベクターマシン)
  2. PCA
  3. K-Means

強化学習

  1. Q学習
  2. DQN

参照)https://docs.microsoft.com/ja-jp/azure/machine-learning/studio/algorithm-choice

 

 

 

もっとも基本的なアルゴリズム

ニューラルネットワーク

脳機能に見られるいくつかの特性を計算機上のシミュレーションによって表現することを目指した数学モデル『Wikipedia』

簡単にいうと、ニューラルネットワーク とは、神経細胞をモデル化したもの = 単純パーセプトロンを複数組み合わせ、層にしたものを指す、とまずは捉えていただければ大丈夫です。

ちなみに、ディープニューラルネットワーク とは、隠れ層が2層以上のニューラルネットワーク を指します。このディープニューラルネットワーク を用いて機械学習することをディープラーニングと呼びます。

 

  • 単純パーセプトロン
  • ニューラルネットワーク
  • ディープニューラルネットワーク
  • ディープラーニング(深層学習)

 

 

 

単純パーセプトロンを図解する

神経細胞(ニューロン)のモデル化

http://www.tamagawa.ac.jp/teachers/aihara/nuron-name.jpg

 

単純パーセプトロンの模式化

 

ニューラルネットワークの模式化

単純パーセプトロンを複数組み合わせたもの

 

ディープニューラルネットワークの模式化

隠れ層が2層以上のニューラルネットワーク

 

 

 

まとめ

今回は、機械学習にまつわる基礎用語を整理してみました。

一つ一つ定義をおさえておけば枠組みをしっかりと理解できると思います。

根本から理解すれば今までの偶像(なんでもできる)から、実像(なんでもできるはできない)も見えてくると思います。次回は、実際に AzureMLを見よう見まねで使ってみて、何ができるのかをやってみようと思います。

 

 

 

 

 

関連記事