SVMによる色彩嗜好の学習 (color matching with svm)

Color matching is a very popular and practical problem. For now no versatile principles are known, so color matching are performed manually.
We tried to make computers learn some color tastes, with using SVM (support vector machine). With this form we took 200 sample data, used former 100 for learning (with libsvm), and compared the output from the SVM to the data in latter 100. (see the detail of the result) The accuracy was 81%, that is enough to conclude this method has a point. (2005-june-6)

背景

私たちは日々、服選びやWEBページのデザインなどで色選び・色あわせを行っています。 しかし、人によって色の趣味は様々であり、また同じ人でも気分によって変化します。
ここではもう少し問題を絞って、「ある色が好きか嫌いか」ではなく、「ある色の組み合わせが調和するかどうか」という問題を考えてみます。 これは色彩調和論と呼ばれる分野で、これまでにいくつかの経験則が知られていますが、 いずれも"良い組み合わせの候補"は与えるものの、常に良い組み合わせが与えられるわけではありません。

提案

今回はコンピューターに学習を行わせる"SVM (support vector machine)"という手法を用いて、色彩嗜好をコンピューターに学習させる実験を行ってみました。一度学習させれば、あなたのセンスはコンピューターが覚えていてくれます。 色選びにしても、元々あなたが"好きそうな"候補を提示することができます。
今回は予備実験ということで、ある決まったスタイルの元での二色のカラーマッチングに問題を単純化しました。 定型のスタイルに二色をランダムに彩色し、被験者はそれが調和しているかいないかをボタンで指示します。 (ランダムな二色とはいえ、今までの色彩調和論によって明らかに良くない組み合わせは省いています)

結果

こうして200件のデータを自分で入力し、初めの100件でSVMの学習を行いました。 そして、残りの100件について、SVMによる予測と自分が選んだ結果を比較しました。 SVMには(三輪さんのお勧めで)libsvmを用いました。このデータを下に示します。 前半100件が学習データ、後半100件が判定結果です。今回の認識率は81%でした。
数回実験を行いましたが、概ね80%を越える正答率が得られました。 これを元に、さらに枠線の太さなども含めた、総合的なデザインを考えるシステムを作りたいと思っています。 また学習結果を元に、個人ごとの嗜好の差異を定量的に扱えたら面白いかなぁ、と思っています。