日本最大級のマーケティングサイト 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によるディープラーニングの実装」
【続きを読む】(有料会員向け先行公開)

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

参照コンテンツ


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


おすすめ新着記事

MNEXT 中堅ビジネスの再成長への提案<br>―大手よりも伸びる中堅企業のナゼ?
MNEXT 中堅ビジネスの再成長への提案
―大手よりも伸びる中堅企業のナゼ?

どうしたら会社が持続的に成長できるのか。経営者にとって最大の悩みだ。当社独自の分析では、直近10年間で成長していたのは大手企業よりもむしろ中堅企業であった。つまり、中堅企業は大手よりも優れた成長戦略を採ったということだ。では、どのような戦略で「壁」を突破し再成長を遂げたのか、事例を交え解説する。

成長市場を探せ 麦茶飲料(2019年版)
成長市場を探せ 麦茶飲料(2019年版)

無糖茶市場が拡大を続けている。なかでも成長著しいのが麦茶飲料で、2018年は前年比14%増、9年連続の伸長だ。背景には、近年の猛暑から熱中症対策飲料としての認知が進んだこと、加えて健康効果も知られるようになり、通年商品化したことが挙げられる。需要最盛期を迎え、ますますの市場拡大が期待される。

戦略ケース  アルビオンはいかにして
戦略ケース  アルビオンはいかにして"500億円の壁"を突破したか

「スキコン」のアルビオンが好調だ。2018年度の売上高は688億円と、過去23年間で約3倍の伸びである。しかし、順風満帆な成長だったわけではない。2009年度には"500億円の壁"に直面し、売上が落ち込んだのだ。見事復活を遂げ、"壁"を突破した背景には、同社の基軸である化粧品専門店への集中戦略があった。

成長支援のコンサルティングサービス
マーケティングモニターのご案内
データでわかる辛口性格診断
会員登録のご案内
消費社会白書2019
「戦略200+」比較分析ツールのご案内
page top

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

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