「事例+演習で学ぶ - 森北出版 ·...

36

Upload: others

Post on 05-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定
Page 2: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

「事例+演習で学ぶ

機械学習」

サンプルページ

この本の定価・判型などは,以下の URL からご覧いただけます.

http://www.morikita.co.jp/books/mid/088021

※このサンプルページの内容は,初版 1 刷発行時のものです.

Page 3: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定
Page 4: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

i

Preface

まえがき

広がる可能性機械学習とデータマイニングは,近年注目を集めている技術です.背景には,企業において,データを活用することが一般的になっているという変化があります.たとえば,経営者が様々な判断を行うためだけでなく,現場のマネージャ,あるいは担当者がデータを分析し,判断のための裏付けを得ることが可能になっています.もう一つの変化は,企業内でデータ分析に人間が直接関与するだけでなく,データに基づく決定が自動的に行われるようになっていることです.とくに,ネット上のビジネスを行う企業は,ネットワークを通して顧客と接してるため,自動化が適しています.こうした技術がクラウドサービスとして低価格で提供されるようになって,ネット上のビジネスにかかわる多くの企業に,データを活用する可能性が広がっています.これらの企業には,独自のアイデアや技術をもつ成長志向の新興企業や,利益だけでなく社会的な価値を生み出す社会的機関なども含まれます.

演習と事例によって学ぶ本書は,機械学習とデータマイニングについて,演習と事例によって学ぶことを意図したものです.機械学習という数学的な枠組みの理解を深めるために,演習問題を解きながら説明を進めるという形式にしてあります.複雑な手法については概念レベルの説明にとどめ,基本的ないくつかの手法を詳しく説明しています.データマイニングについては,いくつかの事例を紹介しながらできるだけ体系的に伝えるようにしています.とくに,オンラインビジネスとマーケティングにかかわるものとして,評判分析,推薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは,人工知能,計算機科学,経営学がかかわるホットな分野です.多くの方は,データを集めて分析することを,物理学などの実験データを扱う場面

Page 5: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

ii まえがき

として学んできたのではないかと想像します.これに対して本書では,ビジネスの課題に対して,データを集めて分析し,オンラインビジネスで活用する場面を取り上げています.

想定している読者本書が想定している読者は,大学の理系学部を卒業後,こうした業務にかかわる社

会人,または現役の学部生で,線形代数,微分積分,確率・統計などの数学の基礎科目を修了した人たちです.こうした読者のために,統計学や機械学習を学ぶ際にしばしば使われる R言語を用いた演習を用意しました.理論の説明を読んで,演習問題を紙と鉛筆で解き,具体的なデータを使用した演習に取り組むことによって,理解がさらに深まります.また企業活動において,データから価値を生み出す新しい仕組みを実現するための専門家は,「データサイエンティスト」とよばれます.新しい時代を拓く職業として知られるようになってきました.ビジネスに関連した設定にしたのは,将来データサイエンティストとして活躍できるようになってほしいという願いを込めているからです.本書では,事例と演習の中で,ビジネスに関連した話題を取り上げています.技術とビジネスとのかかわり,技術と社会とのかかわりを考える機会を提供しようという考えから,こうした設定にしました.

本書の構成本書の内容は,前半の第 1章~第 5章と,後半の第 6章~第 9章に分かれています.前半は,基本的な原理の説明です.第 1章では,データを活用するための外部環境の変化を説明します.第 2章では,データマイニングの原理と機械学習の概要を解説します.第 3章では識別を,第 4章では予測を取り上げます.これらは,機械学習が適用される主要なタスクです.第 5章では,決定木を取り上げてモデル化の留意点を説明し,個人に関する情報について解説します.後半は,評判分析,推薦システム,ソーシャルネットワーク,検索連動広告といったマーケティングとオンラインビジネスに関連した応用別の構成にしました.第 6章では,テキストマイニングを説明し,ネット上のテキストを対象とする評判分析を解説します.第 7章では,推薦システムを解説します.とくに,ほかの利用者の情報を利用する仕組みについて詳しく説明します.第 8章では,人と人をつなぐソーシャルネットワークを対象として,局所的な構造と大域的な構造の分析と社会学的な意味を解説します.第 9章では,検索に連動する広告であるオンライン広告について,検索語に対して広告を割り当てるアルゴリズムを説明します.

Page 6: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

まえがき iii

機械学習の手法としては,ロジスティック回帰,サポートベクトルマシン(SVM),ニューラルネットワーク,決定木,k平均法,単純ベイズ法,k近傍法などの代表的なものを取り上げます.手法別に独立の章としなかったのは,様々な手法に共通する問題の説明と機械学習

の手法を課題解決にどのように適用するかに力点を置いたためです.付録として,R言語による演習課題を説明しています.課題は部屋の賃料の分析,

個人の属性と収入の関係のモデル化,文書の種類の識別,映画の評価値の予測の四つを用意しました.なお,この付録のサンプルコードは,下記 URLよりダウンロードできます.

http://www.morikita.co.jp/books/mid/088021

Page 7: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

iv

Contents

目 次

第1 章 ネット時代のデータ活用 1

1.1 オンラインビジネスの台頭 ............................................................................ 1

1.2 クラウドサービスによる情報インフラの拡大 .............................................. 2

1.3 分析手法のオープン化 .................................................................................... 3

1.4 ストリームデータの増加 ................................................................................ 5

演習問題 .................................................................................................................... 5

第2 章 データマイニングと機械学習 6

2.1 データからの知識抽出 .................................................................................... 6

2.2 ターゲットマーケティングへの適用 ........................................................... 12

2.3 機械学習とは? ............................................................................................. 16

2.4 大規模ファイルシステムと並列分散処理 .................................................... 22

2.5 まとめ ............................................................................................................ 27

演習問題 .................................................................................................................. 27

第3 章 識別:線形識別とその発展形 28

3.1 識別を行うモデル(線形識別)..................................................................... 28

3.2 クラスに属する確率の推定(ロジスティック回帰) ................................... 31

3.3 マージン最大化による識別モデル(SVM) ................................................. 33

3.4 識別モデルの利用方法 .................................................................................. 38

3.5 まとめ ............................................................................................................ 43

演習問題 .................................................................................................................. 43

第4 章 予測:線形回帰とニューラルネットワーク 45

4.1 予測を行うモデル ......................................................................................... 45

Page 8: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

目 次 v

4.2 線形回帰モデル ............................................................................................. 49

4.3 多項式による近似と正則化の方法 ............................................................... 58

4.4 ニューラルネットワーク .............................................................................. 63

4.5 まとめ ............................................................................................................ 69

演習問題 .................................................................................................................. 70

第5 章 決定木 71

5.1 顧客の反応をモデル化する .......................................................................... 71

5.2 データ集合から決定木を生成する ............................................................... 76

5.3 過剰適合と汎化 ............................................................................................. 81

5.4 個人に関する情報 ......................................................................................... 83

5.5 まとめ ............................................................................................................ 87

演習問題 .................................................................................................................. 87

第6 章 テキストマイニングと評判分析 89

6.1 テキストの分析 ............................................................................................. 89

6.2 クラスタリング(k平均法) ......................................................................... 94

6.3 評判分析 ........................................................................................................ 99

6.4 文書を自動的に見分ける(単純ベイズ法) ............................................... 103

6.5 文書識別のための様々な手法 ................................................................... 107

6.6 まとめ ......................................................................................................... 110

演習問題 ............................................................................................................... 111

第7 章 推薦システム 112

7.1 ロングテールと推薦システム ................................................................... 112

7.2 内容にもとづく推薦システム ................................................................... 115

7.3 協調フィルタリングと k近傍法 ............................................................... 118

7.4 利用者とアイテムの行列を分解する ........................................................ 122

7.5 まとめ ......................................................................................................... 131

演習問題 ............................................................................................................... 131

第8 章 ソーシャルネットワークの分析 133

8.1 ソーシャルネットワーク ........................................................................... 133

Page 9: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

vi 目 次

8.2 局所的な構造と大域的な特徴 ................................................................... 138

8.3 イノベーションの普及 ............................................................................... 144

8.4 グラフ分割のアルゴリズム ....................................................................... 146

8.5 まとめ ......................................................................................................... 151

演習問題 ............................................................................................................... 152

第9 章 検索連動広告 153

9.1 インターネットと広告 ............................................................................... 153

9.2 検索語に対して広告をどう割り当てるか ................................................. 157

9.3 検索語と広告主のマッチング ................................................................... 159

9.4 上限のある予算内での最適割り当て ........................................................ 163

9.5 まとめ ......................................................................................................... 168

演習問題 ............................................................................................................... 168

付録 R言語による演習 169

A.1 線形回帰モデル(部屋の賃料の分析) ...................................................... 169

A.2 決定木(個人の属性と収入の関係のモデル作成).................................... 176

A.3 テキスト処理と SVM(文書の種類の識別) ............................................. 181

A.4 推薦システム(k近傍法による映画の評価値の予測)............................. 185

演習問題解答 188

参考文献 197

あとがき 202

索 引 204

Page 10: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

目 次 vii

事例目次データ主導の企業の業績 ...................................................................................... 10

データサイエンティストに求められるスキル .................................................... 11

データマイニングによる顧客企業の分類 ............................................................ 14

オープンソースによる情報環境 ........................................................................... 26

クレジットカード事業と顧客データへの投資 .................................................... 42

音声認識における深層学習 .................................................................................. 64

携帯電話利用者についてのデータマイニング .................................................... 72

鉄道利用者の乗降履歴データ .............................................................................. 83

個人の特定につながる位置と時間帯のデータ .................................................... 85

個人の特定につながる購買履歴のデータ ............................................................ 85

コールセンターにおけるコンタクト履歴 ............................................................ 90

サービスを対象とする学術分野 ........................................................................ 102

推薦システムのコンテスト ............................................................................... 114

スモールワールド現象 ...................................................................................... 137

転職者に有益な情報をもたらす人物とは? ..................................................... 140

第 2価格入札オークション ............................................................................... 156

Page 11: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

28

Discrimination: Linear Discrimination and its Variants

第 3 章

識別:線形識別とその発展形

第 3章以下では,機械学習についてさらに詳しく説明します.はじめに,代表的なタスクとして識別を取り上げます.最も単純なモデルとして線形識別を,その拡張としてロジスティック回帰と SVMを説明します.これらは,入力に含まれる複数の情報を使用して識別する手法です.入力変数に重み係数を掛け合わせて加えるという線形識別の基本形から,より複雑なものへと,順に解説します.

3.1 識別を行うモデル(線形識別)

識別モデルの最も単純なものは,入力された値についての条件をあらかじめ設定し,その条件に適合するものを所与の結果を出力する入力であると判定するものです.たとえば,年齢が 40歳以上,年収が 400万円以上,契約期間が 5年以上の顧客なら,このサービスを選択するという形で,ある顧客がそのサービスを利用するかどうかを識別します.このようなモデルは,ルールベースの識別モデルとよばれます.これに対してパターンによる識別においては,多数の入力に対して変換関数を適用し,その結果としてクラスの値,あるいは入力データがあるクラスに属するかどうかを出力します.クラスはカテゴリともよばれます.たとえばある顧客について,年齢,年収,契約期間の情報が与えられたときに,その顧客があるサービスを選択するかどうかという問題を考えてみましょう.この場合には出力のクラスは,選択するか選択しないかの 2値になり,2クラス識別とよばれます.一般には,三つ以上のクラスに対して結果を出力します.どのクラスに属するかは排他的になっており,あるサンプルが複数のクラスに属するということはありません.ルールベースの識別とパターン識別の違いを図 3.1に示します.

Page 12: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

3.1 識別を行うモデル(線形識別) 29

図 3.1 識別手法の違い

3.1.1 識別モデルとは?ここでは識別の枠組みを,重み係数と変数の線形和を用いる線形識別(linear dis-

crimination)を例として詳しく見ていきましょう.簡単のため 2クラス識別とし,すべての入力は連続的な数値とします.いま,定期預金の勧誘に応じた顧客と,応じなかった顧客について,それぞれ 20人

分の年齢と貯金残高のデータが得られているとします.これらのデータについて,横軸を「残高」,縦軸を「年齢」とする位置に,勧誘に応

じた場合(受入)は「○」で,応じなかった場合(辞退)は「+」でプロットしたのが図 3.2です.図 3.3に示すような,直線によってデータを分割するモデルが線形識別です.図中

図 3.2 残高と年齢のプロット 図 3.3 線形識別による識別

Page 13: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

30 第 3 章 識別:線形識別とその発展形

の直線よりも右上の領域のデータに対しては,受入(○)とし,左下の領域のデータに対しては辞退(+)として識別します.この直線は決定境界とよばれ,この図の場合,次式の直線の方程式によって表されます.

年齢 =(−1

3

)×残高+ 60 (3.1)

したがって,残高を x1,年齢を x2 とすると,未知の入力に対する識別はつぎのようになります.

13x1 + x2 − 60 ≥ 0ならば,受入○ (3.2)

13x1 + x2 − 60 < 0ならば,辞退+ (3.3)

決定境界は,式 (3.2)において等号が成り立つときの数式で定義されます.入力変数が二つの場合には直線になり,3変数の場合には平面になります.一般にm変数の場合には,m− 1次元超平面が決定境界となります.

3.1.2 変数と重み係数の線形和による識別(線形識別)以上の議論を一般的な枠組みで考えてみましょう.線形識別を行うための関数(線

形識別関数)は,入力変数に対して重み係数を掛けて加えたものです.入力変数をx1, x2, . . . , xm とし,重み係数を w0, w1, w2, . . . , wm とするとき,

y = w0 + w1x1 + w2x2 + · · ·+ wmxm (3.4)

と書くことができます.入力変数の数をmとします.識別は,y ≥ 0ならばクラス 1,y < 0ならばクラス 2のように行われます.入力変数 x1, . . . , xm をまとめて,一つのベクトルとして,x = [x1, . . . , xm]T と表します.このようなベクトルは,特徴量ベクトルともよばれます.さらに,線形識別関数を表す式 (3.4)は,ダミーの変数として常に 1をとる変数 x0

を追加して,変数の組を表すベクトル x = [x0, x1, . . . , xm]T と係数の組を表すベクトルw = [w0, w1, . . . , wm]T の内積(二つのベクトルの要素を順に掛け合わせて加えたもの)として表現できます.こうした関数のよい点は,第一に単純であることです.第二に,変数の重要さを重み係数によって調整できることです.識別に対して有効な変数には大きな重みを,逆に識別に影響しない変数には小さな重みを与えることができます.

Page 14: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

3.2 クラスに属する確率の推定(ロジスティック回帰) 31

3.2 クラスに属する確率の推定(ロジスティック回帰)

これまで説明してきた線形識別関数は,ベクトル表現された入力 xを二つのクラスの境界を表す直線(超平面)を用いて識別するモデルでした.線形識別関数は単純であるというよさはありますが,多くの応用において,データを識別する精度はあまり高くはありません.また,識別境界の近くのデータはどちらのクラスに属するかが微妙であるのに対して,境界から遠く離れたデータはそのクラスに属する可能性が高いことが予想できますが,その程度を確率として扱えるようにするためには工夫が必要です.これに対して,線形識別関数を拡張して,入力が各クラスに属する確率を推定でき

るようにしたものがロジスティック回帰†1(logistic regression)です.ロジスティック回帰は,各クラスの事後確率の比の対数を,特徴量と重み係数の線形和によって近似するモデルです.簡単のために,クラス 1(C1)と,クラス 2(C2)の 2クラス識別について説明します.入力が特徴量ベクトル xとして与えられたとき,それがクラス 1である事後確率を

p(C1|x)と書くことにします.同様にして,クラス 2である事後確率を p(C2|x)とします.いま,クラス 1とクラス 2の 2クラスを考えているので,p(C1|x) + p(C2|x) = 1

の関係が成り立ちます.これより,p(C2|x) = 1− p(C1|x)となります.各クラスの事後確率の比はオッズ比(odds ratio)とよばれ,次式で表されます.

p(C1|x)p(C2|x)

=p(C1|x)

1− p(C1|x)(3.5)

以下では,クラス 1の事後確率 p(C1|x)を p1と省略して書きます.このとき,オッズ比の対数は,

y = log(

p1

1− p1

)(3.6)

と書くことができます.この逆関数を求めると,

p1 =1

1 + exp(−y)(3.7)

となります.この関数は,ロジスティックシグモイド関数(logistic sigmoid function)とよばれます.シグモイドとは,S字の形を表すという意味です.ロジスティック回帰では,入力変数を x1, x2, . . . , xmとし,重み係数を w0, w1, . . . ,

wm とするとき,オッズ比の対数を,入力変数に重み係数を掛け合わせたものによっ

†1 この名称は統計学の用語ですが,回帰ではなく識別のためのモデルです.

Page 15: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

32 第 3 章 識別:線形識別とその発展形

て近似します.

y = log(

p1

1− p1

)= w0 + w1x1 + w2x2 + · · ·+ wmxm (3.8)

線形識別関数のときと同様,常に 1 をとる変数 x0 を追加して特徴量ベクトルをx = [x0, x1, . . . , xm]T とし,重み係数ベクトルをw = [w0, w1, . . . , wm]T と表すと,この式はつぎのように書けます.

y = log(

p1

1− p1

)= wT x (3.9)

入力データ xが与えられたときに,そのサンプルがクラス 1に属する事後確率 p1

は,wT xによって求めた yを,ロジスティックシグモイド関数に代入することによって得られます.図 3.4にロジスティックシグモイド関数による事後確率の近似の様子を示します.横軸がオッズ比の対数の推定値 yで,縦軸が事後確率 p1です.識別においては,入力データがクラス 1に属する確率 p1 を推定し,p1 ≥ 0.5ならばクラス 1,p1 < 0.5ならばクラス 2のように識別を行います.

図 3.4 ロジスティックシグモイド関数による事後確率の近似

重み係数は,正解ラベルが付与された学習データ集合を用いて,学習によって推定します.これは,線形モデルを拡張した一般化線形モデルのパラメータ推定として定式化できますが,やや発展的なので,推定方法の詳細については,たとえば参考文献[35]を参照してください.ロジスティック回帰には,分布を仮定しなくても事後確率の推定ができるという長所があります.データの次元数がそれほど多くなく,分布があまり複雑さでないときには,正規分布や混合正規分布のフィッティングやカーネル密度法などによって確率

Page 16: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

3.3 マージン最大化による識別モデル(SVM) 33

密度分布を直接推定して,入力データに対する事後確率を推定したり,クラス識別を行うのが正攻法です.一方,そのような条件が満たされないときには,ロジスティック回帰を用いるのがよいでしょう.これまで説明したロジスティック回帰は,2クラス識別を行うモデルでした.これ

を多クラスに拡張したモデルは多クラスロジスティック回帰とよばれます.クラス Ci に対応する重み係数ベクトル wi と入力ベクトル x の内積を ai とおき

ます.ai = wT

i x (3.10)

入力 xが与えられたときに,それがクラス Ci である確率をつぎのように近似します.ここでクラス数を kとします.

p(Ci|x) =exp ai

k∑

l=1

exp al

(3.11)

これは,ソフトマックス関数(softmax function)または正規化指数関数(normalized

exponential function)とよばれます.p(Ci|x)が最大となるクラスを識別結果とします.また,学習データから推定するパラメータは,k個の重み係数ベクトルwi (i = 1, . . . , k)

です.

3.3 マージン最大化による識別モデル(SVM)

様々な分野で利用されている識別モデルが,SVM(support vector machine)です.ロジスティック回帰などの識別モデルに比べて高い識別性能が得られるものとして,簡単に紹介しておきます.

SVMは線形識別モデルですが,パラメータの推定には,マージンという量を最大化するという基準を用います.マージンというのは,識別境界から一定の余裕をもって識別するようにするために設けられたものです.パラメータの推定は,マージンの最大化を係数ベクトルの長さの最小化に置き換えること,最適化するうえでの制約の設定,ラグランジュの未定乗数法の適用の三つのステップからなります.

(1) マージンの最大化を係数ベクトルの長さの最小化に置き換えるいま,学習データをX = [x(1), . . . ,x(n)]と T = [t1, . . . , tn]とします.特徴量ベ

クトル x(i)は,m次元ベクトルです.簡単のため 2クラスを識別するものとし,i番

Page 17: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定
Page 18: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

71

Decision Tree

第 5 章

決定木

この章では,機械学習の手法として決定木を説明します.結果を人間が理解できやすいということから,広く使用されている方法です.決定木は学習データを用いて自動的に生成され,識別にも予測にも利用できます.生成のための数学的な概念として,エントロピーと情報利得を説明します.応用として,マーケティングにおける顧客との関連性の管理を取り上げます.年齢,性別,職業などの属性と利用状況についての情報を用いて,顧客の特性をデータに基づいて分類します.また,顧客の属性情報を扱う際に問題となる個人に関する情報ついて,社会とのかかわりに配慮が必要であることと,匿名化の効果について説明します.

5.1 顧客の反応をモデル化する

5.1.1 顧客リレーションシップマネジメント第 2章で述べたように,経営者の支援から発展してきた企業内の情報システムは,

その役割を拡大してきました.ここでは,顧客との関係性(つながり)を管理する経営手法である顧客リレーションシップマネジメント(CRM: customer relationship

management)とその情報システムである CRMシステムを取り上げて,データがどのように活用されているかを説明します.マーケティング分野における顧客リレーションシップマネジメントは,優れた顧客価値と顧客満足の提供により,収益性の高い顧客との関連性を構築,維持していく総合的なプロセスのことであり,顧客の獲得から維持,拡大までを扱うものです[50].またCRMシステムは,個々の顧客のコンタクト情報を管理する情報システムです.

具体的には,商品の購入,営業担当者,サービス,サポートへの連絡などの様々な部門のタッチポイント(接触)における記録を統合して管理し,分析可能にしたものです.個々の顧客との結びつきを強化することで,顧客のロイヤルティを高めることが目的です.

Page 19: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

72 第 5 章 決定木

データ分析とモデル化は,顧客リレーションシップマネジメントにおいても活用されます.たとえば,市場を細分化(セグメンテーション)するために,顧客ごとの購入実績や属性情報を使用したデータ分析を行うことができます.また,商品やライフスタイルについてアンケート調査を行い,そのデータに対して回帰分析やクラスタリングなどを行うことで,新しい商品の開発や既存のものの改良の際にその知見を活かすことができます.さらに,新規の顧客を開拓するために,プロモーション(販売促進)のタイミングや規模を最適化することや,離反する可能性のある顧客を特定してつなぎとめ策を実施することができます.

事例 5.1 携帯電話利用者についてのデータマイニング

ここでは参考文献 [8]から,auにおけるデータマイニングの事例を紹介します.対象とする顧客(利用者数)は約 3000万人です.(1) 収益性の細分化顧客の一人ひとりに対して収益額を算出して,収益性の観点から細分化を行います.売上については,通話料収入,事務手数料収入,回収代行手数料から算出します.費用については,手数料(新規,機種変更,継続),販売促進費(関連費を含む),管理経費から算出します.こうして算出した収益額について,過去の収益性と将来の収益性の 2軸を用いて分割したものが,図 5.1です.過去の収益性は過去 60ヶ月の累計データから算出し,低いものから高いものへ,0~20%,20~70%,70~90%,90~100%の四つのランクに分割されています.縦軸は,将来の収益性によって顧客を分割したものです.将来の収益性は,月ごとの想定収益と推定の残存期間を掛けた推定値です.この分析では,顧客を A~Fの七つのセグメントに分割しました.セグメント Aの顧客

図 5.1 収益性による顧客のセグメント分析

Page 20: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

5.1 顧客の反応をモデル化する 73

は全体の 10%程度しかいませんが,全体利益の半分以上をもたらしていました.また,A,B,Cの 3セグメントを合わせると,その割合は全体の 30%程度ですが,全体利益の 100%を大きく上回る利益を提供していました.残りのセグメント D,E,Fの顧客は,単独の収支では赤字であっても,人数が多いことによってネットワークコストなどの固定費を負担しています.(2) 解約予兆率ある顧客が解約する可能性(解約予兆率)を予測するために,ある時点を基準として,過去 5年間の収支状況の分析が行われました.解約された顧客について,だんだん他社への通話回数(あるいはメール回数)が増えている,通話料金がどんどん減ってしまうなどの行動様式のパターンを統計的に抽出することによって,解約予兆率を算出しました.この事例では,強制的な解約や機種変更による解約を除く純解約率が,平均で 0.5%でした.解約予兆率が最も高い 10%の顧客に対して,解約防止の施策が実施されました.(3) ターゲットリストの作成アーティストの音楽ダウンロード,割引サービス,待ち受け音楽(EZ待ちうた)など

の販売促進活動において,データマイニングを活用してターゲットリストが作成されました.アーティストの音楽ダウンロードのターゲットリストの作成においては,過去にそのアーティストのダウンロードサービスを利用したかどうか,関連するサービスを利用しているかどうかなどの属性にもとづく分析が用いられました.また,割引サービスの加入促進キャンペーンにおいては,そのサービスに未加入で,収益性のセグメントが A,B,Cで,より解約予兆率の高い顧客のリストが作成されました.また,待ち受け音楽の加入促進キャンペーンにおいては,既存の待ち受け音楽サービスの利用者の顧客基本情報(性別,年齢,請求額など),トラフィック情報(通話時間,メール送受信回数など)の情報を用いた分析が行われました.

5.1.2 顧客の反応を予測する企業側が提示する商品,サービスなどの選択肢を顧客が受け入れるかどうか,あるいは,現在の契約を継続するかどうかという顧客の乗り換えの予測を考えてみましょう.ここでの乗り換えとは,現在,あるサービスを利用している顧客が,契約期間の終了後に他社の同種のサービスに乗り換えることです.たとえば,携帯電話事業において,契約の更新をする時期には顧客の一定割合が別の会社に乗り換えています.表 5.1に,顧客の乗り換えに関するデータの例を示します.この表では,個々の顧

客の属性値(年代,性別,職業)と,乗り換えをしたかどうかを示しています.乗り換えをする人としない人の間に何か偏りがあれば,それをもとに対策を考えることができます.そこでつぎに,顧客の乗り換えを予想するために,これらの属性の

Page 21: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

74 第 5 章 決定木

表 5.1 乗り換えに関するデータの例

番 号 年 代 性 別 職 業 乗り換え1 20 男 学 生 有2 30 女 会社員 無3 70 女 無 職 無

うち,個々の属性がどれくらい役に立つかを考えてみます.

5.1.3 分布を表す指標(エントロピー)簡単のために,はじめは 2クラスの場合を考えます.与えられたデータ集合にN 個の要素があり,クラス 1のものが n1 個,クラス 2の

ものが n2 個あるとします.ここで n1 + n2 = N となります.たとえば,サービスの提供を受け入れる顧客をクラス 1,受け入れない顧客をクラス 2のように設定します.こうした分布の情報を表す指標の一つが,エントロピー(entropy)です.この例で

は,データがクラス 1である確率を p1 = n1/N,クラス 2である確率を p2 = n2/N として,この集合のエントロピーを次式で定義することができます.対数の底は 2です.

E = −p1 log p1 − p2 log p2 (5.1)

ここで,p1 + p2 = 1より p2 = 1− p1 を代入し,確率 p1 とエントロピー E の関係を図示したものが図 5.2です.エントロピーが小さいほど集合内には偏りがあり,大きいほど偏りがありません.クラス 1を「○」,クラス 2を「+」で図示したものが図 5.3です.両端に近いほど分布の偏りが大きく,純粋さが増しています.

図 5.2 2 クラスのデータ集合のエントロピー 図 5.3 データの偏りとエントロピー

Page 22: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

5.1 顧客の反応をモデル化する 75

5.1.4 顧客の分類におけるエントロピーさて,顧客の分類の問題に戻りましょう.全体のデータ集合 X を,属性 Aによって,二つの集合 Y1, Y2に分割した結果を図 5.4に示します.図 5.4では,属性Aにもとづく分割を行っても,分割後の集合におけるクラス 1とクラス 2の偏りは全体の集合X と同じです.

図 5.4 属性 A による集合の分割 図 5.5 属性 B による集合の分割

つぎに,属性 Bによって,全体の集合を二つの集合 Z1, Z2に分割した結果を図 5.5

に示します.図 5.5では,属性 Bにもとづく分割によって,集合 Z1 はクラス 2が多く,集合 Z2 はクラス 1が多くなっています.つまり,属性 Bによって全体の集合を分割すると,それぞれの集合では特定のクラスに偏った状態が得られています.

5.1.5 分割のよさを表す指標(情報利得)分割のよさを表す数値的な指標として,情報利得(information gain)について説明します.この指標では,分割前と分割後のエントロピーの差を利用します.集合X

を,集合 Y1 と Y2 に分割したときの情報利得 G(X, Y1, Y2)は,次式で表されます.

G(X, Y1, Y2) = E(X)− [p(Y1)E(Y1) + p(Y2)E(Y2)] (5.2)

ここで p(Y1)は,集合 Y1 に属する要素数の全体の要素数に対する割合です.要素数による重み付けを行うのは,全体のバランスを考慮するためです.

例題 5.1 エントロピーと情報利得顧客リストの例を表 5.2に示します.乗り換えが「有」の顧客をクラス 1,乗り換えが

「無」の顧客をクラス 2とします.(1)性別による分割この表の 8人の顧客を,性別の属性によって二つの集合に分割します.男性の集合をY1,女性の集合を Y2 とします.また,集合内のクラス 1(乗り換えあり)の確率を p1

とし,クラス 2(乗り換えなし)の確率を p2 とします.このとき,集合内のクラス 1

Page 23: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

76 第 5 章 決定木

表 5.2 顧客リストの例

番 号 性 別 成年/未成年 乗り換えの有無1 男 成 年 有2 男 未成年 無3 男 未成年 無4 男 未成年 有5 女 未成年 有6 女 未成年 無7 女 未成年 無8 女 成 年 有

とクラス 2の確率分布に対するエントロピーを,分割後の二つの集合について計算しなさい.また,性別の属性によって顧客の集合を分割したときの情報利得を計算しなさい.

(2)成年/未成年による分割この表の 8人の顧客を,成年か未成年かという属性によって二つの集合に分割します.成年の集合を Y1,未成年の集合を Y2 とします.このとき,集合内の分布を表すエントロピーを,分割後の二つの集合について計算しなさい.また,成年か未成年かという属性によって顧客の集合を分割したときの情報利得を計算しなさい.

解答(1) E(Y1) = E(Y2) = 1, G(X, Y1, Y2) = 0

(2) E(Y1) = 0, E(Y2) = log 3−2/3 = 0.918, G(X, Y1, Y2) = 3/2−(3 log 3)/4 = 0.311

5.2 データ集合から決定木を生成する

5.2.1 決定木の特長決定木(decision tree)は,データから帰納的に生成される木構造です.言い換えれば,全体の集合に対して,複数の属性を組み合わせた分割をデータから自動的に生成します.生成された木構造は,分類木(classification tree),あるいは決定木とよばれます.図 5.6は,資産と預金から融資のリスクを判定するための決定木の例です.資産と預金については,適当なしきい値を設定して,L(低)/M(中)/H(高)の 3クラスに分類するものとします.この決定木の例では,資産が Lの場合にはリスク大と判定されます.たとえば,資産が Lでない場合には,預金が LまたはMであるかをチェックして,そうでなければ(Hであれば)リスク小と判定されます.表 5.3は,決定木によって分割された集合が,どのような条件を満たすものかとそ

Page 24: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定
Page 25: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

112

Recommendation System

第 7 章

推薦システム

個々の利用者にお薦めの商品やコンテントを提示してくれる仕組みが推薦システムです.商品を薦める例としては,Amazonの「この商品を買った人はこんな商品も買っています」のような,利用者の購買・検索履歴にもとづいて顧客が購入しそうなものを薦めるシステムがあります.コンテントを薦める例としては,読者の関心を予測して新しいニュース記事,映画,音楽などを配信するインターネット上のサイトなどがあります.これらは,多くの方にとってなじみの深いものになっていると思います.この章では,こうした推薦システムの概要とビジネスとの関連,システム内で用いられている k近傍法や行列分解のアルゴリズムについて説明します.

7.1 ロングテールと推薦システム

7.1.1 ロングテール出版ビジネスとしての書籍の売上げは,その大部分が少数のベストセラーによるも

のです.毎年多くの新刊本が出版されますが,たくさんの利益が得られるものはそのうちのごく少数に過ぎません.これに対して,オンラインの書店ではロングテール(long tail)とよばれる現象が存在します.図 7.1は,ロングテール現象の概念を表したものです.縦軸は人気度を示します.商品であれば購入された個数,ニュース記事であればクリックされた回数で表されます.横軸は,すべてのアイテム(商品またはコンテント)を人気度の高いものから低いものへと順番に並べたときの順位を示します.物理的な店舗の事業者は,左側の人気のあるアイテムだけを扱います.一方,オンラインの事業者は,右側の人気はないが数は多い領域のアイテムを扱えます.この図を恐竜に見たてて,背の高い左側を頭(ヘッド),右側に長く続く部分を尾(テール)としたとき,この尾の部分が非常に長いということで,この現象はロングテールとよばれるようになりました.ロングテール現象というのは,この長い尾の部分がそれまで隠れていた市場であっ

Page 26: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

7.1 ロングテールと推薦システム 113

図 7.1 ロングテールの概念図

て,それをオンラインの事業者が開拓したということから注目されるようになりました.そして,そこで重要な役割を果たすのが推薦システムです.

7.1.2 推薦システムの定義推薦システム(recommendation system)とは,選択肢に対する利用者の反応を予測して,利用者に対して商品あるいはコンテントを推薦するシステムです.推薦システムが効果的なのは,利用者にとってその選択肢が非常に多いときです.

たとえば,物理的な(実物の本を置いている)書店では,1フロア内に置ける本は数万冊であるのに対し,オンラインの書店では数百万種類の本を取り扱うことができます.また,新聞では 1日分の紙面に数百の記事が掲載されますが,オンラインのニュース記事配信サイトでは,その数倍~数十倍の記事が時々刻々と配信されます.このような場合に,推薦システムは利用者が欲しいものを探すための手助けとなります.推薦システムで用いられる技術には,大きく分けて,内容にもとづくシステム(content-

based system)と協調フィルタリング(collaborative filtering)の 2種類があります.内容にもとづくシステムでは,推薦される商品がどのようなものであるか,その性質を調べます.協調フィルタリングは,利用者間,またはアイテム間,あるいはその両方の類似度にもとづいて推薦を行う方法です.これらの方法については,後の節でさらに説明します.

7.1.3 コンテストとオープンイノベーション米国のオンライン DVDレンタルと映像ストリーミングサービスを行う会社である

Netflix†1によるコンテストは,推薦システムにとって大きな影響を与えました.具体

†1 2015 年 9 月より日本でもサービスを開始しました.

Page 27: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

114 第 7 章 推薦システム

的には,推薦システムの技術水準を向上させるため,2006年からつぎのような内容でコンテストを開催しました.

事例 7.1 推薦システムのコンテスト

コンテストの参加チームには,17000以上の映画に対して,1~5の 5段階で付けられた 1億件以上の評価値のデータが提供されます.各チームは,このデータを用いて評価値を予測するモデルを作成し,約 300万件のテスト集合に対する評価の予測値を提出します.そして Netflixは,自分たちだけが知っている真の評価値にもとづいて提出された予測値の平方根平均 2乗誤差(RMSE: root mean square error)を計算して,参加チームの順位を決定します.

Netflixがもともと使用していたアルゴリズムの RMSE値を 10%以上改善させることができたチームには,100 万ドルの賞金が授与されます.もし,10% 以上改善させるチームが現れなければ,毎年の競争において第 1位のチームに,5万ドルの賞金が進歩賞として授与されます.コンテストの結果,2009 年に目標値を達成するチームが現れました.

Netflixによるコンテストには,大きく三つの意義がありました.(1) 学術分野の発展研究者のコミュニティに対しては,実際のデータを扱う機会が提供されました.コンテスト形式の研究開発においては,様々な手法とアルゴリズムがその優劣を競います.このため,研究開発にかかわる人々の間に技術についての共通の理解が形成されます.お互いにどの手法がどの程度有効かわかるため,基本的に優位にある手法を多くの研究チームが採用するようになります.また,細かなノウハウについても情報が共有されて,学術分野の全体としての技術水準が向上します.(2) 企業側のオープンイノベーション一般に,自社のデータを公開してコンテストを実施する試みは,オープンイノベーションの一つと見ることができます.多くの参加者が自社の課題とする技術開発に取り組むことで,提供した賞金を超える価値のある研究成果が得られる可能性があります.Netflixのコンテストもこのオープンイノベーションの流れの中に位置付けることで,研究者コミュニティに対して支援するだけでなく,企業戦略の一つとしてとらえることができます.(3) 様々な技術の組み合わせの有効性

3年間にわたって多くのチームが取り組むことで様々な手法が提案され,その有効性が参加者に広く知られるようになりました.コンテストにおいて 10%の性能向上を達成したチームのレポートによれば,最終的には様々な手法の組み合わせがカギでした.有効性がよく知られた手法を組み合わせることで最高の性能を達成できるだろうと考えて,性質の異なる予測モデルを適切に組み合わせる手法を用いて最適化を行ったことが,目標とする性能を達成するうえで重要なポイントでした.これは,ほかの問題に対しても

Page 28: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

7.2 内容にもとづく推薦システム 115

有効な問題解決の戦略です.

7.2 内容にもとづく推薦システム

この節では,推薦システムで用いられる技術のうち,内容にもとづく推薦システムについて説明します.この方法では,ほかの利用者の情報を直接利用しません.アイテムの内容に関する情報と,対象とする利用者の情報を利用して推薦を行います.

7.2.1 推薦の方法と類似度内容にもとづく推薦システムの仕組みを図 7.2に示します.この方法では,アイテ

ムと利用者の特徴を表現し,それらの類似度を用いて推薦するアイテムを選択します.各アイテムの性質を表す特徴量の集合は,アイテムのプロファイル(profile)とよばれます.また,利用者も同じ特徴量の集合によって表現され,利用者のプロファイルとよばれます.

図 7.2 内容にもとづく推薦の仕組み

利用者の特徴を表す方法には,どのようなアイテムが好きかという属性についての情報を利用者が指定する方法と,利用者がすでに選択したアイテムの情報を用いて自動的に計算する方法があります.利用者が指定する属性には,たとえば映画ではジャンル,出演者などがあります.また,自動的に計算する方法としては,利用者が好きだということがわかっているアイテムに対して特徴量を計算し,それぞれの平均を求めて利用者のプロファイルとする方法などがあります.利用者がアイテムに対して評価の程度を数値で付けている場合には,その評価値を用いた重み付けを行って正規化

Page 29: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

116 第 7 章 推薦システム

した特徴量を,利用者のプロファイルとして使用します.

例題 7.1 映画を表現する特徴映画を対象として,内容にもとづく推薦システムを考えます.映画の特徴を表す項目を

五つ挙げなさい.また,それらの特徴をベクトル表現する方法を示しなさい.解答 映画の特徴を表す項目の例として,ジャンル,監督,出演者,制作年,受賞などがあります.特徴量としては,個々の監督や出演者を独立の次元として扱います.たとえば,ある俳優がある映画に出演していれば 1,出演していなければ 0 のように値を与えます.監督やジャンルについても同様に扱います.つまり,あるかないかだけの情報としてプロファイルをベクトル表現します.

特徴量ベクトル間の類似度には,ジャッカール類似度(Jaccard similarity)や第 6

章で紹介したコサイン尺度などが用いられます.ジャッカール類似度は,二つの集合がどの程度,同じ要素を含んでいるかをもとにした尺度です.これは,二つの集合 S と T に対して,その和集合 S ∪ T の要素数に対する,積集合 S ∩ T の要素数の比によって定義されます.計算が単純であるという利点がありますが,詳細な比較の場合にはコサイン尺度を用います.

J(S, T ) =|S ∩ T ||S ∪ T | (7.1)

例題 7.2 ジャッカール類似度図 7.3に示す集合 S と T の間のジャッカール類似度を計算しなさい.

図 7.3 集合間のジャッカール類似度

解答 3/8

Page 30: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

7.2 内容にもとづく推薦システム 117

7.2.2 アイテムのプロファイルの作成方法アイテムに関連したプロファイルの情報は,既存のデータベースの利用,人手による収集,ネット上の情報の活用,アイテム自身の解析の四つの方法によって作成します.第一の方法は,既存のデータベースの利用です.商品についての主な仕様は,既存のデータベースの中に存在しています.コンテントに対しては,メタデータとして属性情報がすでに存在している場合もあります.これらのプロファイル情報は,データベース中のテーブルや XMLファイルなどのように整った形式で定義され構造化されていますが,形式の変換が必要になります.第二の方法は,人手による収集です.利用者,または第三者がタグ付けすることに

よって,アイテムのプロファイル情報が得られる場合があります.あるいは,タグ付けを奨励するようなサイトの運営を行う方法もあります.ラスト FMという音楽推薦を含む配信サイトでは,開発の初期の段階には,楽曲の特徴についてその曲を人が聴いてタグ付けを行ったそうです.第三の方法は,商品のレビューなどのネット上の情報からの作成です.ネット上に

は,商品についての感想や評価が書かれた多くの記事が存在しているので,それを使用します.たとえば第 6章で示したレビューの例には,ホテルの設備やスタッフについての評価を示す表現がテキストに含まれています.同じく第 6章で説明したテキストマイニングなどによって,アイテムのプロファイルに該当する情報を抽出します.第四の方法として,対象とするアイテム自身から特徴量を抽出し,計算することも

可能です.たとえば,ニュース記事などを対象とする推薦システムの場合には,アイテムの特徴量を計算するために,第 6章で説明したようなテキスト処理が行われます.アイテム間の類似度としては,コサイン尺度などが用いられます.また,音楽の場合に周波数解析を行って音響的な特徴量を抽出して,楽曲の間の類似度を計算することも可能です.

7.2.3 決定木を用いた好き嫌いの予測機械学習のモデルを利用して,評価を予測するための規則をデータから作成することができます.ここでは,決定木によってアイテムが好きか嫌いかの評価を予測する方法を紹介します.図 7.4に,未知の映画に対してある利用者が好きか嫌いかを予測する決定木の例を

示します.この決定木では,未知のアイテム(映画)に対して,根から順に各ノードの条件による分岐を行い,終端(葉)に到達したときに,好きか嫌いかの判定を予測します.各利用者に対する決定木は,その利用者がほかのアイテムに対して付けた評価値をもとにして作成します.得られた決定木のノードは,アイテムの好き嫌いを判

Page 31: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

118 第 7 章 推薦システム

図 7.4 映画に対する評価を予測する決定木の例

定するための規則になっています.決定木による評価は,利用者のプロファイルを平均や重み付きの平均で表して類似度を求める方法に比べて,評価済みのアイテムの情報を有効に利用できるという利点があります.

7.3 協調フィルタリングと k近傍法

7.3.1 協調フィルタリング協調フィルタリングは,利用者間,またはアイテム間,あるいはその両方の類似度

にもとづいて推薦を行う方法です.はじめに,GroupLensシステムの仕組みを紹介します.これは,協調フィルタリングの先駆的なシステムで,ネットニュースの記事を自動的にランク付けすることができます.このシステムでは,利用者は最初にいくつかの記事に対する評価値を入力します.この結果をほかの利用者の評価と比較することによって,ほかの利用者と自分の類似度を計算します.自分がまだ読んでいない記事の評価を知りたい場合には,ほかの利用者の評価値に類似度の重みを掛けて足し合わせて,評価の予測値とします.表 7.1に,4人の利用者(A, B, C, D)が記事番号 1~8の合計 8件の記事に対し

て付けた評価値を示します.評価は 1~5の 5段階とします.1番の記事に対して,利用者 Aは評価値 1ですが,利用者 Bは評価値 4を付けています.また,全員がすべての記事に対して評価値を付けているわけではないことに注意してください.ここでは,ある利用者とほかの利用者がどれくらい似ているかという類似度に,二人の利用者が付けた評価値を並べたベクトル間の相関係数を用いることにします.

Page 32: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定
Page 33: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

204

Index

索 引

英数字2 クラス識別 28

2 次計画法 35

2 部グラフ 160

6 次の隔たり 137

CRISP-DM 7

CRM 71

EM 法 64, 96

e ビジネス 1

F 値 39

GN 法 147

Hadoop 分散ファイルシステム 22

IaaS 2

IoT 5

Karush–Kuhn–Tucker 条件 36

KL ダイバージェンス 110

k 近傍法 120

k 平均法 18, 95

L1 正則化 63

L2 ノルム 62

LOOCV 82

PaaS 2

ROC 曲線 39

SaaS 2

SNS 133

SVM 33

TF-IDF 値 108

あ 行アナリティクス 3

アフィリエイト 156

意思決定支援システム 9

イノベーションの普及 144

エントロピー 74

オッズ比 31

オートエンコーダ 64

オフラインアルゴリズム 157

オープンイノベーション 3

オープン評価 82

親ノード 79

オンラインアルゴリズム 157

オンライン分析処理 9

か 行ガウス基底関数 59

過学習 82

係り受け解析 94

学習率 68

確信度 40

確率的勾配降下法 67, 126

確率文脈自由文法 94

隠れマルコフモデル 64

過剰適合 82

価値連鎖 102

活性化関数 66

カーネル法 36

カーネル密度推定法 120

完全マッチング 161

機械学習 16

企業資源計画 10

基底関数 58

基幹システム 10

逆文書頻度 108

共起 109

競合比 159

教師あり学習 18

教師データ 66

教師なし学習 18

Page 34: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

索 引 205

協調フィルタリング 113

局所ブリッジ辺 142

句構造解析 94

クラウド 2

クラスタリング 18

クラス分類 18

グラフ 133

グラフ分割 147

グリーディアルゴリズム 158

クレンジング 8

クロス集計 9

クローズド評価 82

形態素解析 93

決定木 76

決定境界 30

決定係数 56

交互最小 2 乗法 126

交差検証 82

効用行列 124

顧客リレーションシップマネジメント 71

コサイン尺度 108

誤差逆伝播法 67

コスト関数 40

子ノード 79

固有ベクトルによる中心らしさ 139

混合正規分布モデル 19

混同行列 38

さ 行最急降下法 126

再現率 38

最小 2 乗法 52

最大マッチング 161

採用者カテゴリー 145

サービス中心の論理 102

サプライチェーンマネジメント 11

差別化 13

サポートベクトル 34

識別タスク 18

次元圧縮 18

自己相互情報量 110

市場の細分化 13

次数 139

ジニ係数 79

ジャッカール類似度 116

重回帰モデル 51

修辞構造解析 94

主成分分析 19

出力層 65

出力変数 50

照応解析 94

情報利得 75

深層学習 18, 64

推薦システム 113

スパース表現 63

スモールワールド現象 137

正解率 38

正規化指数関数 33

正規方程式 54

制限付きボルツマンマシン 64

正則化 62

精度 38

接続行列 135

節点 78

線形回帰モデル 49

線形識別 29

戦略情報システム 9

相関ルール抽出 19

相互情報量 110

ソーシャルネットワーク 133

ソフトマージン 36

ソフトマックス関数 33

た 行第 2 価格入札オークション 156

多クラスロジスティック回帰 33

ターゲットマーケティング 13

ターゲティング 13

タスク 18

単回帰モデル 51

単純ベイズ法 105

逐次最小問題最適化法 36

中心度 139

つながる辺の数による中心らしさ 139

適合率 38

テキストマイニング 89

Page 35: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定

00main : 2016/4/1(10:0)

206 索 引

データウェアハウス 10

データからの知識発見 6

データサイエンス 11

データサイエンティスト 12

データマイニング 6

同類性 145

匿名化 84

な 行内容にもとづくシステム 113

入力層 65

ニューラルネットワーク 63

根 78

ノード 134, 160

は 行葉 78

媒介中心性 140

パス 136

バッチ手法 67

幅優先探索 148

バランスアルゴリズム 164

ビジネスインテリジェンス 10

評価関数 51

標準的なプロセス 7

評判分析 99

ヒンジ損失 36

フィードフォワード型のニューラルネットワーク 65

ブラックボックス 77

ブリッジ辺 141

プロファイル 115

分割統治法 79

分散ファイルシステム 22

文脈解析 94

分類木 76

辺 134

ポジショニング 13

ホールドアウト評価 82

ま 行マージン 33

マッチング 161

マップレデュース 23

密度推定 19

無向グラフ 134

目的関数 51

や 行有向グラフ 134

予測タスク 18

弱い絆の強さ 144

ら 行ラック 22

ラッソ 63

ランダムフォレスト 80

リーク 8

リッジ回帰 62

隣接行列 135

ルールベースの識別モデル 28

ロジスティック回帰 31

ロジスティックシグモイド関数 31

ロングテール 112

Page 36: 「事例+演習で学ぶ - 森北出版 · 薦システム,ソーシャルネットワーク,オンライン広告を題材としました.これらは, ... 5.2 データ集合から決定