3-3

機械学習の基礎と展望

東京⼤学 数理・情報教育研究センター
2021年5⽉7⽇

東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2021 CC BY-NC-SA概要• 機械学習の基本的枠組みである教師あり学習のデータ分析⼿法（分類・回帰）と教師なし学習のデータ分析⼿法（クラスタリング・確率密度推定）を学びます．また機械学習を実⾏する上で重要な過学習の概念を通して正則化法の重要性を学ます．

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

2

本教材の⽬次
1.

機械学習

4

2.

教師あり学習10
2.1. データの収集と前処理 11
2.2. 回帰・分類
13

3.

モデル

14

4.

経験損失最⼩化

18

5.

過学習と正則化
5.1. バイアスとバリアンス
5.2. ホールドアウト法
5.3. 交差検証法

20212324

6.

教師なし学習27

7.

クラスタリング
7.1. K-平均法

2930

8.

確率密度推定8.1. 混合正規分布による推定
8.2. 異常検知への応⽤
8.3. データ⽣成への応⽤

31
3233
34

9.

レコメンデーション

35

10. 過学習とモデル選択

36

11. 階層クラスタリング

38

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

認識と学習⼈は物体をみたときに，それが何か認識することができます．

リンゴ

たとえば，周辺環境の変化などがあっても⼤抵の場合，認識できます．
このような認識機能は経験に基づき学習されます．
例：リンゴの認識• 経験

リンゴと呼ばれる物体，それ以外の物体の複数回の観測．

• 学習

限られた経験からリンゴ間で不偏的な視覚パターンを認知，リンゴを認識するルールを獲得．
東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2021 CC BY-NC-SA

4

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

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

機械学習は観測データからルールの仮説を出⼒する過程を実現する技術といえます．

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

5

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

学習

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

機械学習でのルール発⾒に⽤いられるデータを訓練データと呼びます．
訓練データにない未知データに対しても正しく予測する事（汎化）が⽬的です．

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

6

機械学習の学習⽅式• 教師あり学習
訓練データが⼊⼒データと対応する出⼒値のペアからなります．
訓練データから真の⼊出⼒関係の獲得を⽬指します．
• 需要予測： 気温，地域情報から電⼒使⽤量を予測．
• メールのスパム判定：メールの⽂⾯からスパムか否かを予測．

• 教師なし学習
訓練データが⼊⼒データのみからなります．
訓練データから有益な知識の発⾒を⽬指します．
• クラスタリング：類似したデータのグループを発⾒．
• 密度推定：データを⽣成する確率密度関数を推定．
• 異常検知：出現頻度の低いデータを検出．

• 強化学習⾏動に伴い報酬が得られる設定です．
累積報酬を最⼤化するような⾏動規則の獲得を⽬指します．
• 将棋・囲碁AI：ある盤⾯において状況を改善するような打ち⽅を探索．
東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2021 CC BY-NC-SA

7

実世界で進む機械学習の応⽤と発展
需要予測

使⽤
電⼒量

⽇々の気温からその⽇の電⼒需要を予測．
教師あり学習の回帰問題で定式化．

気温

異常検知
通常と異なるレアなイベントを検知．
例：カードの不正利⽤，機器の故障検知.
⼀般に教師なし学習として定式化．
映画A

映画B

映画C…

ユーザ1４８?

…

ユーザ2２?

2…

ユーザ32?

?

…

⁝⁝

⁝

⁝

…

異常値
閾値𝛿商品推薦
ユーザ ✖ 映画の嗜好データから推薦．
⾏列の⽋損補完として定式化可能．

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

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

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

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

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

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

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

9教師あり学習
訓練データは 𝑥, 𝑦 = (データの特徴，教師値)というペアの集まりです．
教師値はデータのラベルであり回帰では連続値，分類では離散値です．
教師あり学習による予測：
訓練データから 𝑥 から 𝑦 を正しく予測するルールの発⾒を⽬指します．
例えば画像認識では 𝑥, 𝑦 = (画像データ，被写体名)

𝑥=

教師あり学習による予測

𝑦 = ⾞（正しい予測）

その他の教師あり学習の例：
売上予測 → 店舗の売上⾼と店舗・地理・気候等のデータで学習する．
罹患予測 → 診断結果と体温等の受診者のデータで学習する．
成約予測 → 成約結果と商品情報・顧客情報のデータで学習する．
離反予測 → 離反情報とユーザーのサービス利⽤状況データで学習する．
東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA

10データの収集予測対象と関連する簡単な説明変数（特徴）の作成をし，データを収集します．
- アヤメの品種予測

特徴ベクトル𝑥

教師値𝑦

教師値：アヤメの品種
Setosa, Virginica, Versicolor
特徴：sepal.length（がく⽚の⻑さ）
sepal.width（がく⽚の幅）petal.length（花びらの⻑さ）
petal.width（花びらの幅）

１⾏が１データ

教師値・特徴ベクトルは連続値・カテゴリ値（離散値）として収集します．
特徴ベクトルの設計には対象データの専⾨知識を有効活⽤しましょう．
データの設計・収集がうまくいけば，あとは汎⽤の機械学習で分析可能です．
訓練データが多いほど予測精度は向上します，出来るだけ収集しましょう．

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

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

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

カテゴリ変数 ⽋損値

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

12回帰と分類
教師あり学習はデータに割り当てられるラベル 𝑦 が連続値・離散値（識別⼦，名称，カテゴリ値等）かに依って回帰・分類に分けられます．
回帰の例• 売上予測：𝑦 = 店舗の売上⾼，𝑥 = 店舗・地理・気象・曜⽇情報• 価格予測：𝑦 = 住宅価格，𝑥 = 最寄駅の距離，築年数，間取り，設備，地理情報
分類の例• 罹患予測 ： 𝑦 = 診断結果，𝑥 = 受診者のレントゲン・⾎液検査・体温• 成約予測 ： 𝑦 = 商品の成約結果，𝑥 = 商品，顧客の収⼊・職種・家族構成• 離反予測 ： 𝑦 = 離反状況，𝑥 = ユーザーのサービス利⽤頻度・活動内容
𝑛 個の訓練データ 𝑥! , 𝑦! , … , 𝑥" , 𝑦" から写像・関数 𝑦 = 𝑓(𝑥)を学習します．
𝑓 には様々なモデルがあり，モデルの選択が精度の担保に⾮常に重要です．
（参考）写像・関数とは？
⼊⼒𝑥を出⼒𝑦に対応付ける関係𝑓を⼀般に写像といい𝑦 = 𝑓(𝑥)と呼びます．
特に出⼒が実数値を取る対応関係は関数と呼びます．
東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA

13

モデル
• 関数・写像は⼊⼒𝑥と出⼒𝑦の関係を記述する：
𝑦=𝑓 𝑥 .
関数の例：近隣⼈⼝𝑥に対し売上⾼𝑦の増加は線形：
𝑦 = 𝑥 + 1.

𝑦𝑦 =𝑥+11𝑥• ⼀般には正しい係数は不明なので以下の関係を想定する：
𝑦 = 𝑤! 𝑥 + 𝑤# .
𝑤# , 𝑤! をパラメータと呼び，パラメータを持つ関数・写像をモデルと呼びます．
パラメータの値によってこの関数・写像の対応関係が変化しますが機械学習では訓練データ 𝑥! , 𝑦! , … , 𝑥" , 𝑦" に適合するようにパラメータを決定します．
（参考）この適合度は損失関数で計算されます．データ分析⼿法に応じて対応する損失関数が存在します．
モデルで表される関数はデータを記述するルールの候補であることから仮説関数と呼ばれます．
東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA

14

種々のモデル
様々なモデルがあるのでデータに合わせ適切なものを選択します．
深層ニューラルネットも複雑なモデルの⼀つです．
モデルの例（⾚字がパラメータ）• 𝑓$ (𝑥) = 𝑤# + 𝑤! 𝑥! + 𝑤% 𝑥% + ⋯ + 𝑤& 𝑥&• 𝑓$ (𝑥) = 𝑤# + 𝑤! cos(2𝜋𝑥) + 𝑤% cos(4𝜋𝑥) + 𝑤% cos 8𝜋𝑥%
• 𝑓$ (𝑥) = 𝑤# + ∑)'(! 𝑤' exp − 𝑥 − 𝜇'

全パラメータをまとめて𝑤 と書きます．最初の例では𝑤 = 𝑤# , … , 𝑤& です．
⼀般にパラメータ𝑤を持つモデルを𝑓$ と書くことにします．
（参考）Σとは？共通の添字を持つ複数の数式の和を意味する記号です．
三番⽬の例では 𝑤' exp − 𝑥 − 𝜇' % が添字𝑖を持つ数式で，これを𝑖 = 1から𝑖 = 𝑀まで⾜し上げています：% = 𝑤 exp − 𝑥 − 𝜇 % + ⋯ + 𝑤 exp − 𝑥 − 𝜇% .
∑)!
!
)
)
'(! 𝑤' exp − 𝑥 − 𝜇'東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA

15

回帰
特徴ベクトル𝑥から連続値のラベル 𝑦 を予測することを回帰と呼びます．
予測はパラメータ𝑤を持ち実数値に値を取るモデル𝑓$ により⾏います．
価格予測の例𝑦 = 住宅価格，𝑥 = 最寄駅の距離，築年数，間取り，設備，地理情報
𝑦𝑦

線形モデル

𝑥

⾮線形モデル𝑥

データの特徴が⼀変数の時は単回帰分析，多変数の時は重回帰分析と呼びます．
東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA

16

分類
特徴ベクトル𝑥から識別⼦・カテゴリ等の離散値のラベル 𝑦 を予測することを分類と呼びます．予測はパラメータ𝑤を持ち実数値（⼜は実数値ベクトル）に値を取るモデル𝑓$ の出⼒を離散値に丸めて⾏います．
例えば診断結果等のラベルが1あるいは−1の⼆値で表されている時， 𝑓$ (𝑥)が0 以上であれば 1を割り当て，0 未満であれば −1を割り当てます．
罹患予測の例𝑦 = 診断結果，𝑥 = 受診者のレントゲン・⾎液・体温
𝑥%

𝑥%

線形モデル

𝑥!

⾮線形モデル

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

𝑥!
17

損失関数
パラメータ𝑤を持つモデル𝑓$ とデータ 𝑥, 𝑦 の適合度合いは損失関数で定めます．
損失関数には様々な種類があり，それぞれ特有の性質を持ちます．
損失関数の例（モデル𝑓$ は実数値に値を取るものとします．）• ⼆乗損失関数

𝑙 𝑓$ 𝑥 , 𝑦 = 0.5 𝑦 − 𝑓$ (𝑥) % .

𝑦と予測値𝑓$ (𝑥)が近い時に損失が⼩さく，主に回帰分析で⽤います．
• ロジスティック損失

𝑙 𝑓$ 𝑥 , 𝑦 = log 1 + exp −𝑦𝑓$ 𝑥.

𝑦と𝑓$ 𝑥 の符号が同じで𝑦𝑓$ 𝑥 の値が⼤きい程，損失は⼩さくなります．
ロジスティック損失を⽤いた分類分析をロジスティック回帰分析といいます．

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

18

経験損失最⼩化問題
機械学習では訓練データに平均的によく適合するパラメータを求めます．
これは次の経験損失（訓練誤差）最⼩化問題を解くことに帰着します:"
1min J 𝑙(𝑓$ 𝑥' , 𝑦' ) .
$∈+ 𝑛'(!

（訓練データの損失関数値の平均）

最⼩化対象の訓練データ上の平均損失を経験損失（訓練誤差）とよびます．

（参考）最⼩値記号とは？関数がパラメータを持つとき，パラメータが取り得る範囲での関数の最⼩値をmin記号で記述します．便宜的にこの最⼩値を求める問題⾃体を表す事もあります．今回の場合は損失関数値の平均を集合Ωで動くパラメータ𝑤について最⼩化する問題を表しています．

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

19

過学習と正則化𝑦

訓練データに対しモデルが複雑な場合，
橙：過学習
⿊：適合：訓練データ

訓練データには適合しても未知データに適合しない過学習という現象が起き得ます．

𝑥回帰問題での過学習の様⼦．

得られる関数の複雑さを抑制することで過学習を防ぐ技法を正則化と呼びます．
代表的な正則化⼿法として正則化付き経験損失最⼩化があります．
これは経験損失最⼩化問題に正則化項𝜆𝑅(𝑤)を加えた最⼩化問題です："
1
min J 𝑙(𝑓$ 𝑥' , 𝑦' ) + 𝜆𝑅(𝑤) .
$∈ℝ! 𝑛'(!

𝑤 ∈ ℝ! はパラメータ𝑤が要素数𝑝の任意のベクトル値を取れることを意味します．

正則化項の例：&𝐿% 正則化 𝑅 𝑤 = 𝑤 %% = ∑-(! 𝑤-% ,&𝐿! 正則化 𝑅 𝑤 = 𝑤 ! = ∑-(! 𝑤- .

リッジ回帰 = ⼆乗損失＋ 𝐿! 正則化
LASSO回帰 = ⼆乗損失＋ 𝐿" 正則化

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

20

バイアスとバリアンス
機械学習の⽬標は汎化誤差の最⼩化です．
汎化誤差：未知データに対する平均的な損失で，厳密な計算は⼀般に不可能．
学習で得られた仮説関数に対する汎化誤差を構成する要素としてノイズ，バイアス，バリアンスがあります．
とくにリッジ回帰（ ⼆乗損失＋𝐿!正則化 ）では精緻に分析されています．
• ノイズ
データにのる観測ノイズです．無規則なためノイズ分の誤差は避けられません．
リッジ回帰ではラベルの分散に相応する誤差が汎化誤差に含まれます．
• バイアス
モデルがデータを⽣成する真の関数を含んでいないことに起因する誤差です．
リッジ回帰では真の関数と仮説関数の⼆乗誤差を訓練データの取り⽅について平均した量に相当します．
• バリアンス
訓練データが変わるたびに得られる仮説関数が変化することに起因する誤差です．
リッジ回帰では訓練データを取り替えた際の仮説関数の出⼒値の分散に相当します．

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

21

バイアス・バリアンストレードオフ
モデルに含まれる仮説関数の多様性をモデルの複雑さとよびます．すなわち，モデルℱの関数はすべてモデル𝒢に含まれるようなとき𝒢はℱより複雑です．
例えば多項式からなるモデルは線形関数からなるモデルより複雑です．
バイアス：モデルが複雑なほど真の関数をよく近似する仮説関数が存在．
→ モデルが複雑なほどバイアスは減少．
バリアンス：モデルが複雑なほど仮説関数の⾃由度が向上．
→モデルが複雑なほどバリアンスは増⼤．
汎化誤差

誤差

バリアンス

正則化付きの学習法では正則化の係数𝜆と得られうる仮説関数のモデルの複雑さに関係性があります．
→ 正則化係数 𝜆 の選択の重要性．

バイアス

モデルの複雑さ

東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2021 CC BY-NC-SA22ホールドアウト法
正則化係数を含めモデルの複雑さ（モデルの種類，使⽤する変数，パラメータ数など）を決定する要素は訓練損失からは定まりません．
（モデルが複雑である程，訓練損失を⼩さくできてしまうためです．）
ホールドアウト法：検証データで汎化誤差を⾒積もる⼿法．
1. データを訓練データ（学習データ）と検証データ（ホールドアウトデータ）に分割
2. 訓練データを⽤いて学習を実⾏．
3. 検証データに対する平均損失で汎化誤差を推定．
訓練データ

検証データ

訓練データ（⻘）で学習し検証データで精度を評価．

訓練では検証データは⽤いないので，検証データ上での平均損失は汎化誤差の推定値になるため，この値に従いモデルの複雑さを決定します．
注意：あらゆる複雑さの候補でこの⼿続きを繰り返すと検証データに対しても過学習してしまいます．そのため最終的な評価は上記⼿続きとは別に⽤意したテストデータで⾏います．テストデータは実際の運⽤時の未知のデータを想定したものなのでテストスコアに依存したチューニングなどはできません．
東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2021 CC BY-NC-SA

23

交差検証法
正則化係数𝜆の⼤きさで訓練データへの適合度合いは変わります．
交差検証法は丁度良い適切な𝜆を選ぶ⼿法です．
k-交差検証法（Cross Validation, CV）
１．データを𝑘個に分割します．
２．分割したデータの⼀つを検証⽤とし，残りのデータで学習します．
３．検証⽤データでの予測誤差を計算します．
４．⼿順２，３を𝑘個の検証⽤データの取り⽅について繰り返します．
５． 𝑘個の予測誤差の平均を計算します．
ステップ5で計算される予測誤差平均をCVスコアと呼びます．
CVスコアは汎化誤差（未知データに対する誤差）の推定値であり，これを最⼩にする𝜆は過学習・未学習を起こさない丁度良い値であると期待されます．

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

24

交差検証

5-交差検証の実⾏イメージ
K=1

K=2

K=3

K=4

K=5

K=2, 3, 4, 5 で訓練
K=1での検証スコア

K=1

K=2

K=3

K=4K=5

K=1, 3, 4, 5 で訓練
K=2での検証スコア

K=1

K=2

K=3

K=4

K=5

K=1, 2, 4, 5 で訓練
K=3での検証スコア

K=1

K=2

K=3

K=4

K=5

K=1, 2, 3, 5 で訓練
K=4での検証スコア

K=1

K=2

K=3

K=4

K=5

K=1, 2, 3, 4 で訓練
K=5での検証スコア

訓練⽤データ

検証⽤データCVスコア＝検証スコアの平均

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

25

交差検証の実⾏例
リッジ回帰，LASSO回帰で交差検証の有効性を確認してみます．．
バイアス・バリアンストレードオフから⼀般に 𝜆は⼩さすぎても，⼤きすぎても汎化誤差は⼤きくなることが期待されます．
LASSO回帰

リッジ回帰

最適最適

図：正則化係数（lambda）に対しCVスコア（⻘）とテストスコア（橙）をプロット．

いずれもCVスコアとテストスコアが共通の傾向を⽰していて，CVスコアをもとに正則化係数を決定すると良いテストスコアが達成されることが分かります．
東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA

26

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

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

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

27

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

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

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

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

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

(&)

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

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

&
− 𝑥%%

に対し.

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

𝑐$

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

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

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

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

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

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

𝑥

確率密度推定を⾏う際に混合数はユーザーが指定する必要があります．
混合正規分布による確率密度推定ではデータが属す峰も推定する事ができ，結果としてクラスタリングも実⾏されます．
（参考）峰が⼀つの混合正規分布は単に正規分布と呼びます．
東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA32確率密度推定の異常検知への応⽤
異常検知は⾮常に多くの応⽤例があります：
⼯場のセンサーデータ，カードの使⽤履歴，監視カメラ，為替取引
正常データ・異常データが共に⼗分あれば教師あり学習が適⽤可能ですが⼀般に異常データは⾮常に少ないため教師なし学習を適⽤します．
典型的なアプローチ：確率密度推定の結果 𝑝 𝑥 𝑤
W と閾値𝛿を設定し𝑝 𝑥 𝑤
W ≤𝛿を満たすデータ𝑥を異常とみなします．
𝑝

異常値

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

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

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

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

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

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

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

アイテムB

アイテムC

…

アイテムZ

ユーザー1

４８*…

２

ユーザー2

２*

2…

*

ユーザー3

47*…

*

⁝⁝

⁝

⁝

…

⁝

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

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

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

過学習とモデル選択
教師なし学習でも有限個の訓練データにモデルを適合するため，訓練データに対しモデルが複雑過ぎる場合に過学習が⽣じます．
過学習を防ぐためにモデルの表現⼒をコントロールする必要があります．
モデルの表現⼒をコントロールするハイパーパラメータの例• K-平均法の中⼼点の数• 混合正規分布の混合数• ヒストグラムのビン幅（ヒストグラムの各帯をビン，その幅をビン幅と呼びます）
𝑝𝑝𝑥

𝑝𝑥𝑥

ヒストグラムのビン幅（左から5, 20, 100）で未学習・過学習が⽣じる様⼦．
横軸はデータの座標，縦軸は確率密度，橙のグラフは正解の確率密度関数です．
東京⼤学 数理・情報教育研究センター ⼆反⽥篤史 2020 CC BY-NC-SA36モデル選択の⽅法
教師なし学習でも適当な評価指標を⽤いた交差検証で適⽤すべきモデルの選択やハイパーパラメータの決定は可能です．
しかし教師あり学習におけるラベルの推定精度のようなモデル⾮依存の評価指標がない問題（クラスタリングや確率密度推定）では，⼿法毎にモデル選択法が提案されています．
例：K-平均法のエルボー法
Kの値毎にK-平均法を実⾏し⽬的関数値（データへの適合度）をプロットします．
基本的にKについて単調に減少しますが減少幅が⼗分に⼩さくなってきたKを適切なものとし選択します．

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

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