日本最大級のマーケティングサイト J-marketing.net


(2019.03)
マーケティングのための人工知能入門およびその周辺技術
(6)Rを用いたディープラーニング入門
客員研究員 沖縄国際大学 金城敬太






 前回に引き続き、近年注目されているディープラーニングについて、具体的に「Keras」というフレームワークを「R」で利用しながら、解説していく。ディープラーニングは、理論的には難しい点もある。しかし、ゼロから実装するのでははく、フレームワークを利用すれば、誰でも比較的容易に実行することができるようになってきた。そのため、ディープラーニングの大衆化といわれているほどに普及しつつある。


1.はじめに

 第5回でも紹介したように、ディープラーニングを行う際にも、多くのフレームワークが提案されている。

  • Tensorflow・・・Googleの開発しているフレームワーク。
  • Keras・・・非常に簡単に実装できる。そのため導入としてよい。
  • Chainer・・・日本のpreferred networksで開発されている。

 それ以外にもMxnetなどがある。

 それぞれ設計の思想があり、利用できるプログラミング言語も異なっている。

 ここで扱うKerasというのは、プロジェクトONEIROSの研究で開発され、GoogleのエンジニアのFrançois Cholletがつくったものだ。

 Kerasのメリットは、最小限の記述で実行でき、初心者でも容易に実装できるわかりやすさにある。人工知能の普及や、大衆化といったことも言われている現在、その一役を担っている。一方、デメリットとしては、ブラックボックス的に処理してしまうため、中身を細かく理解せずとも使えてしまうという点や、自分で拡張をする場合に問題が出る可能性がある点だ。

 Pythonでも提供されているが、ここでは前回同様にRで行う方法を解説する。

 まず、分析の大きな流れについて紹介しよう。実行には、大きく五つのステップがある。細かい用語については第5回も参考にしてほしい。


図表1.主な実装のステップ



図表2.ディープラーニングの概念図



0.フレームワークの入手

 1を始めるまえに、実際にRを用意し、Kerasをダウンロードして、インストールするなどの準備が必要である。

1.データの用意

 トレーニングデータのラベル、ラベルに関連するデータ、評価データのラベル、ラベルに関連するデータを準備する。

2.モデルの設定とコンパイル

 どのようなネットワークにするかを、ここで指定する。またコンパイルの部分で「損失関数」(予測結果と実際の結果の違いを評価したもの)の指定や、損失からどのようにネットワークの重みを更新するか(「最適化器」)なども指定する。

 ネットワークの設定では、隠れ層における「ノードの数」の指定、そしてreluなどの「活性化関数」の指定、層をいくつにするかの指定、dropoutを行うかということなどを指定する。

 また、コンパイルの部分では「損失関数」や「最適化器」の指定を行う。これらは、学習で用いられる細かい設定である。学習というのは、図表2にもあるように予測した結果と実際の結果とのずれを損失関数で計算し、最適化器で適切にネットワークの重み(パラメータ)を更新していくことだ。例えば、「カテゴリカルデータのときは,cross-entropyなどを用いる」といったことを指定する。最適化器では、SDG(確率的勾配降下法)、RMSprop、adamなどが用意されており、これらを利用する。

3.学習

 学習では、ミニバッチ確率的勾配降下法(SGD)を用いる場合の細かい設定を行ったうえで、実際にデータを用いてネットワークの重みの推定を行う部分だ。具体的にはミニバッチ(学習する際のデータの一部を抜き出したデータ)や、エポックと呼ばれる繰り返しの回数などを指定する。詳細は次節でのべる。

4.評価

 評価では、(1)で用意したテストデータのラベルに関連するデータと、学習したモデルを用いて、実際にラベルを予測し、その結果がもとの結果をどの程度正確に予測できているかを評価する。

5.予測

 最後に、学習したデータを用いて、新しいデータが入力された場合に、どのようなラベルになるかなどの予測を行う。


 以上の五つが大きな流れである。これらに基づいて2節では具体的にRにおいてKerasを用いた実装について説明する。


次は「Kerasによるディープラーニングの実装」
【続きを読む】(有料会員向け先行公開)

※会員のご登録はこちらをご覧ください。

参照コンテンツ


【シリーズ】マーケティングのための人工知能入門およびその周辺技術


おすすめ新着記事

コロナ感染症対策のタイミング分析 行動経済学的分析 第四弾
コロナ感染症対策のタイミング分析 行動経済学的分析 第四弾

コロナ報道と緊急事態宣言などの政策は、特定層のリスク意識を高め、同調圧力を生んだ。宣言直後、8割の人が「遅すぎる」と感じた。だが振り返ると、もう少し先送りできたのではという見方もできる。結果として25兆円以上の経済損失と引き換えに、相対的に低い感染率と死者数を維持している。リスク評価は合理的だったのか、検討してみる。

コロナ対策の賢明なタイミング判断への提言
コロナ対策の賢明なタイミング判断への提言

コロナ対策の賢明なタイミング判断には、(1)正確でタイムリーな情報収集と公表、(2)状況判断の合理性と合意、(3)多くの政策オプションの確保、が必要だ。しかし現状はどれも不十分であり、人々の「自己隔離」がなければ指数的流行につながっていたかもしれない。これらの判断条件を整備した上で、社会的距離と隔離を前提とする「ニューノーマル」ではなく、信頼と絆を再構築し、政府や自治体ではなく、多くの民間企業によって、社会的絆を志向する新しいライフスタイルの提案がなされるべきだ。

いつ行っても工事中!若者から大人の街へとシフトし始めた渋谷再開発の今を巡る! (前編)
いつ行っても工事中!若者から大人の街へとシフトし始めた渋谷再開発の今を巡る! (前編)

「フクラス」「スクランブルスクエア」「リバーストリート」など、新名所が続々登場している渋谷。これまで「スクランブル交差点」「センター街」が象徴するように若者の街として発展してきたこの街では、現在大規模な再開発プロジェクトが進行中。若者の「シブヤ」から大人の「渋谷」へと変化しつつある街の"今"を紹介します。

コロナ経営危機を乗り越える!中堅ビジネス向け無料オンライン相談
会員登録のご案内
消費社会白書2020
「戦略200+」比較分析ツールのご案内
マーケティングモニターのご案内
データでわかる辛口性格診断
page top

JMR生活総合研究所マーケティングサイトに掲載の記事・写真・図表などの無断転載を禁止します。著作権はJMR生活総合研究所に属します。

Copyright (c) 1997-2020 Japan Consumer Marketing Research Institute. All rights reserved.