SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Oracle Database Cloudでいってみよう! ~ 【特別編】

「機械学習」を始める前に知っておくこと・検討すべきこと

Oracle Database Cloudでいってみよう! 〜 【特別編】


機械学習プラットフォームを選ぶ

求めている分析に必要なアルゴリズムとデータが分かったら、次は、機械学習を行うためのプラットフォームを選ぶことになります。個人の趣味としてでなく、ビジネスシーンで機械学習を活用するのであれば、それを運用するプラットフォームまで目を配らなければなりません。ここでは、機械学習プラットフォームを選定する上で考慮すべき点を6つ紹介します。

1. アルゴリズム

行いたい分析で使用するアルゴリズムを利用できるプラットフォームであることは最低限必要です。さらに、使用できるアルゴリズムの種類が少なく、分析内容によって他のプラットフォームと使い分けなくてはならないようでは、運用面で大きなマイナスとなります。ある程度の種類の分析ができるプラットフォームを選びましょう。

2. 操作性

自分以外のメンバーの利用や将来の引き継ぎを考えると、学習コストに影響する操作性も重要です。利用メンバーが全員プログラミングに精通しているのであれば、CUI環境だけで十分かもしれませんが、プログラミングが得意でないメンバーもいる場合にはGUIで操作可能なプラットフォームのほうがいいでしょう。

3. パフォーマンス

アルゴリズムの相性やチューニングも影響しますが、高い精度を出すためには大量のデータを基にした分析が必要です。機械学習プラットフォームには、それだけのデータをさばくだけのパフォーマンスが求められます。パフォーマンスが低いマシンでは大量のデータを基にした分析ができず、高い精度を出すことは難しくなります。

4. データ管理

機械学習を行うためには、機械が学習できる形に学習データを成形する必要があります。機械学習ではモデル作成前のデータ準備がよい精度を出すための重要なポイントとなるため、データを扱う機能に関しても操作性やパフォーマンス部分で使いやすいものを備えているかが重要になります。

5. ジョブ管理

機械学習のフローが実際に構築され、モデルの精度としても満足いくものができた場合には、その分析を継続的に回すことになります。データは日々更新されるため、更新されたデータに対して決まった分析を行えるようにプラットフォーム内でジョブとして管理できる機能があると、運用が楽になります。

6. セキュリティ

分析対象のデータは顧客の過去の行動ログなど、取り扱いにいっそうの注意が必要になることが往々にしてあります。そのため、機械学習を行うプラットフォームはセキュリティ要件を満たすことが必須です。

以上のように、機械学習プラットフォームを考える際には、分析という視点だけでなく従来通りのインフラ視点が重要になります。

データ分析をビジネスプロセスに組み込むPDCAの考え方

データ分析をビジネスに組み込むには、分析の進め方にも気を付ける必要があります。「環境とツールはそろったが、分析の進め方が固まっていないために、分析を行ってみただけで終わってしまい、ビジネスに活かせない」という経験をした人も少なくないでしょう。機械学習は機械が自動的にモデルを作ってくれますが、そもそもどんな分析を行うか、作成されたモデルをどう使うかなどは、従来の分析と同じように人が考える必要があります。

データ分析の世界には「Cross-Industry Standard Process for Data Mining」(CRISP-DM)という、分析のPDCAサイクルがあります。名前のとおり、産業・業界を問わず、分析のPDCAサイクルの回し方のベースとなる考え方です。

Cross-Industry Standard Process for Data Mining(CRISP-DM)
Cross-Industry Standard Process for Data Mining(CRISP-DM)

このPDCAサイクルは「ビジネス理解」から始まり、「データ理解」→「データ準備」→「データモデリング」→「評価」→「展開」というステップで進んでいきます。

ビジネス理解

「ビジネス理解」では、分析プロジェクトの目的と、分析のゴールを決定します。どんなメンバーがいつまでの期間で行うかといったプロジェクト計画も初めに決定します。

データ理解

「データ理解」では、分析対象のデータを収集し、どのようなデータが入っているかを調べます。PDCAサイクルの図を見ると、ビジネス理解とデータ理解が双方向の矢印で結ばれていますが、これは分析のゴールを達成するためのデータがない場合には、改めてビジネス理解に立ち戻る必要があることを表しています。例えば、「顧客分析を行いたいのに、調べてみたら顧客データを持っていなかった」というのでは、ゴールを達成することはできません。

データ準備

分析に必要なデータの存在を確認できたら、「データ準備」に移ります。ここでは、機械学習を行う際に機械が認識できる形式にデータを変換していきます。顧客の性別などの固定されたデータと、購買履歴のようなトランザクションデータが別々のテーブルに格納されている場合には、それらを連携する仕組みも作ります。

データモデリング

データの準備が完了したら、機械学習を行って「データモデリング」(データモデルの作成)を進めていきます。データモデルを作る場合には、学習元のデータと行いたい分析内容に従ってアルゴリズムを選択します。また、モデルの精度のテストもここで行います。十分な精度が出ない場合には、データ準備のステップに戻って追加できるデータがないかを確認します。

評価

データモデルができたら、そのモデル自体を「評価」していきます。ここでは、そのモデルが実用に耐えられるものかどうかを、モデルの特性から評価します。また、データ準備を含めるプロセスも運用に耐えられるものかどうか、併せて評価します。作成したモデルの精度が低すぎる場合には使い物になりませんし、次の日の予測値を求めたいにもかかわらず、データ準備からモデル作成まで3日間かかってしまうようでは意味がありません。評価のステップで、元々立てたビジネスの目的を達成できないことが判明したら、「ビジネス理解」まで戻って分析プロジェクトをやり直すことになります。

展開

評価で特に問題がなければ、「展開」を考えていきます。単発の施策として分析結果を活用するのか、定期的なジョブとして分析を回していくか、などについてビジネスに沿った判断をします。そして、今後のためにプロジェクトの総括を行い、分析ノウハウがたまるようにします。

次のページ
クラウドで機械学習プラットフォームを運用するメリット

この記事は参考になりましたか?

Oracle Database Cloudでいってみよう! ~ 【特別編】連載記事一覧
この記事の著者

小川 幹雄(オガワ ミキオ)

日本オラクルのクラウドアーキテクト。データサイエンスにおけるオラクルクラウドのソリューション構築を担当。機械学習、グラフ分析、ビジュアライズ分析とデータ分析をライフワークにしている。プライベートでも分析関連の論文などを読んでいることが多い。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/9331 2016/05/29 16:02

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー