生成AI資格対策(生成AIパスポート+G検定)
クラスタリングと次元削減
正解ラベルが一枚も付いていないデータが手元にある
顧客データが1万件ある。しかし「この人は優良顧客」という正解は誰も付けていません。教師あり学習は、入力とそれに対応する正解のペアからパターンを学ぶ枠組みなので、この状態では使えません。
教師なし学習は、正解ラベルが一切ない状態で、データの中に潜む構造をモデルが自力で見つける枠組みです。代表的な使い道が、似たもの同士をまとめるクラスタリングと、情報をできるだけ保ったまま特徴量の数を減らす次元削減です。
グループに分ける、が分類とは違う
ここで最も間違えやすいのが、クラスタリングと分類の混同です。分類は「この画像は犬」「この画像は猫」という正解ラベルを学習して当てにいく教師あり学習です。クラスタリングは、どのグループが何を意味するのかを誰も教えてくれません。出てきたグループを見て「これは購入頻度の高い層らしい」と意味づけをするのは人間の仕事です。グループに分けるという語感が似ているので、出題者はここを執拗に突いてきます。
k-means 法は、あらかじめ決めた k 個のグループにデータを分ける手法で、手順は次のとおりです。
- k 個の重心を適当な位置に置く
- 各データを最も近い重心のグループに割り当てる
- 各グループに属するデータの平均位置へ重心を移動する
- 重心が動かなくなるまで2と3を繰り返す
重要な性質は、k を人間が事前に決めなければならないことと、最初の重心の置き方によって結果が変わりうることです。k の目安を得る方法がエルボー法で、k を増やしながら誤差の合計を描き、減り方が緩やかになる肘のあたりを選びます。
階層的クラスタリングは k を先に決めません。最も近いもの同士を順に併合していき、その過程をデンドログラムという樹形図で表します。あとから好きな高さで横に切れば、その時点のグループ数が得られます。データ数が多いと計算が重くなるため、大量のデータでは k-means が選ばれやすくなります。
列が増えるほど、学習は難しくなる
特徴量の数、すなわち次元が増えるほど、データは空間の中でまばらになり、まともな学習に必要なデータ量が爆発的に増えます。これを次元の呪いと呼びます。次元削減はこの問題への対処であり、同時に可視化の手段でもあります。
主成分分析(PCA)は、データの分散が最大になる方向を第1主成分として新しい軸に取り直し、それと直交する中で次に分散が大きい方向を第2主成分とする、という手順で軸を並べ替えます。分散が大きい方向ほど情報を多く含むという考え方に基づき、上位の主成分だけを残せば、少ない次元で元の情報の大半を保てます。各主成分が全体の情報のうちどれだけを説明しているかの割合を寄与率、上位からの合計を累積寄与率と呼びます。
このほか t-SNE と UMAP は、近いもの同士の近さを保ちながら高次元のデータを2次元へ押し込むことに長けており、可視化のために使われる手法として名前が問われます。
試験ではこう問われる
- 「正解ラベルのないデータを似たもの同士でまとめたい」はクラスタリングです。分類を選ばせる誤答が必ず並びます
- 「グループ数を事前に決める必要がある手法はどれか」で k-means が問われ、階層的クラスタリングと対比させてきます
- 「分散が最大になる方向」という言い換えが出たら主成分分析です。クラスタリング手法と混ぜた選択肢になります
- 「特徴量が増えるほど必要なデータ量が急増する現象」は次元の呪いです。過学習という語と迷わせてきます
- エルボー法、デンドログラム、寄与率は、どの手法に紐づく語かを直接問われます
復習ミニクイズ
購買履歴データにラベルは付いていませんが、似た買い方をする顧客をいくつかのグループにまとめたいと考えています。グループ数をあらかじめ決めて重心の更新を繰り返す手法はどれですか。