4-9

データ活⽤実践（教師なし学習）東京⼤学 数理・情報教育研究センター
2020年5⽉11⽇

東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA

概要• 機械学習，特に教師なし学習の種々のデータ分析⼿法（データのクラスタリング・確率密度推定）と，それらを⽤いた⼀連のデータ分析プ
ロセスを実⾏するための知識を学びます．
• データ解析例を通じてデータの前処理から分析までどのように実⾏されるかを体験します．

東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA

2

本教材の⽬次
1. 機械学習4

2. 教師なし学習

7

2.1. データの収集と前処理

9

3. クラスタリング

11

3.1. K-平均法

124. 確率密度推定

134.1. 混合正規分布による推定

144.2. 異常検知への応⽤

15

4.3. データ⽣成への応⽤

16

5. レコメンデーション

17

6. 過学習とモデル選択

187. 階層クラスタリング

20

東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA

3

機械学習
Arthur Samuel「Field of study that gives computers the ability to learn without
being explicitly programmed 」 (1959)
明⽰的なプログラムなしにコンピュータに学習能⼒を与える研究分野．

画像の被写体が⾞である事をコンピュータに判断させるようなルールを明⽰的にプログラムすることは⾮常に困難です．
▶ 代わりに機械学習では蓄積されたデータからルールを発⾒する学習⽅法⾃体をプログラムします．

東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA4

機械学習• データに潜むルール（パターン）を⾃動的に⾒つけます．
• ⼈がプログラムするのは認識の仕⽅ではなく学習⽅法です．
画像データ（訓練データ）

学習

汎化
未知画像も正しく認識出来るようなルールの発⾒．
（汎化性のあるルール）

機械学習でのルール発⾒に⽤いられるデータを訓練データと呼びます．
訓練データにない未知データに対しても正しく予測する事（汎化）が⽬的です．
機械学習には⼤まかに教師あり学習と教師なし学習があります※ 今回の講義では教師なし学習を取り扱います．

東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA

5

機械学習の流れ
1. ⾏いたいタスクの特定．
やりたい事は分類，回帰，クラスタリング等のうちどれかを特定します．

2. 分析に必要なデータの確認，対象となるデータの収集．
収集すべき特徴を検討します．

3. データの分析．機械学習による学習と評価．

データの前処理・加⼯と機械学習によるデータ分析を実⾏します．

4. データ分析結果の共有，課題解決に向けた提案．
データ分析結果のレポートを作成し，それを材料に次の施策を検討します．

東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA

6教師なし学習
訓練データは特徴ベクトルのあつまり𝑥! , … , 𝑥" です．
教師値が与えられない点が教師あり学習と異なります．
教師なし学習によるグルーピング：データ同⼠の類似性に基づくグルーピング（クラスタリング）は教師なし学習の代表例です．
教師なし学習によるグルーピング

クラスタリングの例
顧客セグメンテーション→ 顧客情報や利⽤状況によるクラスタリング
店舗クラスタリング→ 店舗や周辺情報からクラスタリング

東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA

7

教師なし学習
クラスタリングの他にも様々な教師なし学習⼿法があります．
• 確率密度推定
データの⽣成分布を推定します．汎⽤的なタスクでクラスタリング・異常検知・データ⽣成への応⽤が可能な⼿法もあります．
• 異常検知センサーデータ等から異常値の検出をします．
• レコメンデーション
ユーザーの購⼊履歴や嗜好情報からアイテムの推薦をします．
• データ⽣成
データの⽣成過程を推定しデータの⽣成・サンプリングをします．
（補⾜）教師あり学習では特徴ベクトル𝑥のラベル𝑦の予測を⽬的としました．⼀⽅，教師なし学習では 𝑥の背後にある構造や⽣成過程の推定を⽬的とします．
東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA

8データの収集
クラスタリングに有効な簡単な説明変数（特徴）の作成をし，データを収集します．
特徴ベクトル𝑥- アヤメの品種予測
特徴：sepal.length（がく⽚の⻑さ）
sepal.width（がく⽚の幅）
petal.length（花びらの⻑さ）
petal.width（花びらの幅）※ 教師値の設計は必要ありません．
１⾏が１データ

特徴ベクトルは連続値・カテゴリ値（離散値）として収集します．
特徴ベクトルの設計には対象データの専⾨知識を有効活⽤しましょう．
データの設計・収集がうまくいけば，あとは汎⽤の機械学習で分析可能です．

東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA

9データの加⼯・前処理
機械学習を精度良く正しく実⾏するにはデータの前処理・加⼯が必要です．
タイタニックの⽣存結果データ

データクレンジング• 外れ値検出・除去• ⽋損値除去・補完
カテゴリ値の数値への変換• ダミー変数の追加
例：Male, Female列を追加し0-1値に変換．

カテゴリ変数 ⽋損値

有効な前処理• 標準化：列を平均0，分散1に変換．
• 正規化：列を 0,1 , [−1,1]に収める．列or⾏の平均を0にノルムを1に変換．
• 変数変換• サンプリング：訓練データの⼀部を無作為に選び新たに訓練データとします．
訓練データサイズの調整やアンサンブル学習の際に⽤います．
東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA10

クラスタリング
データには潜在的なカテゴリがあり，それを推定します．
クラスタリングの例• テキストデータ
テキストのジャンル（ミステリー・SF・アクション・純⽂学）• ECサイトの購⼊履歴データ
趣味嗜好やプロフィールに依存した購⼊パターン• データの類似度に基づく⽅法
似たデータは同じクラスタ，似ていないデータは異なるクラスタに属するという志向のもとでクラスタリングを実⾏します．
代表例：K-平均法（K-Means法）• 確率密度推定に基づく⽅法
多峰性を持つ確率密度関数による確率密度推定
を⾏い，各データが属する峰を特定しクラスタリングします．
代表例：混合正規分布によるクラスタリング

K-平均法によるクラスタリング

東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA

11K-平均法（K-Means法）
データを以下の⽅針で指定の𝐾個にクラスタリングします．
• 各クラスタに𝑡 = 1, … , 𝐾に対応する中⼼点 𝑐# を求めます．
• 各データは最も近い 𝑐# が代表するクラスタに割り当てます．
K-平均法の実⾏にはデータの類似度を⽰す距離関数を指定する必要があります．
距離関数には様々なものがありますが，代表例はユークリッド距離になります．
(!)

(&)

（参考）ユークリッド距離は2点 𝑥! = 𝑥! , … , 𝑥!
次で定義される距離関数です．
𝑑 𝑥! , 𝑥' =𝑐!
𝑐$𝑐"!
𝑥!

!
− 𝑥''+ ⋯+&, 𝑥' = 𝑥'! , … , 𝑥'&𝑥!

&− 𝑥''に対し.

K-平均法によるクラスタリングの様⼦．
クラスタの中⼼点とクラスタリング結果が得られます．

𝑐#

東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA

12確率密度推定
訓練データ 𝑥! , … , 𝑥" からデータを⽣成する確率密度関数 𝑝 𝑥 𝑤 を推定します．
確率密度推定法として最尤推定法やヒストグラムによる推定があります．
𝑝𝑝𝑥

混合正規分布による最尤推定𝑥

ヒストグラムによる確率密度推定

横軸はデータ𝑥の座標，縦軸は確率密度 𝑝 𝑥 𝑤 です．橙のグラフは正解の確率密度関数，左図の⻘のグラフと右図の⻘のヒストグラムはそれぞれの推定結果です．
（参考）確率モデルの最尤推定とは？
確率モデル 𝑝 𝑥 𝑤 はパラメータ𝑤を持つデータ𝑥についての確率密度関数で， 𝑤に依存して確率密度は変化します．最尤推定は訓練データ 𝑥!, … , 𝑥" を最も⾼い確率で発⽣させるようなパラメータ𝑤を求める⼿法です．最尤推定によりデータの背後に潜む確率密度関数が推定されることになります．
東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA

13

混合正規分布による確率密度推定
混合正規分布とは複数の峰を持つ確率分布（確率密度関数）で，パラメータにより峰の位置と裾の広さが調整されます．
データが複数のまとまったクラスタを持つ場合の確率密度推定に適した確率分布といえます．
𝑝緑：2つの峰を持つ混合正規分布
橙，⻘：各々の峰を描いたグラフ．
横軸はデータ𝑥の座標，縦軸は確率密度を⽰しています．
𝑥

確率密度推定を⾏う際に混合数はユーザーが指定する必要があります．
混合正規分布による確率密度推定ではデータが属す峰も推定する事ができ，結果としてクラスタリングも実⾏されます．
（参考）峰が⼀つの混合正規分布は単に正規分布と呼びます．
東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA

14確率密度推定の異常検知への応⽤
異常検知は⾮常に多くの応⽤例があります：
⼯場のセンサーデータ，カードの使⽤履歴，監視カメラ，為替取引
正常データ・異常データが共に⼗分あれば教師あり学習が適⽤可能ですが⼀般に異常データは⾮常に少ないため教師なし学習を適⽤します．
典型的なアプローチ：確率密度推定の結果 𝑝 𝑥 𝑤
4 と閾値𝛿を設定し𝑝 𝑥 𝑤
4 ≤𝛿
を満たすデータ𝑥を異常とみなします．
𝑝

異常値

横軸はデータ𝑥の座標，縦軸は推定された確率密度関数です．

閾値𝛿𝑥
東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA15

確率密度推定のデータ⽣成への応⽤
確率密度推定によりデータの⽣起確率が分かるため，推定された確率密度関数からサンプリングする事で尤もらしいデータの⽣成も可能です．
𝑝𝑥

MNIST: ⼿書き⽂字データセット

MNISTで学習した確率モデルから確率の⾼いデータをサンプリングするとそれらしい⼿書き⽂字が得られます．

東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA

16

レコメンデーション
ユーザーによるアイテムの評価値情報が部分的にある時，⽋損値を推定することで評価値を推定しアイテムの推薦をします．
アイテムA

アイテムB

アイテムC

…

アイテムZ

ユーザー1

４８*…

２

ユーザー2

２*

2

…

*

ユーザー3

4

7*

…

*

⁝⁝

⁝

⁝

…

⁝

嗜好の近いユーザー嗜好の近いユーザー同⼠は⽋損値でも近い評価をするだろうというモデリングに従い⽋損補完が可能です．
（参考）この様な⽋損値補完⼿法として⾏列分解等があります．

応⽤例：商品販売サイトでの商品推薦，動画サイトでの動画推薦．

東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA17

過学習とモデル選択
教師なし学習でも有限個の訓練データにモデルを適合するため，訓練データに対しモデルが複雑過ぎる場合に過学習が⽣じます．
過学習を防ぐためにモデルの表現⼒をコントロールする必要があります．
モデルの表現⼒をコントロールするハイパーパラメータの例• K-平均法の中⼼点の数• 混合正規分布の混合数• ヒストグラムのビン幅（ヒストグラムの各帯をビン，その幅をビン幅と呼びます）
𝑝𝑝𝑥𝑝𝑥𝑥ヒストグラムのビン幅（左から5, 20, 100）で未学習・過学習が⽣じる様⼦．
横軸はデータの座標，縦軸は確率密度，橙のグラフは正解の確率密度関数です．
東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA18

モデル選択の⽅法
教師なし学習でも適当な評価指標を⽤いた交差検証で適⽤すべきモデルの選択やハイパーパラメータの決定は可能です．
しかし教師あり学習におけるラベルの推定精度のようなモデル⾮依存の評価指標がない問題（クラスタリングや確率密度推定）では，⼿法毎にモデル選択法が提案されています．
例：K-平均法のエルボー法
Kの値毎にK-平均法を実⾏し⽬的関数値（データへの適合度）をプロットします．
基本的にKについて単調に減少しますが減少幅が⼗分に⼩さくなってきたKを適切なものとし選択します．

エルボー法の実⾏例．
縦軸はK-平均法の⽬的関数値です．
K=5あたりで減少が落ち着いてきます．

東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA19階層クラスタリング
これまで紹介したクラスタリング⼿法は⾮階層クラスタリングです．
⼀⽅，階層的にクラスタを形成する階層クラスタリングという⼿法もあり，データ間の関係性に階層構造がある場合のクラスタリングに有⽤です．
例：⽣物や遺伝⼦配列の分類．
階層クラスタリング⼿法では各データが⼀つのクラスタを形成している状態から近いクラスタ同⼠を順次併合していき，⼀つのクラスタになるまで繰り返します．
結果，右図のような系統樹が得られます．
クラスタ数２
クラスタ数３
階層クラスタリングの利点：
系統樹の⾼さを指定する事でクラスタ数を学習後に調整する事が出来ます．
東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA20