「構造」の再発見記

インタラクティヴとかに興味がある京都の学生

Azure Machine Learningハンズオンセミナーにいてきた話

 先日、株式会社FIXER主催のAzure Machine Learning(以下Azure ML)のハンズオンセミナーに行ってきたのでそのまとめ。自分自身が機械学習初めてだったので機械学習8、Azure2、の割合の内容になりました。以下セミナーの構成。ほぼ、4時間休憩なしのぶっつづけ!

<講義:30min>

<ハンズオン:3h30min>

  • 統計分類
  • 回帰分析
  • クラスタリング
  • レコメンドエンジン
  • テキスト解析
  • APIデプロイ
  • Cortana Analytics Gallery紹介

1.はじめに

 前半では、機械学習の概要解説から統計分類と回帰分析、クラスタリングについて解説します。なのでAzure MLの話は一切出てきません。後ろの方で、Azure MLの概要解説とシンプルな統計分類のやり方を紹介します。最後に、所感的なまとめで締めてます。

2.機械学習の概要

 そもそも機械学習とはなんぞや、ってとこから。機械学習人工知能の研究の一端で歴史が深くて、追いかけたらキリがないので、引用で勘弁して下さい…。

 機械学習とはもともと、人間が経験から学習する過程をコンピュータ上で実現することを目指した、人工知能の主要な研究分野です。現在では、数値やテキスト、画像、音声などの様々なデータから、規則性やパターン、知識などを発見し、現状の把握や将来を予測するのに利用されています。人間が明示的にプログラムするのではなく、データからコンピュータが自動的に見つけ出すところがこの技術のポイントである。引用元:機械学習の魅力とワナ

活用事例

 以下Azure MLを中心に活用事例あげました。

3.機械学習の手法

 機械学習の手法はいろいろありますが、セミナーでは以下の3つを挙げていました。ちなみに、Azure MLでは既存のモジュールから「教師あり学習」と「教師なし学習」が非常に簡単にできます。

  • 教師あり学習
  • 教師なし学習
  • 強化学習
  • etc..

教師あり学習

 教師、つまり学習モデルが人間を教師としてトレーニングを行います。例えば、オンラインゲームで以下のようなユーザーデータXから人間が「このユーザーはYなのかZなのか」を判断していたとします。教師あり学習とは、これまで人間が考えて判断していたY,Zという答えを"教師"ととらえ、Xを元に コンピューターが「このユーザーはYなのかZなのか」を判断できるよう訓練することです。機械が人間の真似をして、代わりにユーザーの予測していると言えますね。  さてそんな教師あり学習は、統計分類と回帰分析に分けられます。

  • X:経験値やレベル、所持アイテムの数、魔法石の所持数等のデータ
  • Y:離脱ユーザーである
  • Z:アクティブユーザーである

統計分類

 「アクティヴユーザー/離脱ユーザー」を始め「勝ち/負け」「YES/NO」「アルファベットの識別」など数値以外の予測を行う際に使う学習方法。レコメンドエンジンや画像認識などは統計分類を基にしている。

回帰分析

  数値の予測を行う。例えば、賃貸の設備から月額の家賃を予想するなどが可能。数字を出したい場合は、回帰分析を使うと覚えるだけでOK!

教師なし学習

 教師あり学習と異なり、正解が存在しないデータに対して行う。予測が目的ではなく、データの本質的な構造を抽出する目的で用いる。本セミナーでは代表的な手法であるクラスタリングが紹介された。

クラスタリング

クラスタリングは、データの中から特徴を抽出してデータを分類する手法の一つ。分類されたデータから我々人間が「気づき」を得ることがある。これは使うシーンが見えてこないんだけど、「とりあえず今この大量のデータの特徴を把握したい、それを元に統計分類や回帰分析を行うと精度が高いモデルができるんじゃないかな!?」っていう発想でつかうのかな。 f:id:yumataesu:20151219013159p:plain

4.Azure Machine Learningの概要

 ざっーと機械学習の解説は終わりました。ここではその機械学習が簡単にできるAzure MLについてです。  Azure MLはMicrosoftが提供するクラウドベースの機械学習プラットフォーム。ブラウザ上でデータインポート、機械学習モデルのトレーニング、APIとしてデプロイなどまで可能で、難しいアルゴリズムの理解やプログラミングが不要。

Azure MLで統計分類

 以下はハンズオンで学んだAzure MLによる 「個人の性別や年齢、職業データから、その人が年収が5万ドル以上か未満か」を判断する統計分析のモデル作成の解説をのっけておきます。Azure MLはちょうどMAX(Cycling '74)でパッチングするようにオブジェクト同士を線で繋いで構築していきます。

  1. データの準備
  2. データをモデルトレーニング用とモデル評価用に分割
  3. アルゴリズムの選択
  4. データとアルゴリズムを元にモデルをトレーニング
  5. モデルの精度を評価 f:id:yumataesu:20151219013225p:plain

5.まとめ

統計学的知識は必須

 Azure MLは、データインポート/アルゴリズムの用意/モデルの生成/デプロイなど他にも様々な機能を一括で提供し、これまで高いハードルであったアルゴリズムの理解やプログラミング技術の習得は不要になりました が、機械学習に読ませるデータの量/質、生成されるモデルの良し悪しの最終判断を人間が行なわなきゃいけない点は変わってないです。しかしそれでも統計学的な知識さえあれば、機械学習をサービスに組み込めるという点は非常に魅力的ですね。

WEBではなく、ITとしてのソリューション

 敷居がガクンと低くなったのでスタートアップ界隈の人たちは、喜んでそうですね。クラウドですし。  でも、今更ECサイトにAzure MLでレコメンドエンジン構築とか画像認識サービスとか全然面白くない。自動車、医療現場への活用、各種インフラ、建物の空調管理とかIoT的な活用の方に注目しています。今すぐPCなんて捨ててIT全般の視点から考えないといけないと思った次第です。

以上、まとめでした。

シビュラシステム作りたい....(´・ω・`) あれの正体まじもんの脳だったけど