機械学習理論研究室
← AI体験の一覧
散らばった点を見て「このあたりは仲間だな」と感じることがあります。その仲間分けを、コンピュータにやらせてみましょう。似たものどうしを自動でまとめる手順を「クラスタリング」といいます。ここでは k-means(ケイ平均法)という方法を、点の集まりと画像の色で試します。
下の平面には、点(◯)が散らばっています。どの点がどのグループかは、まだ決まっていません。「再生」を押すと、k-meansが2つの作業を交互に繰り返して、グループを見つけていきます。
まだ始めていません。すべての点は灰色(グループ未定)です。×印が「重心(じゅうしん)」で、グループの代表となる位置です。
k-meansは、次の2つをただ交互に繰り返すだけの手法です。
① 配属:それぞれの点は、いちばん近い重心のグループに入ります(点の色が変わります)。
② 移動:それぞれの重心は、自分のグループに入った点たちの平均の位置へ動きます(薄い線が動いたあとです)。
これを続けると重心が動かなくなり、グループ分けが落ち着きます。これを「収束(しゅうそく)」といいます。
最初の重心はランダムに置かれます。「もう一度(別の初期値で)」を押すと、結果が少し変わることがあります。出発点がちがえば、行き着く先もちがうのです。
写真1枚には、ふつう何万種類もの色が使われています。それを k 色 だけに減らすとしたら、どの色を残しますか。色の選び方には2つのやり方があります。同じ画像・同じ色数で見くらべてみましょう。
等間隔(方法A)は、画像を見ずに色の範囲を等分します。だから、その画像にはまったく出てこない色まで代表色に選びます。点線の枠が「1画素も使われなかった色」です。使わない色に枠を取られる分、実際に使いたい色に回せる枠が減ります。その結果、元の色とのずれ(平均の色ずれ)が大きくなります。k-means(方法B)は、画像に実際にある色の集まり方を見てから代表色を決めます。だから同じ k 色でも枠に無駄が出ません。
「平均の色ずれ」は、元の画素の色と、置きかえた代表色との距離の平均です。小さいほど元の画像に近いことを表します。
・k をどこまで小さくしても、何が写っているか分かるでしょうか。写真の種類(風景・人物・文字)で限界は変わりますか。
・方法Aと方法Bの差は、どんな画像で大きくなり、どんな画像では小さくなるでしょうか。
・ここでは「色」をグループに分けました。同じ仕組みは、お客さんの買い物の記録や、生き物の特徴の測定値にも使えます。何をグループに分けてみたいですか。
k-means は、点と重心のズレの二乗の合計を最小にする手法です。だからズレの測り方で見た二乗誤差の話が、そのまま効いています。ズレの二乗を最小にする点が平均になる、というあの性質があるので、グループの代表はいつも平均の色(重心)になります。
次の質問で分ける木も、データを区切るという仕事は同じです。ちがうのは2つあります。区切る基準が「近いかどうか」ではなく「はい/いいえの質問」であること。そして、あちらには最初から正解が与えられていることです。