特許第6090286号(P6090286)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ カシオ計算機株式会社の特許一覧

特許6090286機械学習装置、機械学習方法、分類装置、分類方法、プログラム
<>
  • 特許6090286-機械学習装置、機械学習方法、分類装置、分類方法、プログラム 図000010
  • 特許6090286-機械学習装置、機械学習方法、分類装置、分類方法、プログラム 図000011
  • 特許6090286-機械学習装置、機械学習方法、分類装置、分類方法、プログラム 図000012
  • 特許6090286-機械学習装置、機械学習方法、分類装置、分類方法、プログラム 図000013
  • 特許6090286-機械学習装置、機械学習方法、分類装置、分類方法、プログラム 図000014
  • 特許6090286-機械学習装置、機械学習方法、分類装置、分類方法、プログラム 図000015
  • 特許6090286-機械学習装置、機械学習方法、分類装置、分類方法、プログラム 図000016
  • 特許6090286-機械学習装置、機械学習方法、分類装置、分類方法、プログラム 図000017
  • 特許6090286-機械学習装置、機械学習方法、分類装置、分類方法、プログラム 図000018
  • 特許6090286-機械学習装置、機械学習方法、分類装置、分類方法、プログラム 図000019
  • 特許6090286-機械学習装置、機械学習方法、分類装置、分類方法、プログラム 図000020
  • 特許6090286-機械学習装置、機械学習方法、分類装置、分類方法、プログラム 図000021
  • 特許6090286-機械学習装置、機械学習方法、分類装置、分類方法、プログラム 図000022
  • 特許6090286-機械学習装置、機械学習方法、分類装置、分類方法、プログラム 図000023
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6090286
(24)【登録日】2017年2月17日
(45)【発行日】2017年3月8日
(54)【発明の名称】機械学習装置、機械学習方法、分類装置、分類方法、プログラム
(51)【国際特許分類】
   G06N 99/00 20100101AFI20170227BHJP
   G06F 17/30 20060101ALI20170227BHJP
   G06T 7/00 20170101ALI20170227BHJP
【FI】
   G06N99/00 153
   G06F17/30 210D
   G06T7/00 350B
【請求項の数】15
【全頁数】23
(21)【出願番号】特願2014-222600(P2014-222600)
(22)【出願日】2014年10月31日
(65)【公開番号】特開2016-91166(P2016-91166A)
(43)【公開日】2016年5月23日
【審査請求日】2015年11月11日
(73)【特許権者】
【識別番号】000001443
【氏名又は名称】カシオ計算機株式会社
(74)【代理人】
【識別番号】100095407
【弁理士】
【氏名又は名称】木村 満
(72)【発明者】
【氏名】松永 和久
【審査官】 多胡 滋
(56)【参考文献】
【文献】 特開2010−257158(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 99/00
G06F 17/30
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
カテゴリ分けに用いるためのラベル付きの学習用コンテンツをn個(nは、2以上の自然数)取得するコンテンツ取得手段と、
前記コンテンツ取得手段が取得したn個の学習用コンテンツそれぞれから、特徴を示す特徴ベクトルを取得する特徴ベクトル取得手段と、
前記特徴ベクトル取得手段が取得した前記n個の学習用コンテンツそれぞれの特徴ベクトルを、当該特徴ベクトル同士の類似度に基づいて類似特徴ベクトルに変換するベクトル変換手段と、
前記ベクトル変換手段で変換した前記類似特徴ベクトルと、前記n個の学習用コンテンツそれぞれに付されたラベルと、に基づいて、該n個の学習用コンテンツをカテゴリ分けするための分類条件を学習する学習手段と、
前記学習手段が学習した分類条件に従って、前記ラベルが付されていない試験用コンテンツをカテゴリ分けする分類手段と、
を備えたことを特徴とする機械学習装置。
【請求項2】
前記ベクトル変換手段は、行数を前記n個に等しいn行、列数を前記n個に等しいn列、各成分を前記学習用コンテンツ同士の類似度、とするn行n列の類似行列を生成し、該生成した類似行列の各行の行ベクトルそれぞれを、前記類似特徴ベクトルとする、
ことを特徴とする請求項1に記載の機械学習装置。
【請求項3】
前記ラベルは、前記n個の学習用コンテンツを2カテゴリに分けるためのラベルであり、
前記学習手段は、前記n個の学習用コンテンツそれぞれに付されたラベルに基づいて、該n個の学習用コンテンツそれぞれの類似特徴ベクトルで定まるベクトル空間内のn個の点を、2カテゴリに線形分離する関数を前記分類条件として学習し、
前記分類手段は、前記関数に従って、前記試験用コンテンツを2カテゴリのうち何れか一方のカテゴリに分類する、
ことを特徴とする請求項1又は2に記載の機械学習装置。
【請求項4】
前記類似特徴ベクトルの各成分の類似度の値をべき乗するべき乗手段と、
前記分類手段が前記試験用コンテンツを前記何れか一方のカテゴリに分類した正答率が最大となる、前記関数の調整パラメータと、前記べき乗のためのべき乗パラメータと、の組み合わせを選択する選択手段と、
を備えたことを特徴とする請求項3に記載の機械学習装置。
【請求項5】
前記学習手段は、前記2カテゴリに線形分離する関数を、線形サポートベクトルマシン(線形SVM)、k近傍法、ナイーブベイズ分類法、決定木、ニューラルネットワーク、バギング法、ブースティング法又はランダムフォレスト法により学習する、
ことを特徴とする請求項3又は4に記載の機械学習装置。
【請求項6】
前記ベクトル変換手段は、前記特徴ベクトルを、該特徴ベクトルの成分の数である次元数よりも多次元の類似特徴ベクトルに変換する、
ことを特徴とする請求項1乃至5の何れか一項に記載の機械学習装置。
【請求項7】
前記ベクトル変換手段は、前記学習用コンテンツ同士の類似度をヒストグラムインターセクションにより求める、
ことを特徴とする請求項1乃至6何れか一項に記載の機械学習装置。
【請求項8】
前記特徴ベクトル取得手段は、前記n個の学習用コンテンツそれぞれから、BoF(Bag of Features)により局所的な特徴を定量化した特徴ベクトルを取得し、該n個の学習用コンテンツそれぞれから取得した特徴ベクトルをL1ノルム又はL2ノルムで正規化する、
ことを特徴とする請求項1乃至7何れか一項に記載の機械学習装置。
【請求項9】
前記学習用コンテンツと前記試験用コンテンツとは何れも、画像、音声又はテキストである、
ことを特徴とする請求項1乃至8何れか一項に記載の機械学習装置。
【請求項10】
請求項1乃至9何れか一項に記載の機械学習装置が学習した分類条件に従って、前記学習用コンテンツと前記試験用コンテンツとは異なる未知のコンテンツをカテゴリ分けする未知コンテンツ分類手段、
を備えたことを特徴とする分類装置。
【請求項11】
前記未知のコンテンツから、該未知のコンテンツの特徴を示す特徴ベクトルを取得する取得手段と、
前記取得手段が取得した前記未知のコンテンツの特徴ベクトルを、前記学習用コンテンツと前記未知のコンテンツとの類似度に基づいて類似特徴ベクトルに変換する変換手段と、
を備え、
前記未知コンテンツ分類手段は、前記変換手段が変換した類似特徴ベクトルで定まるベクトル空間内の1個の点を、前記分類条件に従って分類することで、前記未知のコンテンツをカテゴリ分けする、
ことを特徴とする請求項10に記載の分類装置。
【請求項12】
カテゴリ分けに用いるためのラベル付きの学習用コンテンツをn個(nは、2以上の自然数)取得するコンテンツ取得ステップと、
前記コンテンツ取得ステップにおいて取得したn個の学習用コンテンツそれぞれから、特徴を示す特徴ベクトルを取得する特徴ベクトル取得ステップと、
前記特徴ベクトル取得ステップにおいて取得した前記n個の学習用コンテンツそれぞれの特徴ベクトルを、当該特徴ベクトル同士の類似度に基づいて類似特徴ベクトルに変換するベクトル変換ステップと、
前記ベクトル変換ステップにおいて変換した前記類似特徴ベクトルと、前記n個の学習用コンテンツそれぞれに付されたラベルと、に基づいて、該n個の学習用コンテンツをカテゴリ分けするための分類条件を学習する学習ステップと、
前記学習ステップにおいて学習した分類条件に従って、前記ラベルが付されていない試験用コンテンツをカテゴリ分けする分類ステップと、
を備えたことを特徴とする機械学習方法。
【請求項13】
請求項12に記載の機械学習方法によって学習された分類条件に従って、前記学習用コンテンツと前記試験用コンテンツとは異なる未知のコンテンツをカテゴリ分けする未知コンテンツ分類ステップ、
を備えたことを特徴とする分類方法。
【請求項14】
コンピュータを、
カテゴリ分けに用いるためのラベル付きの学習用コンテンツをn個(nは、2以上の自然数)取得するコンテンツ取得手段、
前記コンテンツ取得手段が取得したn個の学習用コンテンツそれぞれから、特徴を示す特徴ベクトルを取得する特徴ベクトル取得手段、
前記特徴ベクトル取得手段が取得した前記n個の学習用コンテンツそれぞれの特徴ベクトルを、当該特徴ベクトル同士の類似度に基づいて類似特徴ベクトルに変換するベクトル変換手段、
前記ベクトル変換手段で変換した前記類似特徴ベクトルと、前記n個の学習用コンテンツそれぞれに付されたラベルと、に基づいて、該n個の学習用コンテンツをカテゴリ分けするための分類条件を学習する学習手段、
前記学習手段が学習した分類条件に従って、前記ラベルが付されていない試験用コンテンツをカテゴリ分けする分類手段、
として機能させるためのプログラム。
【請求項15】
コンピュータを、
請求項14に記載のプログラムの実行により学習された分類条件に従って、前記学習用コンテンツと前記試験用コンテンツとは異なる未知のコンテンツをカテゴリ分けする未知コンテンツ分類手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、機械学習装置、機械学習方法、分類装置、分類方法及びプログラムに関する。
【背景技術】
【0002】
従来から、コンテンツ(例えば、画像、音声、テキストなど)を、そのコンテンツが属すカテゴリに分類する分類装置が知られている。この分類装置は、コンテンツを分類するための分類条件に従って、コンテンツの分類を行う。この分類条件は、一般的に、機械学習装置によって機械学習されたものである。
ここで、コンテンツを2カテゴリに分類するための分類条件を学習する機械学習装置として、サポートベクトルマシン(SVM:Support Vector Machine)が知られている。
【0003】
このSVM(機械学習装置)は、2カテゴリの一方に属す学習用コンテンツの集合と、他方に属す学習用コンテンツの集合と、を用いて、これら集合を2つに分類する分類条件(例えば、分類のための関数など)を予め学習しておく。そして、分類装置は、学習された分類条件に従って、未知のコンテンツを2カテゴリのうち何れか一方のカテゴリに分類する。ここで、非特許文献1には、線形分離できない2つの集合を非線形で分離するためのSVMの技術が開示されている。
【先行技術文献】
【非特許文献】
【0004】
【非特許文献1】Sabri Boughorbel、外2名、「GENERALIZED HISTOGRAM INTERSECTION KERNEL FOR IMAGE RECOGNITION」、International Conference on Image Processing (ICIP)、2005年9月
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、SVMは、学習用コンテンツの特徴を定量化した特徴ベクトルを用いて、上記分類条件の学習を行う。この場合、SVMは、ベクトル空間に分布する一方と他方の学習用コンテンツそれぞれの特徴ベクトルを線形分離するための分類条件を学習する。
【0006】
しかしながら、学習用コンテンツの素性によって、ベクトル空間における特徴ベクトルの分布の仕方が異なり、一方と他方の学習用コンテンツの集合同士を線形分離できないことがあった。つまり、線形分離しやすいか否かは学習用コンテンツの素性に依るところが大きく、分布の仕方が学習用コンテンツの素性により一意に定まる場合は、線形分離のための自由度が低かった。
このため、機械学習装置が分類条件を学習したとしても、その学習された分類条件を用いる分類装置が、未知のコンテンツ対してその未知のコンテンツが属すべきカテゴリへ精度よく分類できないという問題があった。
【0007】
そこで、本発明は、上記問題を解決するためになされたものであって、コンテンツが属すカテゴリへ精度よく分類する機械学習装置、機械学習方法、分類装置、分類方法、プログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するため、この発明の第1の観点に係る機械学習装置は、
カテゴリ分けに用いるためのラベル付きの学習用コンテンツをn個(nは、2以上の自然数)取得するコンテンツ取得手段と、
前記コンテンツ取得手段が取得したn個の学習用コンテンツそれぞれから、特徴を示す特徴ベクトルを取得する特徴ベクトル取得手段と、
前記特徴ベクトル取得手段が取得した前記n個の学習用コンテンツそれぞれの特徴ベクトルを、当該特徴ベクトル同士の類似度に基づいて類似特徴ベクトルに変換するベクトル変換手段と、
前記ベクトル変換手段で変換した前記類似特徴ベクトルと、前記n個の学習用コンテンツそれぞれに付されたラベルと、に基づいて、該n個の学習用コンテンツをカテゴリ分けするための分類条件を学習する学習手段と、
前記学習手段が学習した分類条件に従って、前記ラベルが付されていない試験用コンテンツをカテゴリ分けする分類手段と、
を備えたことを特徴とする。
【0009】
上記目的を達成するため、この発明の第2の観点に係る分類装置は、
第1の観点に係る機械学習装置が学習した分類条件に従って、前記学習用コンテンツと前記試験用コンテンツとは異なる未知のコンテンツをカテゴリ分けする未知コンテンツ分類手段、
を備えたことを特徴とする。
【0010】
上記目的を達成するため、この発明の第3の観点に係る機械学習方法は、
カテゴリ分けに用いるためのラベル付きの学習用コンテンツをn個(nは、2以上の自然数)取得するコンテンツ取得ステップと、
前記コンテンツ取得ステップにおいて取得したn個の学習用コンテンツそれぞれから、特徴を示す特徴ベクトルを取得する特徴ベクトル取得ステップと、
前記特徴ベクトル取得ステップにおいて取得した前記n個の学習用コンテンツそれぞれの特徴ベクトルを、当該特徴ベクトル同士の類似度に基づいて類似特徴ベクトルに変換するベクトル変換ステップと、
前記ベクトル変換ステップにおいて変換した前記類似特徴ベクトルと、前記n個の学習用コンテンツそれぞれに付されたラベルと、に基づいて、該n個の学習用コンテンツをカテゴリ分けするための分類条件を学習する学習ステップと、
前記学習ステップにおいて学習した分類条件に従って、前記ラベルが付されていない試験用コンテンツをカテゴリ分けする分類ステップと、
を備えたことを特徴とする。
【0011】
上記目的を達成するため、この発明の第4の観点に係る分類方法は、
第3の観点に係る機械学習方法によって学習された分類条件に従って、前記学習用コンテンツと前記試験用コンテンツとは異なる未知のコンテンツをカテゴリ分けする未知コンテンツ分類ステップ、
を備えたことを特徴とする。
【0012】
上記目的を達成するため、この発明の第5の観点に係るプログラムは、
コンピュータを、
カテゴリ分けに用いるためのラベル付きの学習用コンテンツをn個(nは、2以上の自然数)取得するコンテンツ取得手段、
前記コンテンツ取得手段が取得したn個の学習用コンテンツそれぞれから、特徴を示す特徴ベクトルを取得する特徴ベクトル取得手段、
前記特徴ベクトル取得手段が取得した前記n個の学習用コンテンツそれぞれの特徴ベクトルを、当該特徴ベクトル同士の類似度に基づいて類似特徴ベクトルに変換するベクトル変換手段、
前記ベクトル変換手段で変換した前記類似特徴ベクトルと、前記n個の学習用コンテンツそれぞれに付されたラベルと、に基づいて、該n個の学習用コンテンツをカテゴリ分けするための分類条件を学習する学習手段、
前記学習手段が学習した分類条件に従って、前記ラベルが付されていない試験用コンテンツをカテゴリ分けする分類手段、
として機能させることを特徴とする。
【0013】
上記目的を達成するため、この発明の第6の観点に係るプログラムは、
コンピュータを、
第5の観点に係るプログラムの実行により学習された分類条件に従って、前記学習用コンテンツと前記試験用コンテンツとは異なる未知のコンテンツをカテゴリ分けする未知コンテンツ分類手段、
として機能させることを特徴とする。
【発明の効果】
【0014】
本発明によれば、コンテンツが属すカテゴリへ精度よく分類することができる。
【図面の簡単な説明】
【0015】
図1】機械学習装置の構成を示すブロック図である。
図2】学習用画像と試験用画像の一例を示す図である。
図3】学習用画像から取得した特徴ベクトルの一例を示す図である。
図4】学習用画像の特徴ベクトルを類似特徴ベクトルにする流れの一例を示す図である。
図5】試験用画像の特徴ベクトルを類似特徴ベクトルにする流れの一例を示す図である。
図6】べき乗パラメータαによるべき乗後の例を示す図である。
図7】べき乗パラメータαの値に応じた、べき乗前後の値の変化を示す図である。
図8】線形SVM(サポートベクトルマシン)の原理を説明するための図である。
図9】(a)は調整パラメータCが大きい場合の例を、(b)は調整パラメータCが小さい場合の例を、それぞれ示す図である。
図10】正誤判定用テーブルの一例を示す図である。
図11】実施形態に係る分類処理の流れを示すフローチャートである。
図12】分類装置の構成を示すブロック図である。
図13】変形例に係る分類処理の流れを示すフローチャートである。
図14図13の分類処理の続きを示すフローチャートである。
【発明を実施するための形態】
【0016】
以下、この発明の実施形態を図面に基づいて説明する。
図1に示すように、機械学習装置100は、記憶部110及び制御部120を備える。この機械学習装置100は、学習用コンテンツ(画像、音声、テキストなど)を2カテゴリに分類するための分類条件を機械学習する装置である。この機械学習装置100は、分類条件を学習用コンテンツにより学習する学習段階と、学習した分類条件に従って試験用コンテンツを分類して正誤評価する試験段階と、を経る。その後、分類装置は、商用環境にて、学習された分類条件に従って、学習用コンテンツと試験用コンテンツとは異なる未知のコンテンツを分類する。
この実施形態においては、機械学習装置100の学習段階と試験段階を中心に説明する。また、この実施形態では、コンテンツとして画像を例にとって説明する。また、この実施形態において、「分類条件を学習する」ことと「分類条件を生成する」ことは同義であって、適宜何れか一方により説明する。
【0017】
記憶部110は、HDD(Hard Disk Drive)などの不揮発性メモリである。この記憶部110は、画像記憶部111を備える。この画像記憶部111は、図2に示すような、学習用画像S〜Sと、試験用画像T〜Tと、を記憶する。学習用画像S〜Sは、それら学習用画像S〜Sを2カテゴリに分けるためのラベルが付されているラベル付き画像である。このラベルは、2カテゴリの一方の値(例えば、1)又は他方の値(例えば、−1)の何れかの値をとる。一方で、試験用画像T〜Tは、ラベルが付されていないラベルなし画像である。
【0018】
また、ラベル付き学習用画像の個数(n個)は、2カテゴリに分けることから少なくとも2個以上、つまりnは2以上の自然数である必要がある。また、ラベルなし試験用画像の個数(m個)は、正誤評価を複数回実行するために少なくとも2個以上、つまりmは2以上の自然数である必要がある。この実施形態においては、理解を容易にするために、nとmの数が等しい、つまりn=mであることを前提に以下説明する。
【0019】
なお、学習用画像S〜Sについて、いずれか1つの学習用画像(例えば、学習用画像S1など)を特段特定する必要がない場合は、単に学習用画像と称して以下説明する。また、学習用画像S〜Sについて、2以上のラベル付き学習用画像をまとめて呼ぶ場合は適宜、複数の学習用画像、n個の学習用画像などと称して以下説明する。試験用画像T〜Tについても同様である。
【0020】
ここで、画像記憶部111に複数の学習用画像と複数の試験用画像とが記憶されるまでの流れについて説明する。ユーザは、複数の学習用画像と複数の試験用画像とを目的に応じて予め収集しておく。例えば、ユーザが被写体のありなしで画像を2分類させたければ、被写体ありの人物画像を100枚、被写体なしの風景画像を100枚、それぞれ予め収集しておく。そして、人物画像100枚のうち50枚をラベル1の学習用画像とし、残りの50枚をラベルなしの試験用画像とする。一方、風景画像100枚のうち50枚をラベル−1の学習用画像とし、残り50枚を試験用画像とする。
【0021】
このようにすれば、一例として、ラベル1又は−1付きの100枚の学習用画像と、ラベルなしの100枚の試験用画像と、が得られる。そして、ユーザは、収集した計200枚の画像を、機械学習装置100の画像記憶部111に記憶する。これにより、学習準備が整い、機械学習装置100による機械学習が可能な状態となる。
【0022】
なお、機械学習装置100は、試験段階において分類条件に従って分類した試験用画像が正しいカテゴリへと分類されたか否かの正誤判定を行う。このため、試験用画像は、正誤判定のためにラベル(1又は−1)と対応付けられて記憶部110に記憶される。換言すれば、試験用画像は、分類された後に正誤の判定ができる(つまり、記憶部110に正誤判定用のテーブルが記憶されている)ことを除けば、正誤判定ができない未知の画像(例えば、商用環境にリリース後に分類装置が分類する画像など)と変わらない。なお、試験段階における具体的な処理については後述する。
【0023】
図1に戻って、制御部120は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)などから構成される。制御部120のCPUは、ROMに記憶されている分類処理用のプログラムを読み出して実行することにより、各機能(画像取得部121、特徴ベクトル取得部122、ベクトル変換部123、べき乗部124、分類条件学習部125、分類部126、選択部127)を実現する。
【0024】
画像取得部121は、複数の学習用画像と複数の試験用画像とを取得する。具体的には、画像取得部121は、画像記憶部111から、学習用画像n個(n≧2)と、試験用画像m個(m≧2)と、を取得する。なお、画像取得部121は、画像記憶部111に限らず、両画像を有線又は無線で外部から取得してもよいことはもちろんである。また、画像取得部121は、コンテンツ取得手段に相当する。
【0025】
特徴ベクトル取得部122は、画像取得部121が取得した複数の学習用画像と複数の試験用画像それぞれから、特徴を示す特徴ベクトルを取得する。具体的には、まず、特徴ベクトル取得部122は、n個の学習用画像それぞれから、例えば、BoF(Bag of Features)により局所的な特徴を定量化した特徴ベクトルを取得する。次に、特徴ベクトル取得部122は、n個の学習用画像それぞれから取得した特徴ベクトルをL1ノルムで正規化する。
【0026】
このL1ノルムは、特徴ベクトルの各成分の絶対値和である。このL1ノルムで特徴ベクトルの各成分を除算することにより、各成分の値が0〜1に正規化される。これにより、不揃いの各成分の値を同じスケールにすることができるので、後述する類似度を算出する場合の演算処理が容易になる。なお、L1ノルムに限らず、特徴ベクトルの各成分の2乗和の平方根であるL2ノルムにより、特徴ベクトルを正規化してもよい。
【0027】
ここで、ラベル付き学習用画像S〜Sそれぞれから、特徴ベクトルを取得することについて、図3を参照しながら説明する。図3では、例えば、1個目の学習用画像Sから取得した正規化後の特徴ベクトルを(0.1,0.1,0.7,0.1)、n個目の学習用画像Sから取得した正規化後の特徴ベクトルを(0.4,0.2,0.2,0.2)で示す。この特徴ベクトルから、特徴ベクトル取得部122が局所的な4つの特徴を定量化して特徴ベクトルの成分を4つ取得したことがわかる。このため、特徴ベクトルの成分の数が4つなので次元数は4、すなわち特徴ベクトルは4次元である。
【0028】
なお、特徴ベクトル取得部122は、同様の要領でm個の試験用画像それぞれから特徴ベクトルを取得する。また、特徴ベクトル取得部122は、特徴ベクトル取得手段に相当する。
【0029】
図1に戻って、ベクトル変換部123は、特徴ベクトル取得部122が取得したn個の学習用画像それぞれの特徴ベクトルを、学習用画像同士の類似度に基づいて類似特徴ベクトルに変換する。
具体的には、まず、ベクトル変換部123は、行数をn個に等しいn行、列数をn個に等しいn列、各成分をコンテンツ同士の類似度、とするn行n列の類似行列を生成する(図4参照)。次に、ベクトル変換部123は、生成した類似行列の各行の行ベクトルそれぞれを、n個の学習用画像それぞれの特徴ベクトルに代わる類似特徴ベクトルとする。
【0030】
ここで、図4の学習用画像Sの特徴ベクトル(0.1,0.1,0.7,0.1)を例にとって説明すると、この特徴ベクトルに対応する1行目の行ベクトルは(S11,S12,S13,・・・S1n)である。この行ベクトルの各成分は、学習用画像同士の類似度であり、S11は学習用画像S同士の類似度を、S12は学習用画像SとSの類似度を、S13は学習用画像SとSの類似度を、S1nは学習用画像SとSの類似度を、それぞれ示す。この類似度は、以下の式(1)で示されるヒストグラムインターセクションにより算出される。
【0031】
【数1】
【0032】
ここで、nは次元数を、xは比較対象となる一方の画像の特徴ベクトルにおけるi次元目の成分の値を、yは比較対象となる他方の画像の特徴ベクトルにおけるi次元目の成分の値を、k(x,y)は類似度を、それぞれ示す。上記(式1)は、同次元における(つまり、同じ局所的特徴部分における)両画像の成分の値のうち小さい値を選択していき、全次元それぞれで選択した小さい値の和を類似度の値(1〜0の値)とすることを示している。この類似度が1に近いほど両画像が似ていることになる。なお、両画像の成分の値が等しい場合は何れか一方を選択すればよい。
【0033】
図4の場合、例えば、S11の類似度は全次元において成分の値が等しいので、0.1+0.1+0.7+0.1=1.0となる。一方で、S12の類似度は1次元目の値0.1と0.1のうち0.1を、2次元目の値0.1と0.7のうち0.1を、3次元目の値0.7と0.1のうち0.1を、4次元目の値0.1と0.1のうち0.1をそれぞれ選択して足すと、0.1+0.1+0.1+0.1=0.4となる。
【0034】
このような要領で、(式1)を用いたヒストグラムインターセクションにより、類似行列の各成分の類似度を全て求める(図4参照)。そして、類似行列の各行の行ベクトルそれぞれを、n個の学習用画像それぞれの特徴ベクトルに代わる類似特徴ベクトルとする。例えば、学習用画像Sの特徴ベクトル(0.1,0.1,0.7,0.1)に代わる類似特徴ベクトルは(1.0,0.4,0.5,・・・0.5)となる。
【0035】
このように、ベクトル変換部123が類似行列を生成することにより、n個の特徴ベクトルをn個の類似特徴ベクトルに変換することができる。この類似特徴ベクトルの各成分は、学習用画像同士の類似度である。このため、ベクトル空間において特徴ベクトルで定まる点の位置を、類似特徴ベクトルで定まる点の位置に移動することができる。このことは、ベクトル空間におけるn個の点の分布の仕方が変わることを意味する。
【0036】
また、類似特徴ベクトルの各成分の値は類似度の値であるから、非線形変換されたともいえる。この非線形変換とは、線形変換するための演算処理(例えば、所定の値に係数を乗算する処理)以外の処理(例えば、所定の値をべき乗する処理、あるいは類似度に置換する処理など)をいう。これにより、ベクトル空間において特徴ベクトルで定まる点の位置が、類似特徴ベクトルで定まる点の位置に非線形に移動する、つまり直線移動しないことになる。
【0037】
また、類似特徴ベクトルの成分の数(n個)が、特徴ベクトルの成分の数よりも大きければ、特徴ベクトルの次元数をn次元に拡張したことになる。この実施形態においては、特徴ベクトルが4次元なので、n>4であれば類似特徴ベクトルに変換することで次元数を拡張することができる。このことは、4次元のベクトル空間からn次元のベクトル空間になったことを意味する。
【0038】
なお、ベクトル変換部123は、同様の要領でm個の試験用画像それぞれの特徴ベクトルを、学習用画像と試験用画像との類似度に基づいて類似特徴ベクトルに変換する(図5参照)。学習用画像の類似度は、その学習用画像を基準として類似度を算出していることから、試験用画像の類似度の算出の際にも、試験時のスケールを合わせるために基準を学習用画像として類似度を算出するようにする。
【0039】
これにより、m(=n)行n列の試験用画像の類似行列が生成され、m個の特徴ベクトルそれぞれを、m個の類似特徴ベクトルに変換することができる(図5参照)。なお、ベクトル変換部123は、ベクトル変換手段に相当する。
【0040】
図1に戻って、べき乗部124は、類似特徴ベクトルの各成分の類似度の値をべき乗する。例えば、べき乗部124は、図4の学習用画像Sの類似特徴ベクトルの各成分の類似度の値(1.0,0.4,0.5・・・0.5)をべき乗する。図6に、べき乗パラメータαを1、αを2、αを0.5、とした場合のべき乗後の例を示す。この場合、類似特徴ベクトルの各成分の値を1乗、2乗、0.5乗しているので、n次元のベクトル空間において異なる3パターンの分布が得られることになる。
【0041】
このことについて、図7を参照しながら説明する。図7は、べき乗パラメータαの値に応じた、べき乗前後の値の変化を示す図である。この図から、αの値が大きくなるほど、べき乗前の値に対してべき乗後の値が小さくなる。このことは、べき乗前の類似度が低い値はノイズとみなして、類似度が1に近い値は残すことを意味する。一方で、αの値が小さくなるほど、べき乗前の類似度が低い値に対してべき乗後の値が大きくなる。このことは、べき乗前の類似度が低い類似度が低い値はノイズとみなさず値を大きくして残すことを意味する。
【0042】
これらから、べき乗パラメータαにより、類似度の値を変化させることで分布のバリエーションを増やすことができるので、ベクトル空間において2カテゴリに分類する際の自由度を高めることができる。なお、べき乗を行うタイミング及びべき乗の値の選び方については後述する。また、べき乗部124は、べき乗手段に相当する。
【0043】
図1に戻って、分類条件学習部125は、ベクトル変換部123で変換した類似特徴ベクトルと、n個の学習用画像それぞれに付されたラベルと、に基づいて、そのn個の学習用画像をカテゴリ分けするための分類条件を学習する(分類条件を生成する)。
具体的には、分類条件学習部125は、n個の学習用画像S〜Sそれぞれの類似特徴ベクトルで定まるベクトル空間内のn個の点を、2カテゴリに分離する関数(識別関数とも言う)を分類条件として学習する。この実施形態において、機械学習装置100が学習するとは、識別関数を生成することを意味する。また、この実施形態では、線形SVM(サポートベクトルマシン)により、2カテゴリに線形分離する識別関数を生成する。
【0044】
ここで、上述した実施形態から一旦離れて、線形SVMの原理について、図8を参照しながら説明する。この図8では、理解を容易にするために、特徴ベクトルの成分数がxとxの2つ、つまり2次元の特徴ベクトルを例にとって説明する。図8では、2次元のベクトル空間において、ラベルが1の複数の学習用画像それぞれの特徴ベクトルで定まる点(+)と、ラベルが−1の複数の学習用画像それぞれの特徴ベクトルで定まる点(−)と、が分布している例を示す。このことは、式で表すと以下の式(2)になる。
【0045】
【数2】
【0046】
ここで、jは1個目〜n個目の学習用画像のうち任意のj番目であることを示す。この式(2)は、カテゴリCに属すj番目の学習用画像のラベルyは1、カテゴリCに属すj番目の学習用画像のラベルyは−1、であること示す。
また、図8の識別関数は、以下の式(3)で示される。
【0047】
【数3】
【0048】
ここで、wは重みベクトルを、bはバイアス項をそれぞれ示す。このwとbを求めるにあたって、線形SVMでは、実線で示す識別関数からの最寄りの点(サポートベクトル)までの距離であるマージンLを最大化するように求める。マージンLは、以下のHとHの式(4)から求めることができる。
【0049】
【数4】
【0050】
は、Cに属すサポートベクトルが1以上(図8の例では+の点2つ)のっている境界の式を示す。一方、Hは、Cに属すサポートベクトルが1以上(図8の例では−の点2つ)のっている境界の式を示す。xC1はカテゴリCに属すxを、xC2はカテゴリCに属すxを、それぞれ示す。マージンLを求めるために、両者を引くと、w(xC1−xC2)=2となる。両辺を||w||で割ると、(xC1−xC2)=2/||w||となる。つまり、2L=2/||w||となるので、マージンLは、以下の式(5)となる。
【0051】
【数5】
【0052】
このマージンLを最大化するために、||w||を最小化すればよい。この||w||は、計算の便宜上、等価である以下の式(6)に置き換える。
【0053】
【数6】
また、式(2)及び(3)から、以下の式(7)が導き出せる。
【0054】
【数7】
【0055】
この式(7)を以下の式(8)のようにまとめることができる。
【0056】
【数8】
【0057】
この式(8)は、wとbを求めるにあたっての制約条件となる。この制約条件を満たしつつ、式(6)を最小化するwとbを求めて、マージンLが最大の識別関数を生成することができる。換言すると、マージンLが最大の識別関数を生成するとは、式(8)の制約条件付きで式(6)を最小化する条件付き最小化問題ともいえる。
【0058】
ここで、この最小化問題を解いて識別関数を生成するにあたって、線形SVMでは、学習誤りをどの程度許容するかを考慮する必要がある。学習誤りを許容しないで識別関数を生成することをハードマージンという。一方で、学習誤りを許容して識別関数を生成することをソフトマージンという。この学習誤りを許容する度合いを決定するためのパラメータとして、線形SVMでは、調整パラメータCを用いる。このCが大きい程ハードマージンとなり(図9(a)参照)、Cが小さい程ソフトマージンとなる(図9(b)参照)。
【0059】
この調整パラメータCの値は、値に応じて試験用画像を分類した際の正答率が変わるので、最適値を求める必要がある。この点については後述する。分類条件学習部125は、任意の調整パラメータCにおいて最小化問題を解くことで1つの識別関数を生成する(図9(a)及び(b)参照)。以上、図8及び図9ならびに式(2)乃至(8)を参照しながら、線形SVMの一般的な原理について説明した。
【0060】
しかし、この実施形態においては、n次元のベクトル空間において、n個の学習用画像それぞれの類似特徴ベクトルで定まるn個の点(ラベル1の点は+、ラベル−1の点は−)が分布することになる。そして、べき乗部124は、この分布の仕方を類似特徴ベクトルの各成分をべき乗することで異ならせる。そして、分類条件学習部125は、任意の調整パラメータCの値において最小化問題を解くことで、n個の点を2カテゴリに線形分離する識別関数を生成する。この分類条件学習部125は、べき乗パラメータαと調整パラメータCの複数の異なる組み合わせに対応した複数の異なる識別関数を生成する。このαとCの組み合わせは、後述するグリッドサーチにより決定される。なお、分類条件学習部125は、学習手段に相当する。
【0061】
図1に戻って、分類部126は、分類条件学習部125が生成した分類条件である識別関数に従って、ラベルなしの試験用画像を2カテゴリのうち何れか一方のカテゴリに分類する。具体的には、分類部126は、試験用画像の類似特徴ベクトルの値(例えば、図5に示す試験用画像Tの類似特徴ベクトルであれば、各成分0.5,0.5,0.9,・・・0.9から求まる値)を、生成された識別関数の式(3)のxに代入して、yの値を求める。分類部126は、yの値が1以上であれば試験用画像はCのカテゴリに、yの値が−1以下であれば試験用画像はCのカテゴリに、それぞれ分類する。
【0062】
また、分類部126は、分類した試験用画像が正しいカテゴリへと分類されたか否かの正誤判定を行う。具体的には、分類部126は、図10に示す正誤判定用テーブルを参照して、正誤判定を行う。例えば、分類部126は、正誤判定用テーブルを参照して、分類した試験用画像TがCのカテゴリ(y≧1)であれば正解と判定し、Cのカテゴリ(y≦−1)であれば不正解と判定する。分類部126は、m個の試験用画像T〜T全ての正解又は不正解から正答率(識別率とも言う)%を算出する。分類部126は、複数の異なるCとαの組み合わせ全ての識別関数についてそれぞれ正答率を算出する。なお、分類部126は、分類手段に相当する。
【0063】
次に、選択部127は、分類部126が試験用画像を何れか一方のカテゴリに分類した正答率が最大となる、識別関数の調整パラメータCと、べき乗のためのべき乗パラメータαと、の組み合わせを選択する。これにより、正答率が最大となる調整パラメータCでの識別関数と、そのときのベクトル空間でのn個の点の分布を一意に決定するべき乗パラメータαの値を決定することができる。なお、選択部127は、選択手段に相当する。
【0064】
以上、機械学習装置100の各部の機能について説明した。以下では、機械学習装置100の各部の協働による分類処理について図11のフローチャートを参照しながら説明する。
この分類処理は、画像記憶部111に複数の学習用画像と複数の試験用画像とが記憶され、学習準備が整った後、ユーザが機械学習装置100に学習指示を行うこと(例えば、学習開始ボタンをマウスやキーボードなどを介して押下するなど)を契機として開始される。
【0065】
まず、画像取得部121は、学習用画像と試験用画像とを取得する(ステップS11)。具体的には、画像取得部121は、画像記憶部111から、学習用画像n個(n≧2)と、試験用画像m個(m≧2)と、を取得する。
【0066】
次に、特徴ベクトル取得部122は、学習用画像と試験用画像の特徴ベクトルを取得する(ステップS12)。具体的には、特徴ベクトル取得部122は、n個の学習用画像それぞれからBoFにより局所的な特徴を定量化した特徴ベクトルを、m個の試験用画像それぞれからBoFにより局所的な特徴を定量化した特徴ベクトルを、取得する。
【0067】
次に、特徴ベクトル取得部122は、両画像の特徴ベクトルを正規化する(ステップS13)。具体的には、特徴ベクトル取得部122は、n個の特徴ベクトルとm個の特徴ベクトルとをL1ノルムで正規化する。
【0068】
次に、ベクトル変換部123は、両画像の特徴ベクトルを類似特徴ベクトルにそれぞれ変換する(ステップS14)。具体的には、ベクトル変換部123は、n個の学習用画像それぞれの特徴ベクトルを、学習用画像同士の類似度に基づいて類似特徴ベクトルに変換する(図4参照)。また、ベクトル変換部123は、m個の試験用画像それぞれの特徴ベクトルを、学習用画像と試験用画像との類似度に基づいて類似特徴ベクトルに変換する(図5参照)。
【0069】
次に、制御部120は、グリッドサーチの調整パラメータCとべき乗パラメータαそれぞれのサーチ範囲(C〜C,α〜α)を決定する(ステップS15)。制御部120は、サーチ範囲を任意に決定することができるが、例えば、C〜Cを0.01〜10としてステップ間隔を10とすれば、C=0.01,C=0.1,C=1,C=10の4通りとなる。同様に、制御部120は、例えば、α〜αを0.1〜10としてステップ間隔を10とすれば、α=0.1,α=1,α=10の3通りとなる。
【0070】
これにより、Cとαの組み合わせのパターン数はk×k通り(上記例の場合、4×3=12通り)となる。このk×k通り全パターンについてサーチを行うことを、グリッドサーチという。
【0071】
次に、制御部120は、サーチ範囲のうち、任意の組み合わせ(C,α)を決定する(ステップS16)。ここで、iは、1〜kの値のうちの任意の値を指す。
【0072】
次に、べき乗部124は、決定したα(i=1〜k)で類似特徴ベクトルの各成分をべき乗する(ステップS17)。例えば、べき乗部124は、α=0.1(i=1)の場合、n個の学習用画像S〜Sそれぞれの類似特徴ベクトルの各成分の値を0.1乗する。これにより、べき乗前の類似特徴ベクトルで定まるベクトル空間内のn個の点が、べき乗後の類似特徴ベクトルで定まる位置に移動する。
また、べき乗部124は、m個の試験用画像T〜Tについても、試験の際のスケールを合わせるために、決定したα(i=1〜k)で類似特徴ベクトルの各成分をべき乗する。
【0073】
次に、分類条件学習部125は、決定したCでの識別関数を生成する(ステップS18)。例えば、分類条件学習部125は、C=0.01(i=1)の場合、C=0.01において最小化問題を解くことで、ベクトル空間内のn個の点を2カテゴリに線形分離する識別関数を生成する。
【0074】
次に、分類部126は、生成した識別関数で試験用画像を分類する(ステップS19)。具体的には、分類部126は、m個の試験用画像T〜Tそれぞれを、識別関数に従って2カテゴリのうち何れか一方のカテゴリに分類する。さらに具体的には、分類部126は、m個の試験用画像それぞれの類似特徴ベクトルをα乗した値を、識別関数に代入して何れか一方のカテゴリに分類する。
【0075】
次に、分類部126は、生成した識別関数の正答率を算出する(ステップS20)。具体的には、分類部126は、分類したm個の試験用画像T〜Tそれぞれについて、図10に示す正誤判定用テーブルを参照して正誤判定を行い、正答率を算出する。例えば、m=100個であって、そのうち70個が正解であれば正答率は70%となる。
【0076】
次に、制御部120は、全組み合わせのサーチが終了したか否か判定する(ステップS21)。具体的には、制御部120は、ステップS15で決定したサーチ範囲(C〜C,α〜α)の全組み合わせであるk×k通りのサーチが終了したか否か判定する。
【0077】
ここで、全組み合わせのサーチが終了していない場合(ステップS21;No)、ステップS16に戻って、別の任意の組み合わせを決定して、ステップS17乃至20の処理を行う。このように、k×k通りの全パターンそれぞれにおける識別関数の正答率を算出するまで、ステップS16乃至21の処理をループして行う。
【0078】
そして、全組み合わせのサーチが終了すると(ステップS21;Yes)、選択部127は、正答率が最大となる調整パラメータCとべき乗パラメータαの組み合わせを選択する(ステップS22)。具体的には、選択部127は、ステップS19及びS20の試験段階において算出した正答率が最大となる、識別関数の調整パラメータCと、類似特徴ベクトルの各成分をべき乗するためのべき乗パラメータαと、の組み合わせを選択する。これにより、正答率が最大となる識別関数が得られる。
【0079】
このような学習段階と試験段階を経た後、図12に示す分類装置200は、商用環境において、機械学習装置100が学習した分類条件である識別関数に従って、未知画像をカテゴリ分けする。この未知画像は、学習用画像と試験用画像とは異なり、ラベルが付されておらず、かつ、正誤判定を行うことができない画像である。
【0080】
ここで、記憶部210の特徴ベクトル記憶部211は、未知画像と学習用画像との類似度に基づいて類似特徴ベクトルを生成する関係上、学習用画像S〜Sから生成した複数の特徴ベクトルを記憶する。ここで、分類装置200が未知画像を分類する流れについて説明する。分類装置200は、制御部220のROMが記憶する商用環境での分類処理用のプログラムを実行することで以下の各部の機能を実現する。まず、画像取得部221は、未知画像を取得する。次に、特徴ベクトル取得部222は、機械学習装置100の特徴ベクトル取得部122と同じ要領で、未知画像から特徴ベクトルを取得する。
【0081】
次に、ベクトル変換部223は、未知画像の特徴ベクトルを、学習用画像と未知画像との類似度に基づいて類似特徴ベクトルに変換する。ここでは、未知画像は1枚のため、学習用画像S〜Sそれぞれの特徴ベクトルとの類似行列は、1行n列となり、この1行目の行ベクトルが未知画像の特徴ベクトルに代わる類似特徴ベクトルとなる。
【0082】
次に、べき乗部224は、機械学習装置100の選択部127が選択した最適値のべき乗パラメータαで未知画像の類似特徴ベクトルの各成分をべき乗する。次に、未知コンテンツ分類部225は、べき乗された類似特徴ベクトルで定まるベクトル空間内の1個の点を、最適値の調整パラメータCを持つ識別関数に従って分類することで、未知画像を2カテゴリのうち何れか一方に分類する。以上、分類装置200は、機械学習装置100が学習した正答率が最大となるべき乗パラメータαと調整パラメータCとを用い、識別関数に従って未知画像を精度よく分類する。
【0083】
以上、図11を参照しながら説明したこの実施形態における機械学習装置100においては、ベクトル変換部123を備えたことにより、n個の学習用画像それぞれの特徴ベクトルからn行n列の類似行列を生成し、その生成した類似行列の各行の行ベクトルそれぞれを、特徴ベクトルに代わる類似特徴ベクトルとする。これにより、学習用画像の素性で一意に定まる特徴ベクトルを、学習用画像同士の類似度に基づいて類似特徴ベクトルに変換することができる。このため、学習用画像の素性に依らずに、ベクトル空間における分布の仕方を変えることができるので、線形分離のための自由度を高めることができる。
【0084】
また、類似特徴ベクトルの各成分は、ヒストグラムインターセクションにより算出した類似度である。このため、特徴ベクトルから類似特徴ベクトルへの変換は、類似度に基づく非線形変換である。このため、処理負荷が高く学習時間が長い非線形SVMで2カテゴリに非線形分離する場合と比較して、線形SVMで高速に学習しながら非線形SVMに近い性能を得ることができる。
【0085】
また、類似特徴ベクトルの成分の数である次元数(この実施形態では、n次元)が、特徴ベクトルの成分の数である次元数(この実施形態では、4次元)よりも大きければ、ベクトル変換部123は、特徴ベクトルを、その特徴ベクトルの次元数よりも多次元の類似特徴ベクトルに変換することになる。換言すると、ベクトル変換部123は、4次元のベクトル空間からn次元(n>4)のベクトル空間に次元拡張を行う。一般的に、次元が拡張すると、線形分離しやすくなるので生成した識別関数の正答率が向上する。したがって、分類装置200は正答率の高い識別関数に従って、未知の画像を精度よく分類することができる。
【0086】
また、この実施形態における機械学習装置100においては、べき乗部124を備えたことにより、類似特徴ベクトルの各成分の類似度の値をべき乗する。べき乗パラメータαの値を複数用意することで、その複数分の分布のバリエーションが得られる。そして、分類処理において、グリッドサーチにより正答率が最も高い最適値αを選択する。このため、ベクトル空間において2カテゴリに分類する際の自由度を高めつつ、正答率が高い識別関数を生成することができる。したがって、分類装置200が未知画像を分類する際、その未知画像が属すべきカテゴリへ精度よく分類することができる。
【0087】
以上で実施形態の説明を終了するが、機械学習装置100の具体的な構成や図11に示した分類処理の内容が上述の実施形態で説明したものに限られないことはもちろんである。
【0088】
(変形例)
例えば、上述した実施形態における図11の分類処理を図13図14に変形することができる。この変形例に係る分類処理は、図11の分類処理のステップS22に代えて、ステップS23乃至S25を新たに加えた点が異なる。そこで、この異なる点を中心に以下説明する。
【0089】
制御部120は、全組み合わせのサーチが終了すると(ステップS21;Yes)、正答率が所定の閾値を超える組み合わせあるか否か判定する(ステップS23)。ここで、正答率が所定の閾値を超える組み合わせがない場合(ステップS23;No)、ベクトル変換部123は、類似特徴ベクトルを、異なる類似特徴ベクトルに変換する(ステップS24)。
【0090】
具体的には、ベクトル変換部123は、図4で示したn個の学習用画像それぞれの類似特徴ベクトル同士の類似度に基づいて、類似特徴ベクトルを、異なる類似特徴ベクトルに変換する。これにより、n行n列の新たな類似行列が生成され、生成された新たな類似行列の各行の行ベクトルを、類似特徴ベクトルに代わる異なる類似特徴ベクトルとする。
ベクトル変換部123は、同様の要領で、図5で示したm個の試験用画像それぞれの類似特徴ベクトルを、異なる類似特徴ベクトルに変換する。
【0091】
そして、ステップS15に戻って、異なる類似特徴ベクトルでステップS15乃至S21のグリッドサーチを行う。このように、正答率が所定の閾値を超える組み合わせが得られるまで、毎回、現在の類似特徴ベクトル同士の類似度に基づいて、現在の類似特徴ベクトルとは異なる類似特徴ベクトルを生成して、グリッドサーチを行う。
【0092】
制御部120が、正答率が所定の閾値を超える組み合わせがあると判定した場合(ステップS23;Yes)、選択部127は、正答率が所定の閾値を超える組み合わせのうち、正答率が最大であるCとαの組み合わせを選択する(ステップS25)。選択部127は、正答率が所定の閾値を超える組み合わせが1つの場合そのCとαの組み合わせを、2以上の場合正答率が最も高いCとαの組み合わせを、選択すればよい。
【0093】
以上の変形例に係る分類処理によれば、所定の閾値(例えば、80%)を超えるまで、現在の類似特徴ベクトル同士の類似度に基づいて、現在の類似特徴ベクトルとは異なる類似特徴ベクトルを生成する。つまり、所定の閾値を超えるまで、無限回新たな類似特徴ベクトルを生成することができる。このため、機械学習装置100は、所定の閾値を超える識別関数が得られる。したがって、分類装置200は、未知の画像を精度よく分類することができる。
【0094】
なお、上述した実施形態及び変形例においては、分類条件学習部125は、線形SVMにより制約条件付き最小化問題を解くようにした。そして、この際、n個の学習用画像を2カテゴリに線形分離するマージンが最大となる識別関数を生成するようにしたが、これに限られない。例えば、分類条件学習部125は、線形SVMに代えて他の手法によりn個の学習用画像を2カテゴリに分類する識別関数を生成してもよい。分類条件学習部125は、他の手法として、例えば、k近傍法、ナイーブベイズ分類法、決定木、ニューラルネットワーク、バギング法、ブースティング法、ランダムフォレスト法などにより、識別関数を生成することができる。
【0095】
また、上述した実施形態及び変形例においては、グリッドサーチにおけるステップ間隔は同じであることを前提に説明したが、これに限られない。例えば、最初に大きなステップ間隔で荒くグリッドサーチをして正答率が高いCとαの組み合わせを特定し、続いて、その正答率が高いCとαの近辺の範囲で小さなステップ間隔で局所的に細かくグリッドサーチを行うようにしてもよい。これにより、Cとαを細かくチューニングすることができるので、高い正答率が期待できる。
【0096】
また、上述した実施形態及び変形例においては、べき乗部124が類似特徴ベクトルの各成分の類似度の値をべき乗するようにしたが、べき乗することは必須ではない。例えば、べき乗部124によるべき乗処理を行わずに、変換された類似特徴ベクトルで識別関数を生成してもよい。この場合、図11図13及び図14の分類処理において、べき乗処理を行わずに、グリッドサーチの対象も調整パラメータCのみにすればよい。これにより、機械学習装置100の処理負荷を軽減することができる。
【0097】
また、上述した実施形態及び変形例においては、試験用画像の個数(m個)は、学習用画像の個数(n個)と同じであることを前提に説明したが、これに限られない。m個は、n個と異なってもいいし、mが2以上の自然数であることはか必ずしも必須ではなく、最小単位としてm=1で試験を行ってもよい。
また、上述した実施形態及び変形例においては、複数の画像を2カテゴリに分類するための分類条件を学習する機械学習装置100を前提として説明したが、これに限られない。機械学習装置100は、3カテゴリ以上のマルチカテゴリに分類する分類条件を学習してもよい。
また、上述した実施形態及び変形例においては、コンテンツの一態様として画像を例にとって説明したが、これに限られない。特徴ベクトルを取得できるテキストや音声などにも、この機械学習装置100による機械学習を適用することができる。
【0098】
また、この発明の機械学習装置100および分類装置200の各機能は、通常のPC(Personal Computer)等のコンピュータによっても実施することができる。
具体的には、上記実施形態では、分類処理用のプログラムが、制御部120(220)のROMに予め記憶されているものとして説明した。しかし、図1および図12の各部の機能を実現させるためのプログラムを、フレキシブルディスク、CD−ROM(Compact Disc Read Only Memory)、DVD(Digital Versatile Disc)及びMO(Magneto-Optical Disc)等のコンピュータ読み取り可能な記録媒体に格納して配布し、そのプログラムをコンピュータにインストールすることにより、上述の各部の機能を実現することができるコンピュータを構成してもよい。
また、プログラムをインターネット等の通信ネットワーク上のサーバ装置が有するディスク装置等に格納しておき、例えば、コンピュータがダウンロード等をすることができるようにしてもよい。
【0099】
以上、本発明の実施形態について説明したが、この実施形態は、例示に過ぎず、本発明の技術的範囲を限定するものではない。本発明はその他の様々な実施形態をとることが可能であり、さらに、本発明の要旨を逸脱しない範囲で、省略や置換等種々の変更を行うことができる。これら実施形態やその変形は、特許請求の範囲に記載された発明とその均等の範囲とに含まれる。以下に、本願出願当初の特許請求の範囲に記載された発明を付記する。
【0100】
(付記1)
カテゴリ分けに用いるためのラベル付きの学習用コンテンツをn個(nは、2以上の自然数)取得するコンテンツ取得手段と、
前記コンテンツ取得手段が取得したn個の学習用コンテンツそれぞれから、特徴を示す特徴ベクトルを取得する特徴ベクトル取得手段と、
前記特徴ベクトル取得手段が取得した前記n個の学習用コンテンツそれぞれの特徴ベクトルを、学習用コンテンツ同士の類似度に基づいて類似特徴ベクトルに変換するベクトル変換手段と、
前記ベクトル変換手段で変換した前記類似特徴ベクトルと、前記n個の学習用コンテンツそれぞれに付されたラベルと、に基づいて、該n個の学習用コンテンツをカテゴリ分けするための分類条件を学習する学習手段と、
前記学習手段が学習した分類条件に従って、前記ラベルが付されていない試験用コンテンツをカテゴリ分けする分類手段と、
を備えたことを特徴とする機械学習装置。
【0101】
(付記2)
前記ベクトル変換手段は、行数を前記n個に等しいn行、列数を前記n個に等しいn列、各成分を前記学習用コンテンツ同士の類似度、とするn行n列の類似行列を生成し、該生成した類似行列の各行の行ベクトルそれぞれを、前記類似特徴ベクトルとする、
ことを特徴とする付記1に記載の機械学習装置。
【0102】
(付記3)
前記ラベルは、前記n個の学習用コンテンツを2カテゴリに分けるためのラベルであり、
前記学習手段は、前記n個の学習用コンテンツそれぞれに付されたラベルに基づいて、該n個の学習用コンテンツそれぞれの類似特徴ベクトルで定まるベクトル空間内のn個の点を、2カテゴリに線形分離する関数を前記分類条件として学習し、
前記分類手段は、前記関数に従って、前記試験用コンテンツを2カテゴリのうち何れか一方のカテゴリに分類する、
ことを特徴とする付記1又は2に記載の機械学習装置。
【0103】
(付記4)
前記類似特徴ベクトルの各成分の類似度の値をべき乗するべき乗手段と、
前記分類手段が前記試験用コンテンツを前記何れか一方のカテゴリに分類した正答率が最大となる、前記関数の調整パラメータと、前記べき乗のためのべき乗パラメータと、の組み合わせを選択する選択手段と、
を備えたことを特徴とする付記3に記載の機械学習装置。
【0104】
(付記5)
前記学習手段は、前記2カテゴリに線形分離する関数を、線形サポートベクトルマシン(線形SVM)、k近傍法、ナイーブベイズ分類法、決定木、ニューラルネットワーク、バギング法、ブースティング法又はランダムフォレスト法により学習する、
ことを特徴とする付記3又は4に記載の機械学習装置。
【0105】
(付記6)
前記ベクトル変換手段は、前記特徴ベクトルを、該特徴ベクトルの成分の数である次元数よりも多次元の類似特徴ベクトルに変換する、
ことを特徴とする付記1乃至5の何れか一つに記載の機械学習装置。
【0106】
(付記7)
前記ベクトル変換手段は、前記学習用コンテンツ同士の類似度をヒストグラムインターセクションにより求める、
ことを特徴とする付記1乃至6何れか一つに記載の機械学習装置。
【0107】
(付記8)
前記特徴ベクトル取得手段は、前記n個の学習用コンテンツそれぞれから、BoF(Bag of Features)により局所的な特徴を定量化した特徴ベクトルを取得し、該n個の学習用コンテンツそれぞれから取得した特徴ベクトルをL1ノルム又はL2ノルムで正規化する、
ことを特徴とする付記1乃至7何れか一つに記載の機械学習装置。
【0108】
(付記9)
前記学習用コンテンツと前記試験用コンテンツとは何れも、画像、音声又はテキストである、
ことを特徴とする付記1乃至8何れか一つに記載の機械学習装置。
【0109】
(付記10)
付記1乃至9何れか一つに記載の機械学習装置が学習した分類条件に従って、前記学習用コンテンツと前記試験用コンテンツとは異なる未知のコンテンツをカテゴリ分けする未知コンテンツ分類手段、
を備えたことを特徴とする分類装置。
【0110】
(付記11)
前記未知のコンテンツから、該未知のコンテンツの特徴を示す特徴ベクトルを取得する取得手段と、
前記取得手段が取得した前記未知のコンテンツの特徴ベクトルを、前記学習用コンテンツと前記未知のコンテンツとの類似度に基づいて類似特徴ベクトルに変換する変換手段と、
を備え、
前記未知コンテンツ分類手段は、前記変換手段が変換した類似特徴ベクトルで定まるベクトル空間内の1個の点を、前記分類条件に従って分類することで、前記未知のコンテンツをカテゴリ分けする、
ことを特徴とする付記10に記載の分類装置。
【0111】
(付記12)
カテゴリ分けに用いるためのラベル付きの学習用コンテンツをn個(nは、2以上の自然数)取得するコンテンツ取得ステップと、
前記コンテンツ取得ステップにおいて取得したn個の学習用コンテンツそれぞれから、特徴を示す特徴ベクトルを取得する特徴ベクトル取得ステップと、
前記特徴ベクトル取得ステップにおいて取得した前記n個の学習用コンテンツそれぞれの特徴ベクトルを、学習用コンテンツ同士の類似度に基づいて類似特徴ベクトルに変換するベクトル変換ステップと、
前記ベクトル変換ステップにおいて変換した前記類似特徴ベクトルと、前記n個の学習用コンテンツそれぞれに付されたラベルと、に基づいて、該n個の学習用コンテンツをカテゴリ分けするための分類条件を学習する学習ステップと、
前記学習ステップにおいて学習した分類条件に従って、前記ラベルが付されていない試験用コンテンツをカテゴリ分けする分類ステップと、
を備えたことを特徴とする機械学習方法。
【0112】
(付記13)
付記12に記載の機械学習方法によって学習された分類条件に従って、前記学習用コンテンツと前記試験用コンテンツとは異なる未知のコンテンツをカテゴリ分けする未知コンテンツ分類ステップ、
を備えたことを特徴とする分類方法。
【0113】
(付記14)
コンピュータを、
カテゴリ分けに用いるためのラベル付きの学習用コンテンツをn個(nは、2以上の自然数)取得するコンテンツ取得手段、
前記コンテンツ取得手段が取得したn個の学習用コンテンツそれぞれから、特徴を示す特徴ベクトルを取得する特徴ベクトル取得手段、
前記特徴ベクトル取得手段が取得した前記n個の学習用コンテンツそれぞれの特徴ベクトルを、学習用コンテンツ同士の類似度に基づいて類似特徴ベクトルに変換するベクトル変換手段、
前記ベクトル変換手段で変換した前記類似特徴ベクトルと、前記n個の学習用コンテンツそれぞれに付されたラベルと、に基づいて、該n個の学習用コンテンツをカテゴリ分けするための分類条件を学習する学習手段、
前記学習手段が学習した分類条件に従って、前記ラベルが付されていない試験用コンテンツをカテゴリ分けする分類手段、
として機能させるためのプログラム。
【0114】
(付記15)
コンピュータを、
付記14に記載のプログラムの実行により学習された分類条件に従って、前記学習用コンテンツと前記試験用コンテンツとは異なる未知のコンテンツをカテゴリ分けする未知コンテンツ分類手段、
として機能させるためのプログラム。
【符号の説明】
【0115】
100…機械学習装置、110(210)…記憶部、111…画像記憶部、120(220)…制御部、121(221)…画像取得部、122(222)…特徴ベクトル取得部、123(223)…ベクトル変換部、124(224)…べき乗部、125…分類条件学習部、126…分類部、127…選択部、200…分類装置、211…特徴ベクトル記憶部、225…未知コンテンツ分類部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14