アルゴリズム

記事数:(87)

機械学習

分類の難しさ:みにくいアヒルの子定理

「みにくいアヒルの子」と言うと、多くの人がアンデルセンの童話を思い浮かべるでしょう。お話の中では、後に白鳥だと分かるまで、灰色の子鳥は仲間はずれにされ、みにくいアヒルの子と呼ばれていました。ところが、人工知能の分野では、この童話にちなんだ「みにくいアヒルの子定理」と呼ばれる、興味深い考え方が存在します。これは、ものの類似性を考える上で、私たちの直感を揺るがす内容を含んでいます。 この定理は、「みにくいアヒルの子と普通のアヒルの子は、二匹の普通のアヒルの子と同じくらい似ている」と主張します。少し分かりにくいので、具体的に考えてみましょう。みにくいアヒルの子をA、二匹の普通のアヒルの子をBとCとします。AとBの間には、例えば「鳥である」という共通点があります。AとCの間にも「卵から生まれた」という共通点がありますし、BとCにも「水かきがある」という共通点を見つけることができます。 もちろん、AとBだけに共通する点も存在します。例えば、Aは灰色ではないのに対し、BとCは灰色です。つまり、「灰色ではない」という特徴はAとBだけに共通します。同じように、AとCだけに共通する特徴、BとCだけに共通する特徴も見つけることができます。例えば、AとCは「くちばしが黄色い」という共通点を持つかもしれませんし、BとCは「同じ群れにいる」という共通点を持つかもしれません。 このように、どの二つの組み合わせにも、共通する特徴、異なる特徴が存在します。重要なのは、比較の基準をどこに置くかです。もし「灰色である」という特徴を重視すれば、AはBやCとは異質なものに見えます。しかし、「鳥である」「卵から生まれた」といった特徴を重視すれば、AもBもCも似たもの同士と言えるでしょう。つまり、どの二つのアヒルの子を選んでも、同じくらいの数の共通点と相違点を見つけることができるため、どれも同じくらい似ていると、この定理は主張しているのです。これは、私たちが普段、無意識のうちに特定の特徴を重視して類似性を判断していることを示唆しています。人工知能においては、どのような特徴を基準に類似性を判断するかが重要になるため、この定理は重要な意味を持ちます。
機械学習

t-SNE:高次元データを視覚化する

たくさんの情報を持つデータは、扱うのが大変になることがあります。例えば、たくさんの種類の遺伝子の働き具合を調べたデータでは、遺伝子の種類が多ければ多いほど、データの全体像を掴むのが難しくなります。このような複雑なデータを、もっと簡単に理解できるようにする技術が、次元削減です。次元削減は、データが持つたくさんの情報を、できるだけ減らして、より少ない情報で表現する技術です。 次元削減の例を、遺伝子の働き具合のデータで考えてみましょう。数百種類の遺伝子の働き具合を測ったデータがあるとします。このデータは、数百の数字の集まりで表現されるため、そのままでは理解するのが困難です。次元削減を使うと、この数百の数字を、例えば数個の主要な遺伝子グループの組み合わせとして表現することができます。それぞれの遺伝子グループは、複数の遺伝子の働き具合をまとめて表現したものです。こうすることで、数百あった数字を、数個のグループで表現できるようになり、データの特徴を捉えやすくなります。 次元削減は、データを見やすくするだけでなく、データに含まれる余計な情報を取り除く効果もあります。余計な情報を取り除くことで、データの本質的な特徴を捉えやすくなり、より正確な分析が可能になります。また、次元削減によってデータの量が減るため、データの処理にかかる時間や計算機の負担を減らすこともできます。 このように、次元削減は、複雑なデータを扱う上で非常に重要な技術であり、様々な分野で活用されています。例えば、大量の画像データから特徴を抽出する画像認識や、顧客の購買履歴から好みを分析するマーケティングなど、多くの場面で次元削減が役立っています。
機械学習

k近傍法:機械学習の基礎

身近な例えを用いると、ある人がどの集団に属するかを、その人に近い人々が属する集団を参考に決める方法が、機械学習における「k近傍法」です。この方法は、複雑な計算式や高度な数学の知識を必要とせず、データ間の距離という分かりやすい概念に基づいて分類を行います。 新しいデータがどの集団に属するかを予測する際、k近傍法は、既に集団分けされている既存のデータとの距離を測ります。距離の測り方にはいくつか種類がありますが、一般的には、データの各要素の差の二乗和の平方根を計算する、ユークリッド距離がよく用いられます。例えば、データが2つの数値で表される場合、二点間の直線距離を求めるのと同じ計算方法です。このようにして、既存のデータそれぞれについて、新しいデータとの距離を計算し、距離が近い順にk個のデータを選び出します。kは、利用者が事前に決めておく正の整数値です。 次に、選ばれたk個のデータの中で、最も数の多い集団に、新しいデータを分類します。例えば、kの値を5に設定し、距離が近い5個のデータの中に、Aの集団に属するデータが3個、Bの集団に属するデータが2個あった場合、新しいデータはAの集団に分類されます。このように、k近傍法は、多数決の原理を用いて新しいデータの所属先を決定します。 このkの値は、予測の正確さに大きく影響します。kの値が小さすぎると、周りの少し変わったデータ、いわゆる「外れ値」の影響を受けやすく、予測結果が不安定になります。逆に、kの値が大きすぎると、本来は異なる集団に属するデータの影響を受けてしまい、予測の精度が低下する可能性があります。ちょうど良いkの値は、扱うデータの性質や予測の目的により異なるため、試行錯誤しながら最適な値を見つけることが重要です。k近傍法は、その分かりやすさから、機械学習の入門として最適な手法と言えるでしょう。
画像生成

レイトレーシング:光の追跡で描くリアルな世界

絵を描く時、私たちは普段、目の前にある景色をそのまま紙に書き写します。しかし、コンピューターグラフィックスの世界では、光がどのように目の中に届くのかを計算することで、まるで写真のようにリアルな絵を作り出す方法があります。これが、光の通り道を逆算する「レイトレーシング法」です。 私たちが物を見る時、実際には物体から反射した光が目に届いています。レイトレーシング法では、カメラのレンズに届く光を起点として、その光がどこから来たのかを逆向きに辿っていきます。まるで探偵が犯人の足跡を辿るように、光の通り道を一つずつ追っていくのです。 光は、鏡のように表面が滑らかな物体に当たると、規則正しく反射します。また、水やガラスのような透明な物体を通り抜けるときには、光の進む向きが屈折します。レイトレーシング法は、こうした光の反射や屈折といった性質を緻密に計算することで、物体の色や明るさ、影などを正確に再現します。 例えば、赤いボールに光が当たった場合、その光の一部は反射して私たちの目に届き、私たちはボールを赤く認識します。レイトレーシング法では、目に届いた赤い光を起点として、それがボールのどの部分で反射したのかを計算します。さらに、光源の種類や位置、周りの環境なども考慮することで、よりリアルな色の変化や影の付き方を表現することができるのです。 このように、光の通り道を逆向きに辿り、光と物体の相互作用を計算することで、レイトレーシング法は従来の手法よりもはるかにリアルな画像を作り出すことができます。そのため、映画やゲームなど、高い画質が求められる映像制作の現場で広く使われています。