G検定単語帳 - 機械学習の概要

教師あり学習

機械学習の手法の一つで、あらかじめ「正解」が明示されている学習データに適合するようにモデルを構築していく方式。学習のためには問題と正解の形に整理された大量のデータが必要となる。

学習データが「例題と答え」という形式に整理されており、例題を入力すると対応する答えを出力するようにモデルを訓練していく。答え(出力)がラベルや離散値であるようなデータを用いれば分類問題に、実数などの連続値を取るようなデータを用いれば予測や推論を行うための回帰問題に適用できる。

例えば、数字を手書きした画像(例題)と、写っている数字(答え)をペアにした教師データをたくさん用意し、画像を入力すると数字を答えるモデルを作成すると、手書きの数字を認識するシステムを作ることができる。

人間が既に答えを知っているような判断や作業を自動化したい場合に有効な手法で、様々な分野で応用が広がっている。学習効率も高く精度も向上させやすいが、生のデータを「例題と答えのペア」という形式に整理しなければならず、学習データの質や潜在的な問題点がそのまま精度や結果に反映されてしまう難点もある。

一方、人間があらかじめ正解を示さずにデータを与え、似た特徴のデータに分類する(クラスタリング)といった処理を行えるようにする手法を「教師なし学習」(unsupervised learning)、決まった正解は存在しないが出力結果に対する評価は存在し、好ましい評価を得るために出力を調整していく手法を「強化学習」(reinforcement learning)という。

特徴量

対象の特徴を表すと考えられる属性をデータとして表したもの。通常は数値が用いられ、分類ラベルなどを扱う場合は番号などに置き換えて表現する。機械学習システムにおける入力値として与えられる。

蓄積されたデータ(生データ)を何らかの属性の組み合わせとして整理し、その中からデータが表している対象や、処理の目的や用途などに照らして、特徴をよく表していると考えられる項目を特徴量に採用する。

例えば、中古車の買取価格を予測する機械学習システムを作りたければ、メーカー、車種、年式、走行距離、色などを特徴量とすることが考えられる。一方、生データの中に「給油口の左右」のような項目があったとしても、価格にはあまり影響しないと考えられるため、特徴量には採用しない。このような取捨選択を「特徴選択」という。

特徴量と次元

特徴量の値の組み合わせは数学におけるベクトルようなものと考えることができるため、特徴量の数のことを「次元」(dimension)という。「車種」の1次元だけで価格の傾向を考えるより「車種」と「年式」を組み合わせた2次元の方が有意義な分析が可能であるように、ある程度は次元が多い方がはっきりした傾向が現れる。

しかし、あまりに次元の数が多すぎると、値の組み合わせの数が爆発的(指数関数的)に増大してしまう。このとき、低次元の場合と同じデータ量で学習しようとすると、サンプルが分散しすぎて意味のある傾向が現れなくなってしまうことがある。裏を返せば、十分な訓練に必要なデータ量は次元に対して指数的に増大してしまう。これを「次元の呪い」という。

次元削減

次元の呪いを緩和するため、学習に先立って生データを加工して特徴量の数を減らす「次元削減」操作を行うことがある。これには、項目の中から特徴量として不要なものを削除する特徴選択や、複数の特徴量の傾向を反映した新たな特徴量を作り出す「特徴抽出」が含まれる。

特徴抽出を機械学習システムで自動化したものを「表現学習」と呼び、対象データの種類(テキスト/画像など)や学習の手法(教師あり/なしなど)の違いによって様々な方式が提案されている。代表的な手法として主成分分析(PCA)やオートエンコーダーなどが知られている。

教師データ

機械学習で学習に用いるデータセットのうち、「例題」と「正解」を対応付けた形式に整理されたデータ。学習プロセスによって、例題を入力すると正解を出力するようにモデル内のパラメータを更新する。

対象分野の知識について、例題と正解がペアになっている形式の学習データである。例題のデータを入力すると、正解のデータが出力されるようにモデルを訓練していく。学習が完了すると、例題と同じカテゴリーの未知のデータに対して、正解と思われるデータを導き出して出力する。このようなデータを用いる学習方式を「教師あり学習」という。

例えば、数字を手書きした画像(例題)と、そこに写っている数字(正解)をペアにした教師データをたくさん用意し、画像を入力すると数字を答えるモデルを作成すると、手書きの数字を認識するシステムを作ることができる。

機械学習システムに分類を行わせたい場合は、正解がラベルや離散値など限定された教師データを用意する。予測や推論などの回帰を行わせたい場合は、正解が任意の文字列や実数など、任意の内容を取り得る教師データを用いる。

人間がコンピュータで管理しているデータがそのまま教師データになるとは限らず、「例題と正解のペア」という形式に整理しなければならないため、用途や分野によっては教師データの準備に馬鹿にならない手間やコストがかかってしまうこともある。

文字データや画像データなど例題となり得る何らかのデータ集合に対して、人間が正解となるデータを付与していく作業を「アノテーション」(annotation)という。画像分類など典型的な課題については無償で利用できる大規模な教師データのセットが公開されている場合もある。

問題の種類によっては元になるデータから自動的に教師データを作成できる場合がある。例えば、文章の穴埋め問題を解くシステムを作る場合、元になる文章の例がたくさんあれば、任意の位置の単語を抜き取った例題を作成し、抜き取った単語を正解とすればよい。これは大規模言語モデル(LLM)の学習などで用いられる手法の一つである。

アンサンブル学習

機械学習システムの精度を向上させる工夫の一つで、方式や学習データの異なる複数のモデルを作り、何らかの方法で組み合わせて一つの結果を得る手法。組み合わせ方により様々な方式に分かれる。

例えば、分類を行う機械学習システム(学習器)を3つ用意し、それぞれ異なるデータで学習させる。これに同じデータを入力し、3つの出力の多数決を最終的な結果とする。回帰の場合は3つの出力値の平均値を最終的な結果とする。

それぞれの単体の予測精度があまり高くなくても、結果を合成することで高い精度を得ることができる。特に、教師データの特徴に過剰に適合してしまう過学習を防ぎ、未学習のデータに対する精度を向上させることができるとされる。

学習器の組み合わせ方は大きく分けて3つある。「バギング」(bagging:bootstrap aggregating)は複数のモデルに対して、同じ教師データからランダムに抽出した部分集合を教師データとして与えて学習させる。この方法で複数の決定木を訓練する「ランダムフォレスト」がよく知られる。

「ブースティング」(boosting)は、最初にあるモデルを作成し、その予測結果の中から誤答だったデータの重み付けを増して、同じ手法で2回目のモデルを作成する。同様に3回目も2回目が間違えたデータの重みを増して学習させる。このサイクルを何度か繰り返して次第に精度を向上させる。

「スタッキング」(stacking)は、手法の異なるモデルを多数作成し、それぞれに予測を行わせる。予測の結果を集約して、これを特徴量として学習させたメタモデルを作成する。メタモデルに予測させた結果を最終的な出力とする。複数の異なるモデルの強みを活かすことができる。

カーネル

オペレーティングシステム(OS)の中核となるソフトウェア。動作中のプログラムの実行状態を管理したり、ハードウェア資源を管理してプログラムがハードウェアの機能を利用する手段を提供したりする。

カーネルはコンピュータの起動時にブートローダなどによって一番最初に起動され、特権モードなど強い権限を持つ特別な動作モードで実行される。起動後は電源断や再起動まで常駐し続け、プログラムの起動や終了後の後始末(専有していたメモリ領域の回収など)を行う。

CPUやメインメモリ、ストレージ、入出力機器、ネットワークなど、コンピュータを構成するハードウェア資源(デバイス)を管理する。装置の仕様の違いによらず同じ手順でアプリケーションソフトから利用できるよう抽象化された操作手段を提供する。

また、メモリ空間から各プログラムに必要な容量を割り当てたり(メモリ管理)、複数のプログラムを並行して実行できるようCPUが実行するプログラムを短時間ごとに細かく切り替えたり(プロセス管理)、実行中のプログラム間でデータをやりとりする手段(プロセス間通信)を提供したりする。

カーネルがアプリケーションに提供する機能や、それを利用するために呼び出す命令や関数などのことを「システムコール」(system call)あるいは「スーパーバイザコール」(SVC:supervisor call)などという。

モノリシックカーネルとマイクロカーネル

OSの機能をほとんどカーネル内部に取り込み、巨大な単一のカーネルとして機能させる設計方針を「モノリシックカーネル」(monolithic kernel)、カーネルには最低限の機能しか実装せず、大半の機能をモジュール化して外部化する設計方針を「マイクロカーネル」(microkernel)という。

モノリシックカーネルは全体を緊密に連携でき性能上有利だが、一部の問題がシステム全体を巻き込みやすく安定性を確保するのが難しくなる。マイクロカーネルは外部化されたモジュールと通信するための性能上のロス(オーバーヘッド)が生じるが、問題を局所化しやすく部分的な修正や入れ替えなども行いやすい。

両者の特徴を併せ持ち、全体としてはモノリシックカーネルとして設計されているが、限られた一部の機能をモジュール化してユーザー空間で実行するようにした設計を「ハイブリッドカーネル」(hybrid kernel)という。近年のWindowsやmacOSなどがこれに分類される。

カーネルトリック

データ群がそのままでは線形に分離できない場合に、より高い次元の空間上の点に変換し、その空間内での内積を評価して線形分離を行う手法。変換先の空間上での内積を元のデータから直接求める特殊な関数を用いて計算量を大きく削減する。

サポートベクターマシン(SVM)などの機械学習アルゴリズムでは、与えられたデータを2つに分類するため、両者を隔てる超平面を求める。特徴量が2つの2次元のデータなら平面上の直線で、3次元のデータなら空間上の平面で両群を分離することを試みる。

ところが、データの分布の仕方によっては、どのように線や面を引いてもきれいに2つに分離できない場合がある。このとき、各データに一定の演算を行って高い次元のデータ群に変換し、変換後の空間で線形に分離できる場合がある。

例えば、2次元のデータ群が平面上で同心円のリング状に分布していて直線による分離が不可能な場合、これを3次元空間上で円の中心からの距離に比例して奥行きが決まる円錐状の立体(の表面上の点)に変換すれば、円錐を途中で切断する平面によって線形に分離することが可能となる。

高次元への変換と変換後の各点間の距離の算出は計算量が膨大になるが、実際に必要なのは各点間の距離を評価する尺度であるため、変換後の空間におけるベクトル間の内積を元のデータから直に算出できる「カーネル関数」が用いられる。カーネル関数で直に距離を評価してしまい、実際の高次元空間での座標の算出などを省略するテクニックをカーネルトリックと呼ぶ。

回帰問題

機械学習が扱う問題のうち、連続的な量として表される値を予測するもの。長さ、重さ、時間など連続的な尺度で表す数値を予測する問題である。

お手本となるデータの入力と出力の対応関係を学ぶ「教師あり学習」の対象となる問題の一種で、「天候と最高気温から1日のビールの売上を予測する」といったように、数値の大小で表される結果を予測するような問題である。

この場合、「晴れ・32℃→15万円」「雨・16℃→3万円」といった過去の記録を教師データとして機械学習を行い、傾向を学ばせる。予測モデルが生成されたら、「曇・28℃」といった未知の入力を与えると、教師データの傾向に従って「9万円」といった予測値を算出する。

一方、有限の選択肢の集合から最も当てはまる一つを予測するような問題を「分類問題」という。「画像に写っている動物が何かを答える」といったように、未知の入力が教師データに含まれる分類のどれに相当するかを答える問題を指す。

決定木

意思決定や分類、判別、予測などのために作られる、木構造(ツリー構造)のデータや図などのこと。各ノード(枝分かれ)に書かれた条件に従って分岐を辿っていくことにより、末端の葉(リーフノード)に書かれた結論が得られる。

一つの根(ルートノード)から段階的に枝分かれしていく木構造に従って条件が整理されている。途中のそれぞれ枝分かれ(ノード)には一つの条件が書き入れられており、条件を評価してどの枝に進むかを判断する。末端(葉/リーフノード)には最終的な結果や結論が用意されている。

分類を行うものを「分類木」(classification tree)、関数の近似により推論や予測を行うものを「回帰木」(regression tree)という。扱うモデルが単純な場合は人力で木を構成することもでき、「診断チャート」「分類チャート」などの形で日常的にも馴染み深い。データ分析の分野では、学習データを元に機械学習により(巨大な)決定木を自動生成する「決定木学習」(decision tree learning)が研究されている。

決定木学習は、非線形のデータや説明変数の多い(次元の高い)データ、様々な尺度(質的変数か量的変数かなど)が混在しているデータでも扱いやすい、外れ値の影響が小さい、なぜその結論に至ったのか説明しやすいといった利点がある。ただし、分類性能は他の手法より劣ることが多く、線形データが苦手、過学習を起こしやすいといった難点もある。

勾配ブースティング

機械学習の手法の一つで、弱い予測モデルを多数組み合わせて高精度な予測モデルを構築するもの。アンサンブル学習の一種で、誤差を徐々に補正しながら性能を高めていく。

まず比較的単純なモデルを用いて予測を行い、その予測と正解の差(残差)に着目し、その誤差を打ち消すように次のモデルを学習させるという手順を繰り返す。差分は損失関数の勾配として定式化され、この勾配に沿って次のモデルが誤差を減らす方向に修正するよう学習させる。

学習手法としては決定木がよく利用され、各木が担当するのは前のモデルが十分に説明できなかった部分の補完である。モデルが追加されるたびに、それまでのモデルが苦手としていた部分(大きな誤差が生じていたデータ点)の予測精度が改善されていく。追加されたモデルの出力を逐次加算することで、全体として精度の高い予測が可能になる。

誤差の構造に応じて順次学習を進めるため、多様なデータや複雑な関係に対応しやすいとされる。また任意の微分可能な損失関数を利用できるため、回帰や分類など異なるタスクに適用しやすい柔軟性を備えている。さらに、各ステップで学習されるモデルが小規模であることから、個々の学習器が弱くても全体として強い予測性能を発揮する特徴をもつ。

一方で、この手法は逐次的にモデルを追加していく性質上、計算コストが大きくなりやすく、適切なパラメータ設定を怠ると過学習が生じる可能性があるとされる。学習率や木の深さ、モデル数などのハイパーパラメータの調整は結果に影響しやすいため、慎重な設計が求められることが一般的である。

計算効率の改善や過学習抑制を目的とした発展的手法として「XGBoost」「LightGBM」「CatBoost」などが登場し、実務や研究で広く用いられている。これらの手法も基本的な概念は勾配ブースティングに基づいており、より大規模なデータや複雑な特徴を扱う場面で活用されている。

サポートベクターマシン

分類や回帰などの問題に適用できる機械学習モデルの一つで、データを2つのクラスを分離する超平面(2次元の場合は直線)のうち、各データから最も離れているものを決定する手法。教師あり学習モデルの一つ。

2つの特徴量で表される2次元のデータ群を線形モデルを用いて2種類のクラスに分類する場合、2つのデータ群を最もよく分離することができる直線を求めることになるが、SVMではその候補となる線に最も近いデータ点(これをサポートベクターという)からの距離(マージン)を算出し、両クラスのサポートベクターからの距離が最も遠くなる線を選択する。

2次元のデータを直線で分割する場合だけでなく、様々な特徴量を持つ一般の場合について、多次元空間内の超平面によって分割するモデルを得ることができる。カーネル関数という数学上のテクニックを用いることで、線形分離が困難な非線形の分類問題に適用することもできる。

他の手法に比べると、少ないデータ量でも高い精度のモデルを得ることができ、次元(特徴量の数)が増えても識別精度を維持しやすく、パラメータの調整がしやすいなどの利点がある。一方、学習データが増えると計算量が急激に増大する、原理が2クラス分類であるため多クラス分類に適用しにくい、カーネル関数の処理が重いといった難点も指摘されている。

線形回帰

何かの結果を表す数値の系列があるとき、原因と考えられる数値の系列を用いて直線的な比例関係として表すこと。

調査などで得られた様々な数値の組み合わせのうち、着目している数値(目的変数/従属変数)が、他の数値(説明変数)から一次式で算出される線形の関係にある状態を指す。説明変数が一つの場合を「線形単回帰」、複数の場合を「線形重回帰」という。

説明変数を x、目的変数を y とする線形単回帰の場合、2つの変数の関係は y=ax+b という一次関数で近似される。任意の x の値をこの式に代入すれば、未知の y の値を予測・推測できるようになる。

横軸を説明変数、縦軸を目的変数とする散布図で表すと、線形回帰は分布の様子を直線で近似したものと考えることができる。 y=ax+ba は直線の傾きを、 b はy切片を表している。直線の取り方には様々な可能性が考えられるが、実際のデータを表す各点との距離がなるべく小さくなることが望ましく、「最小二乗法」などの計算法で係数 ab の値を決定する。

説明変数 xi において、実測された目的変数は yi、回帰式から求めた予測値は axi+b となる。両者の差である yi-axi-b を2乗し、各点について合計したものを「残差平方和」という。これが最小になるときの a および b を算出すると、xy の平均 x-y- 、標準偏差 SxSy 、相関係数 r を用いて、 b=rSySxa=y--bx- として表すことができる。

なお、「線形回帰」という用語は、説明変数の係数(先の例では a )に対して線形であることを指すことがある。この場合、回帰式に x2 など説明変数の累乗の項が現れる多項式回帰でも、係数が線形ならば線形回帰の一種ということになる。

自己回帰モデル

過去の状態に基づいて未来の状態が決まる時系列の現象をモデル化したもの。経済活動や気象など現実の様々な現象をモデル化することができる。

ある時点tにおけるモデルの状態 Xt が直前(t-1)の状態 Xt-1 のみに依存する場合、定数項 c と係数(パラメータ) ω1、外的要因による影響 εt を用いて Xt=c+ω1Xt-1+εt と記述することができる。

直前だけでなくp回前までの状態に依存する場合、p個の係数 ω1ωp を用いて各回の影響を線形に足し合わせ、Xt=c+ω1Xt-1+ω2Xt-2+…+ωpXt-p+εt = c+i=1pωpXt-i+εt と記述できる。

自然界や人間界には、生物の個体数の増減、天候の変化、交通量の増減、株価の変動のように、過去の状態からの影響と外的な影響の組み合わせで現在の状態が決まる現象が数多くある。自己回帰モデルはこうした時系列に発展する現象をモデル化するのに適している。

単に自己回帰モデルという場合は通常、ある時点における状態を単一の値(スカラ値)で表すモデルを指すが、状態を複数の値を組み合わせたベクトルとして表現するモデルもあり、「ベクトル自己回帰モデル」(VARモデル:Vector Autoregressive model)と呼ばれる。

単回帰分析

2つのデータ系列の間に原因と結果という関係があると考えられるとき、原因のデータから結果のデータを導き出す規則性を明らかにすること。

調査や測定などで2つの変数の関係について得られたデータを元に、結果と考えられる変数(目的変数)が原因と考えられる変数(説明変数)からどのような影響を受けているかを関数(数式)の形で明らかにする。なお、説明変数が複数ある場合の回帰分析は「重回帰分析」という。

例えば、ある飲食店のビールの売上(y)とその日の最高気温(x)についての記録を単回帰分析したところ、定数a、bを用いて y=ax+b という1次関数の形で表されたとする。この関係が分かれば、天気予報を元に仕入れ量を調整することができる。

この例では説明変数と目的変数が1次関数で表される直線的な比例関係にあることを仮定しており、これを「線形回帰」あるいは「直線回帰」という。物事の関係性は比例関係で表されるとは限らず、x2 のような高次の項を含む多項式、指数関数、対数関数、三角関数などが含まれる場合がある。このような正比例以外の関係を含む回帰を総称して「非線形回帰」という。

統計値などから単回帰分析を行う場合、各標本は誤差を含んで一定の範囲にばらついているため、数値計算を繰り返して関数のパラメータ(係数)を推定する。代表的な手法として「最小二乗法」がよく知られ、回帰式から得られる値と各標本の実際の値の誤差を二乗して足し合わせた値が最小になるよう係数を決定する。

重回帰分析

3つ以上のデータ系列の間に原因と結果という関係があると考えられるとき、複数の原因のデータから結果のデータを導き出す規則性を明らかにすること。

調査や測定などで3つ以上の変数の関係について得られたデータを元に、結果と考えられる1つの変数(目的変数)が、原因と考えられる複数の変数(説明変数)からどのような影響を受けているかを関数(数式)の形で明らかにする。なお、説明変数が1つの場合の回帰分析は「単回帰分析」という。

例えば、ある飲食店のビールの売上(z)とその日の最高気温(x)、降水量(y)についての記録を重回帰分析したところ、定数a、b、cを用いて z=ax+by+c という1次関数の形で表されたとする。この関係が分かれば、天気予報を元に仕入れ量を調整することができる。

この例では説明変数と目的変数が1次関数で表される直線的な比例関係にあることを仮定しており、これを「線形回帰」あるいは「直線回帰」という。物事の関係性は比例関係で表されるとは限らず、x2 のような高次の項を含む多項式、指数関数、対数関数、三角関数などが含まれる場合がある。このような正比例以外の関係を含む回帰を総称して「非線形回帰」という。

通常、複数の説明変数はそれぞれ独立に変動するものが選択されるが、説明変数が多いほど精緻な予測ができると期待される場合などには、互いに強い相関関係を持つ説明変数の組み合わせが採用されてしまう場合もある。そのような状態を「多重共線性」と呼び、データの増減に対して係数が不規則に大きく変化する。

多クラス分類

機械学習における分類問題のうち、3つ以上の区分(クラス)の中から当てはまる1つを予測するもの。何が写っているのか判別する画像認識などが該当する。

分類問題は入力が選択肢のどれに当てはまるかを予測する問題で、「○か×か」「良品か不良品か」など2つの区分のどちらなのかを判別するものを「2クラス分類」、「画像に写っている動物はなにか」「この顔の人物は誰か」など3つ以上の中から1つを選択するものを「多クラス分類」という。

分類が2クラスの場合はロジスティック回帰などを用いて、出力値が閾値を超えたか否かでどちらなのかを判別することができる。これを拡張し、クラスの数だけ「~か否か」の2クラス分類を繰り返して最も当てはまったものを答える多クラス分類手法があり、「One-vs-Rest」(OVR/一対他)あるいは「One-vs-All」という。

似たアプローチで、2つのクラスのすべての組み合わせについて、そのどちらなのか判別する分類器を作る手法を「One-vs-One」(OVO/一対一)という。すべての組について判別を行い、最も投票の多かったクラスを出力とする。C個のクラスで C(C-1)2 回の分類を繰り返すことになるが、似たクラス間の分類に強いなどの利点がある。

一方、「ワンホットエンコーディング」(One-Hot Encoding)という手法で分類を表すデータを数値の組み合わせに変換し、多項ロジスティック回帰などを用いていっぺんに当てはまるクラスを求める方式もある。結果はソフトマックス関数を用いて「犬:0.8、猫:0.15、馬:0.05」のように候補と確信度(0~1の数値)の組み合わせで表される。

バギング

機械学習におけるアンサンブル学習の一種で、教師データからランダムに抽出した部分集合を複数用意し、それぞれで学習したモデルを用意する方式。複数のモデルの結果を多数決したり平均することで最終的な結果を得る。

アンサンブル学習は機械学習の精度や安定性を向上させるテクニックの一つで、方式や教師データの異なる複数のモデルを作って組み合わせる。バギングでは同じ手法で異なるデータを学習した複数のモデルを作り、結果を総合して最終的な出力とする。

バギングではまず、教師データからランダムにデータを抽出し、小さなデータセットを複数作成する。このとき、同じセットに同じデータが複数回現れることも許容する。この抽出法を「ブートストラップサンプリング」(ブートストラップ法)という。

次に、同じ機械学習システムにそれぞれのデータセットを与え、複数のモデルを作成する。予測をさせる際には未知のデータをそれぞれのモデルに与え、得られた結果を多数決(分類問題)あるいは平均(回帰問題)することによって、最終的な結果とする。

1994年にアメリカの統計学者レオ・ブライマン(Leo Breiman)氏によって考案された手法である。複数のデータセットに分けて多数決を取ることで、教師データに含まれるノイズによる結果のばらつき(バリアンス)を抑える効果があり、過学習を抑制することもできる。様々な学習手法に適用可能だが、決定木と組み合わせた「ランダムフォレスト」が特によく知られる。

ブースティング

機械学習におけるアンサンブル学習の一種で、モデルが予測を間違えたデータの重み付けを増してモデルを再構築するというプロセスを繰り返し、精度を向上させていく方式。

アンサンブル学習は機械学習の精度や安定性を向上させるテクニックの一つで、方式や教師データの異なる複数のモデルを作って組み合わせる。ブースティングは同じ手法でモデルの再構築を繰り返す手法で、前回の誤りに正解できるようにパラメータを調整していく。

最初に、用意した教師データで訓練した、基本となるモデルを作成する。このモデルにデータを与えて予測させ、不正解だったデータの重みを増して次のモデルの教師データに反映する。同様に、2番目のモデルが誤ったデータの重みを増して3番目のモデルを学習させる。

このプロセスを繰り返して複数のモデルを作成する。予測を行う際には、基本モデルから最終モデルまですべてのモデルにデータを与えて予測させ、各モデルの出力した値の重み付け平均を取るなどして一つに統合し、最終的な結果とする。

ブースティングは予測と正解のズレ(バイアス)を減らし、精度の改善が期待できるが、教師データに過剰に適合する過学習を起こしやすいとされる。モデル生成を逐次的(直列的)に順番に行うため、学習に時間がかかる難点もある。具体的な手順の違いにより、勾配ブースティング、AdaBoost、XGBoost、LightGBMなど様々なアルゴリズムが提唱されている。

ブートストラップサンプリング

母集団となるデータセットから複数の部分集合(サブセット)を作成する手法の一つ。母集団から重複を許して無作為に標本を抽出する方式。母集団の統計量の推定や機械学習に応用される。

母集団からランダムに標本を抽出し、母集団と同じ数あるいは少ない数のサブセットを作成する。抽出時には同じデータが複数回繰り返し抽出されることも許容する。抽出した標本は母集団に戻して(復元抽出)、同じ手順で次のサブセットの作成を行う。同じデータが複数のサブセットに繰り返し登場する可能性がある。

統計解析では、ブートストラップ法で抽出したサブセットに対して平均や分散、標準偏差などの統計量を算出する。何度も繰り返し抽出と算出を繰り返すことで、母集団の特徴を反映した統計量の分布を得ることができる。

統計量の分布を分析することで、母集団から一回限り算出した値よりも信頼性の高い結果を得ることができる。これは母集団の標本数が少ない場合に特に有効である。また、母集団に対して正規分布など特定の分布を仮定しなくても信頼区間の推定などを行うことができる。

機械学習では、同じモデルを複数の方法やデータセットで繰り返し作成する「アンサンブル学習」に応用される。教師データからブートストラップ法で抽出したサブセットで訓練したモデルを複数作成し、それぞれの出力を平均や多数決で統合して最終的な結果を得る。この手法を「バギング」(bootstrap aggregating)と呼び、決定木と組み合わせた「ランダムフォレスト」が特によく知られている。

分類問題

機械学習が扱う問題のうち、有限の選択肢の集合から最も当てはまる一つを予測するもの。飛び飛びの値を取る離散値を予測する問題として記述される。

お手本となるデータの入力と出力の対応関係を学ぶ「教師あり学習」の対象となる問題の一種で、「画像に写っている動物が何かを答える」といったように、未知の入力が教師データに含まれる分類の何に該当するかを予測するような問題である。

この場合、「猫」のラベルが付いた猫の画像、「犬」のラベルが付いた犬の画像などを教師データとして機械学習し、どのような特徴がある画像がどのラベルに対応するのかを学ばせる。予測モデルが生成されたら、未知の犬の画像を与えると「犬」といった対応するラベルを予測する。「犬:90%、猫:10%」といったように候補と確信度を予測する方式もある。

一方、連続的な量として表される数値を予測するような問題を「回帰問題」という。「天候と最高気温から1日のビールの売上を予測する」といったように、未知の入力に対して教師データの傾向を当てはめ、数値の大小で表されるような結果を予測する問題を指す。

ベクトル自己回帰モデル

過去の複数の項目の状態が互いに影響しあって未来の状態が決まる時系列の現象をモデル化したもの。経済活動や気象など現実の様々な現象をモデル化することができる。

過去の自身の状態と外部からの影響で現在の状態が決まる現象をモデル化したものを「自己回帰モデル」(ARモデル:arutoregressive model)という。単純な自己回帰モデルは状態を一つの変数で表すが、ベクトル自己回帰モデルはこれを拡張し、複数の変数からなるベクトルで状態を表す。

ある時点tにおけるモデルの状態を表すベクトル Xt が直前(t-1)の状態 Xt-1 のみに依存する場合、定数項 c と係数(パラメータ)の行列 A1、外的要因による影響 εt を用いて Xt=c+A1Xt-1+εt と記述することができる。ベクトルがk個の変数で表される場合、変数間の影響を表すために係数Aは定数をk×k個並べた行列となる。

直前だけでなくp回前までの状態に依存する場合、p個の係数行列 A1Ap を用いて各回の影響を線形に足し合わせ、Xt=c+A1Xt-1+A2Xt-2+…+ApXt-p+εt = c+i=1pApXt-i+εt と記述できる。

自然界や人間界には、複数の要因が互いに影響を与え合って時系列に変化を引き起こす現象が多数ある。例えば、天候の変化は各地点における気温、温度、湿度、風力、風向、日照などの様々な要因が互いに影響し合って生じる。ベクトル自己回帰モデルはこのような複雑な状況をモデル化するのに役立つ。

単変量の自己回帰モデルは主にその変数の将来の予測に用いられるが、ベクトル自己回帰モデルは予測だけでなく複数の変数間の関係の解析にも用いられる。例えば、ある変数が別の変数に影響を与えているかどうかを調べたり(グレンジャー因果検定)、ある変数に生じた変化が時間経過に従って他の変数にどのように波及するかを調べたり(インパルス応答解析)することができる。

マージン最大化

データ群を境界を境に2つの区分(クラス)に分類する際、境界と境界に最も近い点の距離が最大になるように境界を決定すること。

サポートベクターマシン(SVM)などの機械学習アルゴリズムでは、与えられたデータを2つに分類するため、両者を隔てる超平面を求める。特徴量が2つの2次元のデータなら平面上の直線で、3次元のデータなら空間上の平面で両群を分離することを試みる。

境界は2つの群を隔てる空間に任意に引くことができるが、境界から最も近いデータ点(これをサポートベクターという)からの距離を計測し、両群のサポートベクターからの距離が最も遠い境界を選択する。サポートベクターと境界との距離をマージンと呼び、これが最大となるように境界を選ぶことから「マージン最大化」という。

境界とデータ点との距離が離れていれば、未知のデータが入力された際に誤って反対側のクラスに分類してしまう誤判定を抑制することができ、汎化性能を高めることができる。また、学習データに過剰に適合しすぎて、少しでも異なるデータが与えられると誤判定してしまう過学習を防ぐことにも繋がる。

学習データに含まれるすべてのデータ点を完全に分離できるようにマージンを求める方針を「ハードマージン」、わずかな誤りを許容して大半の点を分離するようマージンを求める方針を「ソフトマージン」という。点の分布に重なりがあるようなデータ群の場合はハードマージンでは境界を決定できなくなってしまうため、ソフトマージンを選択する。

ランダムフォレスト

機械学習のアルゴリズムの一つで、同じデータから多数の決定木(デシジョンツリー)を作り、各ツリーから得られた結果から多数決や平均を取って最終的な結果とする手法。

決定木は分類や回帰を行うことができるアルゴリズムの一つで、一つの根(ルートノード)から段階的に枝分かれしていく木構造(ツリー)に従って条件を整理する。各ノード(枝分かれ)に書かれた条件に従って分岐を辿っていくことにより、末端の葉(リーフノード)に書かれた結論が得られる。

ランダムフォレストでは、学習したいデータからランダムに抽出したデータの組を多数用意して、それぞれについて決定木を作成する。評価を行う際には同じ入力をすべての木に与え、それぞれ得られた結果を平均したり、最も多かった結果を残すなどして最終的な結論を得る。

複数の機械学習アルゴリズムを組み合わせるアンサンブル学習の一種で、単体の決定木は過学習しやすいという弱点を補うことができる。学習や評価を高速に行うことができ、説明変数が多い場合の性能も良好、各変数の寄与度合いを説明できるといった特徴もある。

ロジスティック回帰

回帰分析の手法の一つで、目的変数が0と1のいずれか、あるいは0から1の間の値を取るような場合に、これを説明変数を用いた式で表す方式。

合格と不合格、○と×、表と裏のように、結果が2つの状態のいずれかで表される問題や、0%から100%の確率で表される問題について、説明変数から結果を予測できるようにする分析手法である。任意の値を取る説明変数から、0~1の間の値を得る予測値を算出する。

目的変数 y について、説明変数 x が1つの場合、係数 αβ 、自然対数の底(ネイピア数) e 用いて、y=11+e-(αx+β) という式で表される。説明変数が複数の場合は、e の指数部分がそれぞれの係数を用いて α1x1+α2x2++αnxn という線形結合で表される。

これをグラフで表すと、説明変数 x は任意の実数を取ることができる一方、x が小さくなるほど目的変数 y は0へ近づき、x が大きくなるほど y は1.0へ近づく。目的変数は成功確率の予測値と捉えることができ、「0.5以上なら成功、未満なら失敗」といったように、途中のどこかに閾値を設けることで2値の分類を行うこともできる。

教師なし学習

機械学習の手法の一つで、人間が基準や正解を与えずに学習データを分析させ、システムが自律的に何らかの規則性や傾向を見出す手法。

与えられたデータ群を何らかの目的をもって解析し、特徴の似たデータのグループ分けなどを行えるようにする。人間が示した基準に従っているわけではないため、得られた結果が何を意味するかは人間の解釈を必要とする。

具体的な手法としては、データ群を似た特徴の集団に分類する「クラスター分析」(データクラスタリング)、多数の説明変数を要約して少ない変数で同じ傾向を説明できるようにする「主成分分析」、複数の項目間に潜在する関連性を見つけ出す「アソシエーション分析」などがある。

人間にも正解が分からない課題についての知見を得たい場合や、大量のデータから規則性を探索したい場合などに有効な手法で、データの前処理が少なく現実世界にある多様な大量のデータを素材にできる反面、人間にとって有用な結果が得られるよう制御するのが難しく精度も安定させにくいなどの課題がある。

一方、人間があらかじめ「例題と正解のペア」という形式に整理した学習データ(教師データ)を利用してモデルを訓練する手法を「教師あり学習」(supervised learning)、決まった正解は存在しないが出力結果に対する評価は存在し、好ましい評価を得るために出力を調整していく手法を「強化学習」(reinforcement learning)という。

k-means法

データ群を決められた個数の同類のグループに分類する手法の一つ。最初はランダムにグループを割り当て、各グループの重心の計算と、最も重心が近いグループへの移籍を繰り返すことで徐々に近いもの同士を集めていく方式。

与えられたデータ群を近いもの同士のグループに自動的に分類するデータ解析手法を「クラスタリング」という。似た者同士のグループを「クラスタ」という。分類の基準は与えずに、値の分布から近いものを集めるため、機械学習の手法としては「教師なし学習」に分類される。

k-means法は、あらかじめ与えられたk個のクラスタにデータを分類する手法である。最初にすべてのデータをランダムにいずれかのクラスタに所属させる。各クラスタに所属するデータ群の各変数の平均値を取ると、その時点のクラスタの重心(中心と呼ぶこともある)を求めることができる。

すべてのデータについて、各クラスタの重心との距離を求め、自らと最も重心が近いクラスタへ移籍する。その後、再び各クラスタの重心を求め、各データは最も重心が近いクラスタへ移籍する。この重心の算出と移籍を繰り返すと、次第に近いデータ同士のクラスタが形成される。移籍するデータの数が規定の値を下回るなど、何らかの基準を設けて繰り返しを打ち切る。

重心の算出には通常は算術平均を用いるが、データの特性に応じて他の方法を用いてもよい。いくつのクラスタに分類するか(kの値)は事前に人間が決める必要があり、適切なクラスタ数を自動的に決める仕組みは提供されない。最初のランダムな割り当て(の偏り方)によって最終的な結果も影響を受けることが知られており、安定性を高めるため、k-means法自体を何度も繰り返して結果を平均するといった手法が用いられることがある。

t-SNE

高次元データの構造を保ちながら二次元や三次元に可視化する次元削減の手法の一つ。データ同士の近さを確率的に表現し、その関係を低次元空間でも再現する。探索的データ分析において、高次元データのクラスタ構造や類似性を視覚的に理解するための手段として広く用いられている。

統計解析や機械学習では、一つのデータ点を複数の項目で表現する。項目の数を次元と呼び、2つや3つで表現されるデータはそのまま平面や立体に対応付けてグラフなどに描画することができるが、4つ以上の多数の項目で構成される場合にはそのまま視覚化することができず、何らかの方法で次元を削減しなければならない。t-SNEは高次元のデータ同士の近さを低次元でもなるべく再現するように変換することができる。

変換手法

t-SNEでは、まず高次元空間におけるデータ点同士の距離を基に、近い点ほど高い確率で隣り合うような分布を定義するところから始まる。具体的には、各データ点を中心とした確率分布を設定し、その分布に基づき点同士の類似度を数値化する。

変換先となる低次元空間の側でも同様に確率分布を定義し、高次元での類似度と低次元での類似度が一致するように配置を調整する。この調整は確率分布間の差を測る指標である「カルバック・ライブラー情報量」(KLダイバージェンス)という指標を最小化する方向に行われ、勾配降下法を用いて位置が更新される。

特徴

t-SNEの性質として、局所構造を強調する点が挙げられる。これは、高次元空間で近接している点同士が低次元空間でもまとまりとして表れやすく、クラスタとみなせる構造が視覚的に捉えやすくなることを意味する。

また、類似度を表現する確率分布として、高次元ではよく知られるガウス分布(正規分布)を、低次元では「スチューデントのt分布」と呼ばれる連続確率分布を用いる点も重要である。t分布はガウス分布などに比べ裾が厚いため、遠く離れた点が過度に近づくことを防ぎ、全体の配置を安定させることができる。

一方で、分布全体の大域的な構造の保持が必ずしも得意ではなく、遠い距離にある関係が低次元側で適切な位置関係として反映されない場合がある。また、計算量が比較的大きいため、大規模データへの適用には工夫が必要となることが多い。初期値やハイパーパラメータの影響を受けやすく、適切な値を選ぶことが重要とされる。

ウォード法

データ群を近いもの同士で階層的にグループ化する手法の一つ。最初は一つのデータが一つのグループで、最も近いグループ同士を順に統合していって大きなグループを形成する。

与えられたデータ群を近いもの同士のグループに自動的に分類するデータ解析手法を「クラスタリング」という。似た者同士のグループを「クラスタ」という。分類の基準は与えずに、値の分布から近いものを集めるため、機械学習の手法としては「教師なし学習」に分類される。

ウォード法では、まず一つのデータが一つのクラスタに属する状態からスタートする。すべての2つのデータの組み合わせについて、分散(平方和)を算出し、最も分散が小さくなるようなペアを一つのクラスタに統合する。次に、ペア同士の組み合わせについて同様に分散を比較し、最も小さくなる組み合わせを統合する。

このプロセスを繰り返して、あらかじめ決められたクラスタ数になるか、全体が一つのクラスタに統合されたら終了となる。各クラスタの中には、統合前の小さなクラスタが複数含まれるため、クラスタを階層的に表すことができる。これを樹形図に表したものを「デンドログラム」(dendrogram)という。

協調フィルタリング

ネットサービスなどで提供する情報を利用者ごとに自動的に最適化する手法の一つで、過去の行動記録などから嗜好などが似ている別の利用者を探し、その人(達)が求めた情報を提示する方式。

例えば、オンラインショップでは個々の利用者の過去の購入履歴や商品ページの閲覧履歴などを記録しているが、ある利用者Aと似た履歴を持つ利用者Bを見つけ、Bが購入した商品の中からAが未購入の商品を「おすすめ」として表示する。リコメンデーションやパーソナライズなどの機能を実装するための有力な手法として広く普及している。

利用者間の類似度の判定には相関分析などの統計的な手法が用いられる。類似する利用者は一人に限られず、ある程度以上似ている利用者グループの履歴を分析し、多くが共通して関心を示しているものを「より適している」と判定するなどの工夫が行われることもある。

一方、利用者が閲覧した内容と似た属性を持つ別の内容を推薦する方式は「コンテンツベースフィルタリング」(content-based filtering)という。協調フィルタリングは利用者ごとの履歴のみを利用し、提供内容自体の情報は用いないため、内容を選ばず適用でき、汎用的なシステムやプログラムで実装できる利点がある。

ただし、利用者が少ないサービス開始直後や、利用者がまだ何の行動も起こしていない加入直後には履歴情報が足りずにうまく機能しない「コールドスタート問題」という難点もある。実際のネットサービスでは、推薦の精度や多様性を向上させるため、一定のルールに基づいて協調フィルタリングとコンテンツベースフィルタリングを併用することも多い。

クラスタリング

同じ種類のものを複数集めて一つにする操作や仕組みのこと。情報システム分野では複数のコンピュータを繋いで一体的に運用する仕組みを、データ解析分野では多数のデータ群を似た特徴を持つ集団に分類する手法を指す。

コンピュータクラスタ

情報システム分野では、同じ構成の複数のコンピュータを相互接続し、外部に対して全体で一台のコンピュータであるかのように振る舞わせることをクラスタリング、そのような構成のシステムを「コンピュータクラスタ」という。並列処理による性能の向上、多重化による信頼性の向上を図ることができる。

オペレーティングシステム(OS)などの機能として提供され、一般的なコンピュータ製品とネットワーク(LAN)で利用できる簡易なものから、専用のハードウェアや接続インターフェース(インターコネクト)により構成される高度な製品まで様々な方式がある。

コンピュータ間の接続や連携などは専用のクラスタソフトが行い、利用者やソフトウェアからは一台のコンピュータとして通常と同じ方法で操作・使用することができる。クラスタリング技術により連結されたコンピュータ群を「クラスタシステム」あるいは「コンピュータクラスタ」という。

クラスタリングを行う目的によって機器の構成や運用手法は異なる。「HPCクラスタ」(High Performance Computing cluster)はスーパーコンピュータなどの構成法の一つで、多数のノードを連結して並列処理を行わせることで一台の高性能コンピュータとして運用する方式である。

「HAクラスタ」(High Availability cluster)は機器を複数用意することで可用性(availability)を高める方式で、稼働中に一台が故障してもシステムを運用したまま交換することができる。

このうち、全ノードを同時に稼働させ処理を分散する構成を「アクティブ/アクティブ構成」あるいは「負荷分散クラスタ」、いずれか一系統を通常時の稼働系として停止時には待機系に即座に移行して稼働を続行する構成を「アクティブ/スタンバイ構成」あるいは「フェイルオーバークラスタ」という。

データクラスタリング

統計学などにおけるデータ解析手法の一つで、多数のデータ群を何らかの尺度に基づいて似た特徴を持つ集団に分類する手法を「データクラスタリング」(data clustering)あるいは「クラスター分析」(cluster analysis)というが、文脈によってはこれを略して単にクラスタリングということがある。

コールドスタート問題

過去の記録や履歴を利用するシステムなどで、開始直後には十分なデータが蓄積されていないために正しく機能しない問題。ネットサービスのレコメンド機能などで見られる。

例えば、ECサイトの「おすすめ」表示機能として、過去に蓄積された利用者の購入履歴を分析して、似た属性の別の利用者の購入した商品を推薦する「協調フィルタリング」が用いられることがあるが、サービス開始直後は履歴データが蓄積されていないため、推薦が正しく機能しない。これをコールドスタート問題という。

サービスの開始直後はすべての利用者で履歴が存在しないため全般的に推薦が機能しないが、データの蓄積が進んでも、新たな利用者の登録直後はまだ何も購入していないため、その利用者についての推薦が機能しない場合がある。また、商品の属性情報を利用する場合でも、購入者の評価やレビューを利用している場合は、販売開始直後の商品について同様の問題が生じる。

コールドスタート問題を緩和するため、履歴がなくても利用できる商品の属性情報を分析して、共通点のある商品を推薦する「コンテンツベースフィルタリング」を併用したり、利用者の加入時にプロフィール情報を入力してもらい、新規利用者にはプロフィールに共通点のある利用者の履歴から商品を推薦するなどの手法が用いられることがある。

コンテンツベースフィルタリング

ネットサービスなどで提供する情報を利用者ごとに自動的に最適化する手法の一つ。提供する各内容についてその特徴を表す属性情報を与え、ある内容を見た人に似た特徴を持つ内容を提示する方式。

例えば、オンラインショップでは個々の利用者の過去の購入履歴や商品ページの閲覧履歴などを記録しているが、ある商品のページを見た人に、製品カテゴリーやメーカー、価格帯、想定顧客などが近い別の商品を「おすすめ」として表示する。

商品などの提供内容には、あらかじめ同じ項目や基準で属性情報を付与しておく必要がある。内容間の類似度の判定にはコサイン類似度などの統計的な手法が用いられる。リコメンデーションやパーソナライズなどの機能を実装するための有力な手法として広く普及している。

一方、似た属性を持つ別の利用者の履歴を統計的に分析して、好みそうな内容を推薦する手法は「協調フィルタリング」(collaborative filtering)という。コンテンツベースフィルタリングは提供内容の属性情報があれば良いため、履歴情報が十分に蓄積されないと推薦が機能しない「コールドスタート問題」を回避することができる。

ただし、利用者の行動データは利用できないため、属性情報から直接推測することができない利用者共通の嗜好などは見逃してしまう。実際のネットサービスでは、推薦の精度や多様性を向上させるため、一定のルールに基づいてコンテンツベースフィルタリングと協調フィルタリングを併用することも多い。

主成分分析

統計学の多変量解析の手法の一つで、多数の説明変数の中からよく相関している組み合わせを見つけ出し、一つの合成変数に置き換えて変数の数を減らすこと。次元を圧縮してモデルを単純化することができる。

例えば、様々な科目のテスト結果からデータモデルを作る場合、各科目の得点をそのまま説明変数とすると極めて多次元のモデルになり、分析が困難になる場合がある。このとき、数学の得点Smと物理の得点Spに強い相関があるとすると、係数PmとPpを適当に定めて Smp = PmSm + PpSp と一つの値で代表させてしまうことで、変数の数を減らすことができる。

Smpを第1主成分と呼び、PmとPpは分散を最大化するように算出される。続いて、Smpと直行する組み合わせの中から「国語と英語」のように別の主成分を見つけ出し、第2主成分とする。このプロセスを繰り返して変数の数を削減していく。一つの主成分が3変数以上の合成になることもあり、この例の「数学と物理の総合得点」のような明快な意味付けが難しい組み合わせになることもある。

主成分が含んでいる情報の大きさを「固有値」、その主成分でデータ全体のどのくらいの割合を説明できるかを「寄与率」という。第1主成分から第2、第3…と順に寄与率を累積していった値を「累積寄与率」と呼び、実用上は十分高い累積寄与率(例えば80%)に達したら残りの主成分は無視する。

潜在的ディリクレ配分法

与えられた文書群を解析して主題(トピック)を抽出し、文書を主題ごとに分類する手法の一つ。文書の内容に潜在的に含まれる主題を抽出する「トピックモデル」の代表的な手法で、単にトピックモデルと言えばこれを指すことが多い。

ここで言うトピックとは、一つの主題を形成していると考えられる、互いに強く関連する単語の集合である。例えば、「散歩」「リード」「しつけ」などの単語が複数の文書に共通して高頻度で現れる場合、これらを「犬」に関連するトピックとしてまとめることができる。

潜在的ディリクレ配分法では、一つの文書は複数のトピックの単語が混在して生成されていると考える。単語自体が複数のトピックにまたがって含まれている可能性があり、トピック内での単語の出現頻度には偏りがあると仮定する。また、ほとんどの文書は一つあるいは少数のトピックのみを含むと考える。

こうした仮定を元に、トピックの数、各文書のトピックの分布、トピック内の単語の分布などをパラメータとして統計的なモデルを構築し、実際の文書群の文字データから逆算して適切なパラメータの値を推定する。推定にはディリクレ分布やベイズ推定、EM法などの統計的な手法が用いられる。

もとは遺伝学で共通のDNA断片を持つ生物群を分類するための手法として考案された。データに含まれるパターンがトピックを形成する構造を持っていれば解析対象はテキストデータである必要はなく、心理学や社会学などにも応用されている。IT分野では、業務システムにおける大量の文書データの自動分類や検索、ネットサービスにおける類似コンテンツの推薦などに応用されている。

多次元尺度構成法

多数の項目からなるデータ群を低次元のデータに変換し、類似するデータが近くに配置されるように整理する手法。2次元または3次元の図としてデータの分布を表現することができる。

多数の値の組み合わせとして表現されるデータの関係を分析する多変量解析の一種で、多次元のデータの分布を低次元の図として視覚的に表すことができる。もとの次元で似ているデータ同士は低次元への変換後も近くに、類似点の乏しいデータは遠くになるように配置される。

具体的な計算法には様々なものが提唱されており、最初に提案された計算法は「主座標分析」(PCoA:Principal Coordinate Analysis)とも呼ばれる。項目間の近さを数値的(比例尺度および間隔尺度)に表すことができる場合に用いられる「軽量多次元尺度構成法」と、順序尺度で表される場合に用いられる「非計量多次元尺度構成法」に分かれる。

多次元尺度構成法によって多数の項目間の距離関係を俯瞰できる「ポジショニングマップ」を作成することができる。主成分分析(PCA)も高次元のデータを低次元に変換できるが、こちらは次元削減後のデータをさらに解析したり機械学習したい場合などに用いる。クラスター分析も似た項目を把握できるが、多次元尺度構成法ではグループ分けは行わない。

デンドログラム

多数の項目の階層的なグループ分けを、樹形図(木構造)を用いて図示したもの。グループ同士の包含関係やグループ同士の近さを視覚的に表すことができる。

個別の項目や最小のグループを一方の端に一列に並べる。その隣に、統合された小さなグループを並べ、含まれる項目やグループを線で結ぶ。このプロセスを繰り返し、少しずつ大きなグループに統合していく。最終的に、反対側の端で大きな単一のグループに結ばれる。

右端から左に向かって統合していく記法と、下端から上に向かって統合していく記法がよく用いられる。分野によっては、グループが置かれた位置(下端あるいは左端からの距離)で、類似度など何らかの数値的な指標を表すこともある。

デンドログラムは複雑な階層的な分類を一覧することができ、データ解析の分野では「階層的クラスタリング」と組み合わせてクラスタ間の関係を図示するのに用いられる。生物学で生物の分類をデンドログラムで表したものは特に「系統樹」と呼ばれることもある。

特異値分解

線形代数の行列計算の手法の一つで、任意の行列を3つの特別な行列に分解し、その構造を理解しやすくするもの。行列の性質を明らかにする基礎技術としてデータ解析や機械学習で広く利用されている方法である。

基本的な形は、任意の m×n 行列 A を、A=UΣV という3つの行列の積に分解することである。ここで、Um×r の行列で、データの行方向の構造を捉える。Vr×n の行列であり、データの列方向の構造を捉えている。rはmとnのうち小さい方である。

最も重要なのが中央の Σ で、r×r の対角行列である。対角成分には「特異値」と呼ばれる非負の値が大きい順に並んでいる。特異値は行列が持つ変換の強さや特徴量の重要度を示す尺度として扱われる。特異値が大きいほどデータの広がりや情報量が大きい方向を表し、小さい特異値は寄与の小さな方向を示すとされる。

特異値分解の用途

統計解析や機械学習では、次元削減の一種である主成分分析(PCA)の基礎として利用されることがある。主成分分析ではデータの分散が大きい方向を抽出するが、この方向を求める計算に特異値分解が用いられることが多い。特異値を基準に重要度の低い成分を削減することで、データの本質を保ちながら次元を圧縮できるため、機械学習モデルの前処理としても有効である。

画像や自然言語など高次元データの圧縮にも応用され、画像を行列として扱い、特異値の大きい成分のみを残すことで情報の大部分を保ちつつデータ量を削減する方法として知られている。また、レコメンデーションシステムでは利用者とアイテムの行列を特異値分解で分解し、少ない特異値で近似することで、潜在的な好みの要因を抽出し、まだ評価していないアイテムのスコアを予測するために利用されている。

トピックモデル

テキストデータを解析して主題を抽出し、文書を主題ごとに分類する手法。主題を共有している文書群は内容が似ているとみなすことができ、大量の文書の整理、記事の推薦などに応用することができる。

文書は潜在的に何らかの主題(トピック)を含んでいると考える。様々な文書に共通する単語やフレーズの出現頻度などを元に自動的にトピックを発見し、どの文書にどのトピックがどの程度あてはまるかを調べる。機械学習の手法としては、事前に分類の仕方を教えない「教師なし学習」に分類される。

例えば、散歩、リード、しつけなどの単語が高頻度で出現する文書は「犬」に関連するトピックとしてまとめることができる。このようなトピックを形成する単語群を統計的な手法で文書群から抽出し、同じトピックを共有している文書をグループ化(クラスタ化)する。

1980年代に「潜在的意味解析」(LSA:Latent Semantic Analysis)という手法が考案され、これを発展させた「確率的潜在意味解析」(PLSA:Probabilistic LSA)、さらに一般化された「潜在的ディリクレ配分法」(LDA:Latent Dirichlet Allocation)がよく知られる。近年ではニューラルネットワークを利用した機械学習によってトピックモデルを構築する手法が広まっている。

トピックモデルは遺伝学や心理学、社会学など統計的な分析手法を駆使する学問分野で用いられることがある。IT分野では、業務システムにおける大量の文書の自動整理システムや関連文書の検索システム、ネットサービスにおける大量の記事の自動分類、利用者へ似たコンテンツを推薦するレコメンドシステムなどに応用されている。

強化学習

機械学習の手法の一つで、システムの行動に対して評価(報酬)が与えられ、行動の試行錯誤を繰り返して評価を最大化するような行動パターンを学習させるもの。機械の制御や競技、ゲームなどを行うAIの訓練に適している。

他の学習手法と異なり、人間がまとまった形で学習データを与えることはせず、システムには自身が現在置かれている環境や状態および可能な行動の選択肢と、行動(出力)に対する評価が与えられる。システムは現在の状況を入力として行動を選択し、得られた評価を元に好ましい行動を学んでいく。

実際には、行動一回ごとにその良し悪しを評価する仕組みを用意するのは非現実的なことが多いため、連続して行動を起こした結果何らかの目標を達成(対戦に勝利する等)した場合に、遡って一連の行動に良い評価を与えるという設計にすることが多い。

近年ではニューラルネットワークの階層を深くしたディープラーニングに強化学習を組み合わせることで非常に複雑なタスクの自動化が可能なことが示され、注目が集まっている。システムが環境に働きかけて試行錯誤を行える状況に適しており、囲碁や将棋、ビデオゲームなどのプレイ、自動運転、ロボット制御などへの適用事例がよく知られる。

価値関数

強化学習において、現在の状態や次に取る行動の選択肢にどのくらい価値があるのかを算出する関数。状態や行動から将来得られる報酬の期待値を数値の大小で表現する。

強化学習とは機械学習の手法の一つで、システムの行動に対して評価(報酬)が与えられ、行動の試行錯誤を繰り返して評価を最大化するような行動パターンを学習させる手法である。機械の制御や競技、ゲームなどを行うAIの訓練に適している。

強化学習ではボードゲームでいう盤面に相当する「状態」と、指し手に相当する「行動」の組み合わせで対象をモデル化する。コンピュータが一手ずつ行動するたびに状態が変化していき、目的に対して有利な状況になったり不利な状況になったりする。ゴールの状態に達することを目指して有利な行動を学習する。

価値関数は、ある状態や行動が「どのくらい良いか」を数値として与える関数で、特定の状態や行動を入力として与えると、将来に渡って得られる報酬を積算したものの期待値を返す。将来の報酬は一手遡るごとに特定の割引率に従って割り引かれ、遠い将来の報酬は小さく、近い将来の報酬は大きく評価される。

価値関数のうち、ある状態sの価値を算出するものを「状態価値関数」と呼び、慣習的に V(s) と書き表す。一方、ある状態sにおける行動aの価値を算出するものは「行動価値関数」と呼ばれ、こちらは慣習的に Q(s,a) と表す。行動価値関数の評価値のことを「Q値」と呼ぶことがある。

Actor-Critic

強化学習で最適な行動を学習させる手法の一つで、行動指針に基づいて行動の選択を行うモデルと、行動の価値を評価するモデルの二者が協調して学習を進めるもの。強化学習の有力な二手法である価値関数と方策勾配法の両方を組み合わせた方式である。

強化学習とは

強化学習とは機械学習の手法の一つで、システムの行動に対して評価(報酬)が与えられ、行動の試行錯誤を繰り返して評価を最大化するような行動パターンを学習させる手法である。機械の制御や競技、ゲームなどを行うAIの訓練に適している。

方策と価値関数

強化学習ではボードゲームでいう盤面に相当する「状態」(state)と、指し手に相当する「行動」(action)の組み合わせで対象をモデル化する。AIが一手ずつ行動するたびに状態が変化していき、何らかの「報酬」(reward)が得られる。どのような状態のとき、どのような確率でどのような行動を取るのかを定めた行動指針を「方策」(policy)という。

良い方策を探索する方法論は大きく分けて二つある。一つは、各状態や、各状態における各行動にどのくらいの価値があるのか数値で表す「価値関数」(value function)を定義して、これが最も高くなるように学習する手法である。もう一つは、方策そのものを関数で表し、最も報酬が高くなるように学習する手法である。

ActorとCritic

Actor-Criticは、価値関数ベースの手法と方策ベースの手法を組み合わせた手法である。行動を選択する「Actor」(演者)と、Actorの選択した行動に評価を与える「Critic」(批評家)という二つのモデルが協調して学習を進める。

Actorは方策をパラメータで表した関数を持っており、方策に従って現在の状況から一つの行動を選択する。Criticは状態や行動の良さを評価する価値関数を持っており、Actorの選択した行動や遷移先の状態を評価してActorに伝える。価値関数は、状態sの価値を評価する状態価値関数 V(s) か、状態sにおける行動aの価値を評価する行動価値関数 Q(s,a) のいずれかが用いられる。

ActorとCriticは互いに相手から与えられる情報に基づいて学習する。ActorはCriticが提供する価値関数の値に基づいて方策のパラメータを更新する。CriticはActorが選択した行動によって起きる状態遷移によって実際の報酬の値を取得し、価値関数のパラメータを更新する。純粋に方策のみ、あるいは価値関数のみを用いる手法に比べ学習が安定しやすいとされる。

ε-greedy方策

強化学習におけるバンディットアルゴリズムで用いられる方策の一つで、一定の確率で新しい選択肢を試し、残りは既知の最も優れた選択肢を実行するもの。

強化学習とは機械学習の手法の一つで、システムの行動に対して評価(報酬)が与えられ、行動の試行錯誤を繰り返して評価を最大化するような行動パターンを学習させる手法である。機械の制御や競技、ゲームなどを行うAIの訓練に適している。

バンディットアルゴリズムでは、より報酬の高い行動を探す「探索」と、既に発見した行動の中で最も報酬の高いものを実行する「活用」が行われる。行動が探索に偏りすぎると既知の高報酬の行動ができず、活用に偏りすぎると未知の高い報酬の行動を発見できないというジレンマがある。

両者のバランスを取るための行動の選択基準を「方策」(policy)と呼び、ε-greedy方策はその一つである。事前に決めたある確率εで探索を行い、残りの確率1-εは活用に回すというシンプルな手法である。例えば、εが0.1なら10%の確率で未知の行動、90%の確率で既知の最も優れた行動を選択する。

REINFORCE

強化学習で最適な行動を学習させる手法の一つ。完結した一連の試行を何度も繰り返し、良い結果が得られた回の行動はより多く選択されるように、悪い結果に終わった回の行動はあまり選択しないように評価を更新していく手法。

強化学習とは

強化学習とは機械学習の手法の一つで、システムの行動に対して評価(報酬)が与えられ、行動の試行錯誤を繰り返して評価を最大化するような行動パターンを学習させる手法である。機械の制御や競技、ゲームなどを行うAIの訓練に適している。

方策勾配法

強化学習ではボードゲームでいう盤面に相当する「状態」(state)と、指し手に相当する「行動」(action)の組み合わせで対象をモデル化する。AIが一手ずつ行動するたびに状態が変化していき、何らかの報酬(reward)が得られる。どのような状態のとき、どのような確率でどのような行動を取るのかを定めた行動指針を「方策」(policy)という。

REINFORCEは方策を直接的に最適化する「方策勾配法」の最も基本的なアルゴリズムとして知られる。方策勾配法では、方策から将来に渡って得られる累積報酬を目的関数として、試行錯誤の度にその勾配(微分値)を計算し、得られる報酬が最大化するように少しずつパラメータを修正していく。

REINFORCEの手順

強化学習では、将棋や囲碁の一局のように、一連の行動を最初から最後まで行うことを「エピソード」(episode)という。REINFORCEでは、エピソードを何度も繰り返し、その度に少しずつ行動の選択確率を修正していく。

一回のエピソードの最中には行動の確率の更新は行わず、どの行動を取ったかのみを記録する。エピソードが終わり、最終的に得られた報酬が確定したら、過去のエピソードの報酬と比較する。良い結果が得られたら、その回のエピソードを構成する行動の確率を引き上げ、悪い結果であれば引き下げる。

何度もエピソードを繰り返すと、最終的に良い結果に繋がるような行動の選択確率は高まっていき、良い結果に繋がらないような行動の確率は低くなっていく。このように、エピソード全体を通した経験から得られた報酬をもとに学習する手法を「モンテカルロ法」と呼び、他の強化学習手法にも応用される。

利点と難点

REINFORCEはアルゴリズムが単純で実装しやすい。特定のモデルを前提とせず、状態の遷移確率や報酬関数といったモデルの詳細が不明でも学習できる「モデルフリー」型で、適用範囲が広い。行動は離散的な選択肢である必要はなく、移動量、回転量といった連続的な値でも構わない。

一方、毎回の行動確率の更新幅(方策勾配)の分散が大きく、学習が不安定になりやすいとされる。エピソード全体の繰り返しが必要なため、行動の度に評価を更新するアルゴリズムに比べると学習効率が劣る。単純であるがゆえ全体最適解を探索する仕組みがなく、局所最適解に陥りやすいとも言われる。

Q学習

強化学習で最適な行動を学習させる手法の一つで、何度も試行錯誤を繰り返し、どの状態でどの行動を取れば最も高い報酬が得られるかを調べる方式。学習時の行動選択にはε-greedy法などを用いるが、行動後の先々の報酬の見積もりは既知の最大値を用いる。

強化学習とは機械学習の手法の一つで、システムの行動に対して評価(報酬)が与えられ、行動の試行錯誤を繰り返して評価を最大化するような行動パターンを学習させる手法である。機械の制御や競技、ゲームなどを行うAIの訓練に適している。

Q関数

強化学習ではボードゲームでいう盤面に相当する「状態」(state)と、指し手に相当する「行動」(action)の組み合わせで対象をモデル化する。コンピュータが一手ずつ行動するたびに状態が変化していき、目的に対して有利な状況になったり不利な状況になったりする。

ある状態sにおいて、取り得る行動aが「どのくらい価値があるか」を数値として与える関数を「行動価値関数」(state action value function)という。慣習的に「Q」という記号を用いて表すため、「Q関数」(Q function)とも呼ばれる。状態sにおける行動aの価値を Q(s,a) のように書き表す。

Q関数は、その状態におけるその行動によって将来に渡って得られる報酬を積算したものを表している。将来の報酬は一手遡るごとに特定の割引率に従って割り引かれ、遠い将来の報酬は小さく、近い将来の報酬は大きく評価される。

Q学習とは

Q学習は、各状態における各行動のQ関数の値を調べ、最もその値が高くなるように行動を選ぶ手法である。学習時には状態と行動を行と列とする「Qテーブル」という表を用意し、各状態における各行動のQ値を書き入れる。

一度の試行で完全なQ値の表が完成するわけではなく、何度も試行を繰り返して、前回の値を新しい値で更新するという手順を繰り返す。十分な学習が済んだら、各状態の行動の中で最も高いQ値の選択肢を選んでいけば、自然と最も良い結果へ導かれる。

学習の手順

学習時、ある状態である行動を選択すると、あらかじめ決められた特定の報酬が得られる。これを用いて対応するQ値を更新する。その際、新しいQ値は、事前に決めた学習率α、割引率γを用いて (1-α)×現在のQ値 + α×(行動で得た報酬 + γ×次の状態の行動の中で最大のQ値) という式で算出する。

学習率αは現在の値にどの程度今回の学習で得た情報を反映するかを表す係数で、0より大きく1以下の値を事前に決めておく。1ならば完全に新しい情報で値を上書きするように更新し、0.5ならば現在の値が半分、新しい情報の影響が半分だけ反映された値で更新する。

次の状態のQ値は、以前の試行で表に記入されたQ値で、その行動によって先々の状態から得られる報酬を代表している。将来の価値を現在の価値に換算するため、一定の割引率γで割り引いて加算する。何度も試行を繰り返すうち、最終的に最高の報酬(「ゲームの勝利」など)が得られる状態に繋がる行動には、徐々にQ値が伝播していく。

UCB方策

強化学習におけるバンディットアルゴリズムで用いられる方策の一つで、各選択肢について、既知の平均報酬に過去の選択回数の少なさを加味したスコアを算出して優先度を決める方式。

強化学習とは機械学習の手法の一つで、システムの行動に対して評価(報酬)が与えられ、行動の試行錯誤を繰り返して評価を最大化するような行動パターンを学習させる手法である。機械の制御や競技、ゲームなどを行うAIの訓練に適している。

バンディットアルゴリズムでは、より報酬の高い行動を探す「探索」と、既に発見した行動の中で最も報酬の高いものを実行する「活用」が行われる。行動が探索に偏りすぎると既知の高報酬の行動ができず、活用に偏りすぎると未知の高い報酬の行動を発見できないというジレンマがある。

両者のバランスを取るための行動の選択基準を「方策」(policy)と呼び、UCB方策はその一つである。各行動のこれまでの報酬と選択回数を元に、より報酬が高く、より過去の選択回数が少ないものを優先的に選択する。報酬が高いことが分かっていても、何度も選択された行動は次第に優先度が下がっていくようにすることで、行動の選択が探索と活用のどちらか一方に偏らないようにする。

行動の優先度を比較する際に算出する値をUCBスコアと呼び、過去の平均報酬に、選択回数に基づくボーナス項を加えたものとなっている。ボーナス項の算出法は様々なものが提唱されているが、UCB方策が考案された際に最初に用いられたのは、2lnその行動の選択回数選択回数の合計 (lnは自然対数)という算出法である。

行動価値関数

強化学習において、ある行動どのくらい価値があるのかを算出する関数。その行動により将来得られる報酬の期待値を数値の大小で表現する。

強化学習とは機械学習の手法の一つで、システムの行動に対して評価(報酬)が与えられ、行動の試行錯誤を繰り返して評価を最大化するような行動パターンを学習させる手法である。機械の制御や競技、ゲームなどを行うAIの訓練に適している。

強化学習ではボードゲームでいう盤面に相当する「状態」と、指し手に相当する「行動」の組み合わせで対象をモデル化する。コンピュータが一手ずつ行動するたびに状態が変化していき、目的に対して有利な状況になったり不利な状況になったりする。

行動価値関数は、ある状態において取り得るある行動が「どのくらい良いか」を数値として与える関数で、状態と行動を入力として与えると、将来に渡って得られる報酬を積算したものを返す。将来の報酬は一手遡るごとに特定の割引率に従って割り引かれ、遠い将来の報酬は小さく、近い将来の報酬は大きく評価される。

ある行動を取った結果現れる状態とその報酬は一つに確定するが、次にどんな行動を取るかは複数の選択肢に分かれる。強化学習では行動を選択する基準を「方策」(policy)と呼び、どの状態でどの行動を取るかは確率として与えられる。このため、先々の報酬は確率を加味した期待値として表される。

ある状態sにおいてある行動aを取ったときの行動価値関数は慣習的に Q(s,a) と書き表され、その評価値のことは「Q値」と呼ぶことがある。一方、ある状態sの価値を算出するものは「状態価値関数」という。こちらは慣習的に V(s) と表す。行動価値関数と状態価値関数を合わせて「価値関数」と総称することがある。

状態価値関数

強化学習において、現在の状態にどのくらい価値があるのかを算出する関数。ある状態から将来得られる報酬の期待値を数値の大小で表現する。

強化学習とは機械学習の手法の一つで、システムの行動に対して評価(報酬)が与えられ、行動の試行錯誤を繰り返して評価を最大化するような行動パターンを学習させる手法である。機械の制御や競技、ゲームなどを行うAIの訓練に適している。

強化学習ではボードゲームでいう盤面に相当する「状態」と、指し手に相当する「行動」の組み合わせで対象をモデル化する。コンピュータが一手ずつ行動するたびに状態が変化していき、目的に対して有利な状況になったり不利な状況になったりする。

状態価値関数は、ある状態が「どのくらい良いか」を数値として与える関数で、特定の状態を入力として与えると、将来に渡って得られる報酬を積算したものを返す。将来の報酬は一手遡るごとに特定の割引率に従って割り引かれ、遠い将来の報酬は小さく、近い将来の報酬は大きく評価される。

ある状態で取り得る行動は一つとは限らず、複数の選択肢の中から一つを選択する。このため、将来取り得る状態も複数の可能性が考えられ、遠い将来になるほど多数の可能性に分岐していく。強化学習では行動を選択する基準を「方策」(policy)と呼び、どの状態でどの行動を取るかは確率として与えられるため、将来の報酬も確率を加味した期待値として表される。

ある状態sにおける状態価値関数は慣習的に V(s) と書き表される。一方、ある状態sにおける行動aの価値を算出するものは「行動価値関数」という。こちらは慣習的に Q(s,a) と表す。状態価値関数と行動価値関数を合わせて「価値関数」と総称することがあるが、行動価値関数の方が重要であり、単に価値関数と言えば行動価値関数を指すことが多い。

バンディットアルゴリズム

機械学習の一種である強化学習のアルゴリズムの一つ。新しい選択肢を試してみる「探索」と、既存の最良の選択肢を遂行する「活用」のバランスを取るもの。

強化学習とは機械学習の手法の一つで、システムの行動に対して評価(報酬)が与えられ、行動の試行錯誤を繰り返して評価を最大化するような行動パターンを学習させる手法である。機械の制御や競技、ゲームなどを行うAIの訓練に適している。

学習過程では、実際に様々な行動を試して、より報酬の高い行動を探す「探索」と、既に発見した行動の中で最も報酬の高いものを実行する「活用」が行われる。行動が探索に偏りすぎると既に分かっている報酬の高い行動を取ることができず、活用に偏りすぎると未知の高い報酬の行動を発見できないというジレンマがある。

バンディットアルゴリズムはこの2つを適度にミックスして、最も高い報酬を得ようとするものである。具体的なミックスの仕方を「方策」(policy)と呼び、いくつかの手法が提唱されている。事前に決めたある一定の確率で探索を行い、他は活用を行う「ε-greedy方策」、これまでの成績が高く、かつ試した回数の少ない選択肢ほど優先する「UCB方策」などがよく知られる。

ここでいう「バンディット」(bandit)とはスロットマシンのことで、限られた掛け金で賭場にたくさん並んだスロットマシンのどれをどれくらい回せば報酬を最大化できるかという「多腕バンディット問題」を解く手法として考案された。時間や資金、手数など限られた資源を様々な選択肢に分配して報酬の最大化を目指す問題に広く応用することができる。

方策勾配法

強化学習で最適な行動を学習させる手法の一つで、行動の選択基準を何らかのパラメータに従う関数として表し、勾配降下法を用いて目的を最も満たすパラメータを求める手法。

強化学習とは機械学習の手法の一つで、システムの行動に対して評価(報酬)が与えられ、行動の試行錯誤を繰り返して評価を最大化するような行動パターンを学習させる手法である。機械の制御や競技、ゲームなどを行うAIの訓練に適している。

強化学習ではボードゲームでいう盤面に相当する「状態」(state)と、指し手に相当する「行動」(action)の組み合わせで対象をモデル化する。AIが一手ずつ行動するたびに状態が変化していき、何らかの報酬(reward)が得られる。どのような状態のとき、どのような確率でどのような行動を取るのかを定めた行動指針を「方策」(policy)という。

最適な方策を求める手法として、一般に「価値関数」(value function)を用いたアプローチがよく用いられる。これは次に選択する行動や、選択の結果遷移する状態から得られる報酬を将来に渡って積算した関数で、これが最大化するように方策を定める。

一方、方策勾配法は価値観数を用いずに方策そのものをパラメータを用いて関数で表す。方策から将来に渡って得られる累積報酬を目的関数として、試行錯誤の度にその勾配(微分値)を計算し、得られる報酬が最大化するように少しずつパラメータを修正していく。

方策勾配法はロボットの動きの制御のように、問題が複雑だったり、取り得る行動の選択肢が広い範囲に及び、価値関数の計算が困難な状況で選択される。具体的なアルゴリズムとして、「REINFORCE」(リインフォース)や「Actor-Critic」(アクター・クリティック)などの手法が知られている。

マルコフ決定過程

確率的に意思決定を行うエージェントの振る舞いをモデル化した過程のうち、次の状態が現在の状態と選択した行動のみに基づいて決定され、他の要因の影響は受けないもの。

確率的に事象が推移する確率過程について、次に起きる事象の確率が現在あるいは直近の状態のみによって決定され、以前の状態には依存しないような性質を「マルコフ性」、そのような過程を「マルコフ過程」という。過去の状態を考慮しなくてよいため、現象のシミュレーションや予測に有用なモデルである。

マルコフ決定過程はこれを意思決定過程に導入したモデルである。ある状態(state)から次の状態への遷移は、エージェントによる行動(action)によって生じ、現在の状態と行動の組み合わせのみから遷移先の状態が決定される。エージェントは遷移に伴って報酬(reward)を得る。その様子は、状態、行動、遷移先を矢印で結んだダイアグラムで表現することができる。

マルコフ決定過程は1950年代に動的計画法と共に広まり、機械の自動制御や経済学の分析など様々な分野に応用されている。近年では、人工知能(AI)の一分野である強化学習で、エージェントの振る舞いを記述するモデルとして頻繁に参照される。

割引率

財産などの将来の価値を現在の価値に換算するために用いる割合。主に金融分野で、貨幣価値の変動やリスクを反映した財産評価額の算定などに用いられる。

金利が機能し物価がインフレし続ける経済では、現在の1000円と1年後の1000円の価値は同じではない。「1年後に1000円受け取る契約」に支出する金額は1000円よりも安くなければ割に合わないというのが基本的な考え方である。

割引率は1年あたりに期待される利回りを表し、将来の金額から利回りを年数に応じて割り引いて現在の金額を求める。例えば、割引率を3%と仮定した場合、1年後の1000円は現在の価値で 1000÷(1+0.03)=約971円、2年後の1000円は 1000÷1.032=約943円と計算される。

割引率は様々な経済活動で用いられるが、会計処理で財産の現在価値を求める場合などには、国債の利回りなどを参考に安全な運用をした場合に期待される利回りを設定することが多い。投資や企業買収などでは、これに加えて案件自体のリスクや期待される収益を加味して割引率を決める。

強化学習の割引率

機械学習の一種である強化学習でも割引率の考え方を用いる。強化学習では行動の選択肢を評価する際、各行動について現在から一定の将来までに得られる報酬の合計を算出し、最も累積報酬が大きくなるような行動を選ぶ。その際、将来の各時点の報酬を単純に算術和するのではなく、一定の割引率で差し引いた値を加算していく。これにより、近い将来の報酬ほど大きく評価し、遠い将来の報酬ほど小さく評価する。

SARSA

強化学習で最適な行動を学習させる手法の一つで、何度も試行錯誤を繰り返し、どの状態でどの行動を取れば最も高い報酬が得られるかを調べる方式。学習時の行動選択にはε-greedy法などの方策を用い、行動後の先々の報酬の見積もりにも同じ方策を用いる。

強化学習とは機械学習の手法の一つで、システムの行動に対して評価(報酬)が与えられ、行動の試行錯誤を繰り返して評価を最大化するような行動パターンを学習させる手法である。機械の制御や競技、ゲームなどを行うAIの訓練に適している。

Q関数

強化学習ではボードゲームでいう盤面に相当する「状態」(state)と、指し手に相当する「行動」(action)の組み合わせで対象をモデル化する。コンピュータが一手ずつ行動するたびに状態が変化していき、目的に対して有利な状況になったり不利な状況になったりする。

ある状態sにおいて、取り得る行動aが「どのくらい価値があるか」を数値として与える関数を「行動価値関数」(state action value function)という。慣習的に「Q」という記号を用いて表すため、「Q関数」(Q function)とも呼ばれる。状態sにおける行動aの価値を Q(s,a) のように書き表す。

Q関数は、その状態におけるその行動によって将来に渡って得られる報酬を積算したものを表している。将来の報酬は一手遡るごとに特定の割引率に従って割り引かれ、遠い将来の報酬は小さく、近い将来の報酬は大きく評価される。

SARSAとは

SARSAは、各状態における各行動のQ関数の値を調べ、最もその値が高くなるように行動を選ぶ手法である。学習時には状態と行動を行と列とする「Qテーブル」という表を用意し、各状態における各行動のQ値を書き入れる。

一度の試行で完全なQ値の表が完成するわけではなく、何度も試行を繰り返して、前回の値を新しい値で更新するという手順を繰り返す。十分な学習が済んだら、各状態の行動の中で最も高いQ値の選択肢を選んでいけば、自然と最も良い結果へ導かれる。

学習の手順

学習時には、ε-greedy方策やUCB方策など、あらかじめ定めておいた行動選択の基準(方策)を用いて行動を選択する。現在の状態sにおける行動aによる報酬rと、その行動により遷移した先の状態s'で同様の方策により選択した行動a'の持つQ値を用いて、現在のQ値を更新する。

新しいQ値は、事前に決めた学習率α、割引率γを用いて (1-α)×Q(s,a) + α×(r + γ×Q(s',a')) という式で算出する。Q値の更新に s、a、r、s'、a' の5つの要素を用いることから、5文字を繋げて「SARSA」と呼ばれる。a'のQ値ではなく、s'の行動の中から常に最大のQ値を選ぶ手法は「Q学習」と呼ばれる。

学習率αは現在の値にどの程度今回の学習で得た情報を反映するかを表す係数で、0より大きく1以下の値を事前に決めておく。1ならば完全に新しい情報で値を上書きするように更新し、0.5ならば現在の値が半分、新しい情報の影響が半分だけ反映された値で更新する。

次の状態のQ値は、以前の試行で表に記入されたQ値で、その行動によって先々の状態から得られる報酬を代表している。将来の価値を現在の価値に換算するため、一定の割引率γで割り引いて加算する。何度も試行を繰り返すうち、最終的に最高の報酬(「ゲームの勝利」など)が得られる状態に繋がる行動には、徐々にQ値が伝播していく。

汎化性能

機械学習システムが、訓練データ以外の未知のデータに対してどのくらい正確に予測することができるかを表す性能。実際の使用場面における予測性能であり、実用性の高さに直結する。

機械学習システムは与えられた訓練データの傾向を学び、入力データに対して分類や回帰など何らかの予測を行う。学習済みのモデルの性能を測る指標はいくつかあり、汎化性能は学習に使われていない未知のデータを与えたときにどの程度正解することができるかを表している。

単に学習不足で予測がうまくいかない場合にも汎化性能は低くなるが、訓練データに対して完璧な予測性能を示しても、汎化性能が低くなる場合がある。これは、訓練データが体現する一般的な傾向だけでなく、訓練データに固有の細かなノイズや偏りまでも完璧に学習してしまい、それ以外のデータに適合できなくなってしまっている状態である。これを「過学習」(overfitting)という。

汎化性能の評価法

汎化性能を確かめるには、学習に使っていないデータ群を用意して予測させる必要がある。訓練データとは別にテストデータを用意するのが大変な場合は、学習用に用意したデータ群の一部を検証用として取り分けてテストする「交差検証」というテクニックが用いられる。

このうち、「ホールドアウト検証」は、単純に訓練データの一部を学習に使わず、検証用データとして用いる。「k-分割交差検証」は、訓練データをk個に分割し、「k-1個で学習して残りの1個で検証する」という操作を繰り返して、各回の結果を平均して最終的な結果とする。訓練データから重複を許してランダムにデータを抽出し、複数の部分集合を作成する「ブートストラップサンプリング」(ブートストラップ法)が用いられることもある。

汎化性能の向上手法

モデルの汎化性能を高めるには学習不足を補うために訓練データを増強したり、過学習を抑制する必要がある。訓練データを増強する手法としては「データ拡張」(data augmentation)があり、画像を回転するなど元の訓練データに機械的な操作を行ってデータを増やす。

過学習を抑制する方法はモデルの種類や学習手法によって異なるが、複数のモデルを組み合わせて一つのモデルとする「アンサンブル学習」、モデルの複雑さを抑制する「正則化」(L1正則化、L2正則化など)、ニューラルネットワークの一部のノードをランダムに停止させる「ドロップアウト」などの手法がよく知られる。

k-分割交差検証

統計解析の検証手法の一つで、標本データを複数のセットに分割し、一つで解析、他のセットで検証という操作をセットの数だけ繰り返す方式。機械学習モデルの性能の検証にも用いられる。

標本データを集めて統計的な解析や予測を行う場合、得られた統計モデルが実際のデータにどの程度当てはまるかを検証する必要がある。検証には標本データとは別のデータが必要となるが、標本データを分割して一部を検証用に用いる手法を「交差検証」(cross validation)という。

k-分割交差検証では、全体をk個(kは2以上の整数)のセットに等分割する。最初にセット1を除く残りのk-1個で解析を行い、セット1でテストする。次にセット2を除くk-1個で解析を行い、セット2でテストする。この操作をセットkまでk回繰り返し、毎回の結果を平均して全体の結果とする。kの値の決め方に定まった方法は無いが、5や10とすることが多いとされる。

k-分割交差検証は解析とテストのサイクルをk回繰り返すため処理に手間や時間がかかるが、すべてのデータが一度はテストに用いられ、少ないデータ量でもノイズや偏りの影響を受けにくく安定的な結果を得やすいとされる。機械学習モデルの場合は、学習データをk個に分割して、k-1個を訓練用、1つをテスト用に用いるk-分割交差検証が行われる。

MSE

実際の値と何らかのモデルに基づく予測値があるとき、両者の差を二乗して平均した値。予測モデルの評価に用いられる。

ある事象について実際に測定、観測などで確かめた値と、それぞれの値が得られた条件に基づいて予測関数などから導き出された予測値があるとき、両者の差(予測値の真値からの誤差)を二乗して足し合わせ、標本の数で割って平均を求めた値である。

予測モデルから得られた値が真の値に近ければ近いほど平均二乗誤差は小さくなり、逆に真値からのズレが大きくなればなるほど平均二乗誤差も大きくなるという関係にある。すべての真値を言い当てることができる完璧な予測モデルの場合には平均二乗誤差の値は0となる。

平均二乗誤差は二乗した値の平均であるため真値や予測値とは次元が異なり、同じ尺度で比較できない。このため、平均二乗誤差の平方根(ルート)を取って同じ次元に戻す操作を行った値で評価することもある。これを「平均二乗平方根誤差」(RMSE:Root Mean Squared Error)という。

RMSE

実際の値と何らかのモデルに基づく予測値があるとき、両者の差を二乗して平均し、平方根(ルート)を取った値。予測モデルの評価に用いられる。

ある事象について実際に測定、観測などで確かめた値と、それぞれの値が得られた条件に基づいて予測関数などから導き出された予測値があるとき、両者の差(予測値の真値からの誤差)を二乗して足し合わせ、標本の数で割って平均した値の平方根である。

予測モデルから得られた値が真の値に近ければ近いほど二乗平均平方根誤差は小さくなり、逆に真値からのズレが大きくなればなるほど二乗平均平方根誤差も大きくなるという関係にある。すべての真値を言い当てることができる完璧な予測モデルの場合には二乗平均平方根誤差の値は0となる。

誤差の二乗を平均した値を「二乗平均誤差」(MSE:Mean Squared Error)というが、これは元の値を二乗する操作が含まれるため真値や予測値とは次元が異なり同じ尺度で比較することができない。二乗平均平方根誤差はMSEの平方根を取って次元を揃えたものである。

予測モデルの誤差評価法としては他に、誤差の絶対値を平均した「平均絶対誤差」(MAE:Mean Absolute Error)や、誤差の真値に対する割合(パーセンテージ)で表す「平均絶対パーセント誤差」(MAPE:Mean Absolute Percentage Error)などがある。MSEもRMSEも誤差を二乗してから平均するため、大きな誤差ほど強く影響を受けるという特徴がある。

MAE

実際の値と何らかのモデルに基づく予測値があるとき、両者の差の絶対値を平均した値。予測モデルの評価に用いられる。

ある事象について実際に測定、観測などで確かめた値と、それぞれの値が得られた条件に基づいて予測関数などから導き出された予測値があるとき、両者の差(予測値の真値からの誤差)を求め、その絶対値を平均することで求められる。

予測値が真値に近ければ近いほど平均絶対誤差は小さくなり、逆に真値からのズレが大きくなればなるほど平均絶対誤差も大きくなる。すべての真値を言い当てることができる完璧な予測モデルの場合には平均絶対誤差の値は0となる。

誤差の評価法として最も単純な手法の一つで、計算が容易で直感的に理解しやすく、二乗誤差などに比べ外れ値の影響を受けにくいなどの特徴がある。真値や予測値と次元が同じであるため損失関数として用いることもある。

予測モデルの誤差評価法としては他に、誤差の真値に対する割合(パーセンテージ)で表す「平均絶対パーセント誤差」(MAPE:Mean Absolute Percentage Error)や、誤差の二乗平均を取る「平均二乗誤差」(MSE:Mean Squared Error)などがある。

ROC曲線

検査で得られた何らかの測定値に基づいて異常は正常かの判定を下す際、様々な閾値における真陽性率と偽陽性率の関係をグラフに表したもの。検査の有効性(判別能)を知ることができる。

医療における検査などで、何らかの測定値が基準となる閾値(カットオフポイント)を超えたら異常あり(陽性)、下回れば正常(陰性)と判定することがある。その際、正常と判断したのに実際は異常だった「偽陽性」(false positive)、異常と判断したのに実際は正常だった「偽陰性」(false negative)という2種類の判定ミスが発生する。

ここでは値が高いほど異常の可能性が高い場合を考え、「実際に異常だった例を正しく異常と判定できた割合」である「TPR」(True Positive Rate:真陽性率)と、「実際は正常だった例を誤って異常と判定した割合」である「FPR」(False Positive Rate:偽陽性率)に着目する。

異常と判断する閾値を極端に高い値(例えば∞)に設定すると、全例を正常と判定するため、TPRもFPRも0となる。一方、閾値を極端に低い値(例えば-∞)にすると、今度は全例を異常と判定するため、TPRもFPRも1.0となる。閾値を低い方から次第に上げていくと、はじめにTPRが上昇し、遅れてFPRが上昇する。

この変化の様子を、縦軸をTPR、横軸をFPRとする折れ線グラフに描くと、原点と(1.0, 1.0)を結ぶ左上に膨らんだ曲線となる。これをROC曲線という。正常と異常を誤りなく見分けられる理想的な検査では、原点から垂直に直線が立ち上がり、(0, 1.0)から(1.0, 1.0)に向かって今度は水平に直線が引かれる。逆に、まったく正しく見分けられない検査では、原点からまっすぐ(1.0, 1.0)に向かう斜めの45°の直線となる。

ROC曲線から検査の良し悪しを定量的に評価するため、曲線が囲う下側の面積である「AUC」(Area Under Curve)を用いることがある。最良の検査では囲まれた部分が正方形となるためAUCは「1.0」、最悪の検査では直角二等辺三角形となるためAUCは「0.5」となる。この範囲の中で1.0に近いほど優れた検査であると言える。

AUC

検査における閾値と真陽性率・偽陽性率の関係をグラフに表したROC曲線で、曲線が囲う下側の面積。検査の有効性(判別能)を表す指標として用いられる。機械学習モデルの分類性能の指標としても用いられる。

検査や予測などで、何らかの測定値が基準となる閾値(カットオフポイント)を超えたら陽性、下回れば陰性と判定することがある。その際、陽性と判定したのに実際は陰性だった「偽陽性」(false positive)、陽性と判定したのに実際は陰性だった「偽陰性」(false negative)という2種類の誤判定が発生する。

閾値と誤判定率

ここでは値が高いほど異常の可能性が高い場合を考え、「実際に陽性だった例を正しく陽性と判定できた割合」である「真陽性率」(TPR:True Positive Rate)と、「実際は陽性だった例を誤って陰性と判定した割合」である「偽陽性率」(FPR:False Positive Rate)に着目する。

異常と判断する閾値を極端に高い値(例えば∞)に設定すると、全例を陰性と判定するため、真陽性率も偽陽性率も0となる。一方、閾値を極端に低い値(例えば-∞)にすると、今度は全例を陽性と判定するため、両者ともに1.0となる。閾値を低い方から次第に上げていくと、はじめに真陽性率が上昇し、遅れて偽陽性率が上昇する。

ROC曲線とAUC

この変化の様子を、縦軸を真陽性率、横軸を偽陽性率とする折れ線グラフに描くと、原点と(1.0, 1.0)を結ぶ左上に膨らんだ曲線となる。これを「ROC曲線」(Receiver Operating Characteristic curve)という。

正常と異常を誤りなく見分けられる理想的な検査では、原点から垂直に直線が立ち上がり、(0, 1.0)から(1.0, 1.0)に向かって今度は水平に直線が引かれる。逆に、まったく正しく見分けられない検査では、原点からまっすぐ(1.0, 1.0)に向かう斜めの45°の直線となる。

AUCは、このROC曲線が囲う下側の面積で、検査の良し悪しを定量的に評価することができる。最良の検査では囲まれた部分が正方形となるためAUCは「1.0」となり、最悪の検査では直角二等辺三角形となるためAUCは「0.5」となる。この範囲の中で1.0に近いほど優れた検査であると言える。

赤池情報量規準

統計モデルや学習モデルの良さを評価する尺度の一つ。実際のデータへの適合度とモデルのシンプルさの両方を考慮し、過適合・過学習を防いで品質の高いモデルを選択することができる。最初に提唱された情報量規準である。

モデルと過適合

統計的推論や機械学習を行う際には、対象をどのようなモデルで表すかが問題となる。モデル構築に用いる標本や学習データの傾向を的確に反映させたければ、パラメータ数や次数を再現なく増やしていけば、いくらでも適合度を高めることができる。

しかし、そのようなモデルは標本や学習データに含まれるノイズや偏りなども完全に反映してしまい、実際の入力値に対して的外れな値を出力してしまうことがある。このように、モデル構築の際に与えたデータに過剰に適合しすぎて、本来データが体現する傾向から外れてしまう状態を「過適合」「過学習」(overfitting)という。

情報量規準

良いモデルを選択するためには、与えられたデータに対する適合度を高めつつ、過剰に適合し過ぎないようシンプルさを維持するという、相反する二つの要因を同時に考慮する必要がある。これを表す定量的な指標が情報量規準で、「適合度の高さ」と「複雑さに対するペナルティ」という二つの項目を組み合わせてモデルを評価する。

AICとは

赤池情報量規準は1971年に統計数理研究所の赤池弘次氏が提唱した規準で、モデルの最大尤度と呼ばれる値 L の自然対数と、独立したパラメータの数 k を用いて AIC=-2lnL+2k として与えられる。この値が低いほど良いモデルとされ、複数のモデル候補のAICを算出して最も低かったものを採用する。

第1項はデータによく当てはまるほど小さくなるが、第2項はパラメータが増えるほど大きくなり、複雑さに対するペナルティとして機能する。「情報量規準」という概念の元祖となった指標で、統計解析や機械学習を用いる様々な分野でモデル選択の規準として広まった。その後の研究で、BICやCIC、DIC、EICなど様々な規準が考案されている。

オッカムの剃刀

「何かを説明するのに、必要以上に多くを仮定すべきでない」とする考え方。様々な要因や説明が考えられるときは、なるべくシンプルなものを優先すべきとする指針で、科学やビジネスなど様々な分野で問題解決の基本原則として用いられる。

14世紀イギリスの神学者・哲学者である、オッカムのウィリアム(William of Ockham)が広めたとされる考え方で、同じ程度にもっともらしい説明が複数考えられる場合、最も仮定の少ない説を優先的に検証すべきとする。仮説や理論、説明を不必要に複雑にすることを戒めている。

「シンプルなほど正しいはずだ」という主張ではなく、単純な仮定では現象を説明できないならば、仮定を増やすことを躊躇すべきではない。また、ある説明に不要だった要素や仮定があったとして、それらが存在しないとか、間違っていることも示唆しない。単にその説明には不要だったというだけである。

由来

原文は諸説あるが、よく知られるのはラテン語の “Entia non sunt multiplicanda praeter necessitatem” という一文で、直訳すると「必要以上に実体を増やすべきではない」となる。これはウィリアム自身の手による記述ではなく、彼の死後3世紀を経た1639年に哲学者ジョン・パンチ(John Punch)が記した著作の一節が広まったものとも言われる。

「剃刀」(カミソリ)という表現は不必要な要素を削ぎ落とすイメージからついたものだが、「オッカムの剃刀」という名称はウィリアム自身やパンチによるものではなく、パンチからさらに2世紀後の1852年にイギリスの哲学者ウィリアム・ハミルトン卿が著作に記した表現が広まったものとされる。

過学習

回帰分析や機械学習で、学習データに対してあまりに忠実に適合しすぎて本来データが示唆する傾向から大きく外れてしまう現象。

一般に、回帰問題で予測精度を高めるために媒介変数を増やすなどモデルの自由度を高めることが行われるが、学習データの規模に対して詳細すぎるモデルを用意すると、外れ値やノイズ、偏りまで忠実に再現してしまい、本来データが表しているはずの傾向から却って外れてしまう現象が起きる。

このような過学習を起こしたモデルの回帰曲線は学習データのほとんどの点を通る複雑に折れ曲がった形になり、学習データに対しては完全に適合するが、未知のデータに対しては的外れな結果を返し、実地では使い物にならない状態になってしまう。

過学習を緩和する手法は様々なものが提唱されており、可能な場合は学習データを増やしたり、自由度をあえて下げて単純なモデルを使用したりする。学習データを2つに分けて片方で学習、もう片方で精度の検証を行う「交差検証」、モデルが複雑化するとそれを打ち消すようにペナルティを与える「正則化」などの技法が用いられることもある。

交差検証

統計解析で、標本データ群を複数のセットに分割し、一部のセットで解析を、他のセットで検証を行う手法。機械学習の場合は、学習データの一部で訓練を、残りでテストを行うことを指す。

標本データを集めて統計的な解析や予測を行う場合、得られた統計モデルが実際のデータにどの程度当てはまるかを検証する必要がある。検証には標本データとは別のデータが必要となるが、標本データを分割して一部を検証用に取っておく手法を交差検証という。

交差検証は、標本データとは別に検証用のデータを改めて集めるのが困難あるいは不可能な場合に活用される。統計解析だけでなく、機械学習モデルの予測性能の検証にも、学習データを訓練用とテスト用に分割する交差検証が利用されている。分割の仕方によって様々な手法が提唱されている。

主な手法

全データを2つに分割し、片方を解析や学習用に、もう片方をテスト用に回す手法を「ホールドアウト検証」という。最も単純で分かりやすい手法で、データ量が豊富な場合にはこれで問題ないが、データが少ない場合はノイズや偏りの影響が大きくなり、うまく機能しないことある。

「k-分割交差検証」は、訓練データをk個(kは2以上の整数)に等分し、「あるセットをテスト用に回し、残りのk-1個のセットで解析や学習を行う」という操作をk回繰り返す。各回の結果を平均して全体の結果とする。すべてのデータが一度はテストに用いられ、少ないデータでも安定した結果が得られやすい。

偽陽性

検査などで正常な事象を誤って不正や異常、有害であると判定してしまうこと。誤検知。IT分野では、情報セキュリティにおいて正常な通信やプログラムを誤って不正アクセスやマルウェアであると判断してしまうことをこのように呼ぶ。

IDS/IPSやファイアウォールは通信を監視して外部からの攻撃などが無いかを、アンチウイルスソフトはプログラムファイルなどを解析してコンピュータウイルスなどのマルウェアが無いかを検査するが、こうした仕組みは完全ではなく、検知に失敗することがある。

正常で無害な通常の事象を誤って有害であると判定してしまう誤検知をフォールスポジティブという。逆に、不正や異常を見過ごして正常であると誤判定してしまう検知漏れのことは「フォールスネガティブ」(false negative)という。

検査などの基準を緩めればフォールスポジティブを減らして利便性や安定性を高めることができるが、フォールスネガティブが増えて危険性が増す。逆に、基準などを厳しくすればフォールスネガティブを減らして安全性を向上できるが、フォールスポジティブが増えて操作や運用に頻繁に支障をきたすようになるというトレードオフの関係にある。

医療分野では同様の概念(検査などで実際は陰性の患者や検体を誤って陽性と判定してしまう)について「偽陽性」という訳語が当てられるため、セキュリティ分野でもこれにならってフォールスポジティブを偽陽性と呼ぶことがある。

偽陰性

検査などで不正や異常、有害な事象を誤って正常であるとみなしてしまうこと。検知漏れ。IT分野では、情報セキュリティにおいて不正アクセスやマルウェアを検知できず見過ごしてしまうことをこのように呼ぶ。

IDS/IPSやファイアウォールは通信を監視して外部からの攻撃などが無いかを、アンチウイルスソフトはプログラムファイルなどを解析してコンピュータウイルスなどのマルウェアが無いかを検査するが、こうした仕組みは完全ではなく、検知に失敗することがある。

本来は有害であると判断されるべき事象について、検査をすり抜けて正常であると誤って判断されてしまうことをフォールスネガティブという。これとは逆に、正常な事象を誤って有害であると判定してしまう誤検知は「フォールスポジティブ」(false positive)という。

検査の基準などを厳しくすればフォールスネガティブを減らして安全性を高めることができるが、正常な事象が誤って遮断されてしまうフォールスポジティブも増え、利便性や安定性は低くなる。逆に、基準を緩めればフォールスポジティブが減って操作や運用への支障は減るが、フォールスネガティブが増えて危険性が増すというトレードオフの関係にある。

医療分野では同様の概念(検査などで実際は陽性の患者や検体を誤って陰性と判定してしまう)について「偽陰性」という訳語が当てられるため、セキュリティ分野でもこれにならってフォールスネガティブを偽陰性と呼ぶことがある。

真陽性

検査や予測などで、実際に陽性の例を正しく陽性であると判定すること。精度の検証のためによく用いられる概念である。

医療などで行われる検査では、何かが「ある」「なし」の二例に分類することがよく行われる。例えば、病原体の有無について、「ある」場合を「陽性」(positive)、「ない」場合を「陰性」(negative)という。他分野でも、工場の製品検査で「不良あり」を「陽性」、「不良なし」を「陰性」とするなど、同様の概念が用いられる。

結果の組み合わせ

検査は正解の場合と不正解の場合があるため、検査結果の陽性・陰性と、実際の陽性・陰性は一致するとは限らず、結果の組み合わせは4通りの状態を取り得る。このうち、実際に陽性の例を検査でも正しく陽性を判定できた正解例のことを「真陽性」「トゥルーポジティブ」(TP:True Positive)という。

一方、正解例の中には、検査が陰性で実際に陰性の場合もあり、これを「真陰性」「トゥルーネガティブ」(TN:True Negative)という。残りの2つは不正解で、検査で陽性だったが実際は陰性だった例を「偽陽性」「フォールスポジティブ」(FP:False Positive)、検査で陰性だったが実際は陽性だった例を「偽陰性」「フォールスネガティブ」(FN:False Negative)という。

精度の指標

検査などの精度は、この4つがどのような比率で混在しているかで表すことが多い。「正解率」は、全例の中で検査が正解だった例の割合で、真陽性と真陰性の和を全例で割る。「適合率」は、検査が陽性と判定した例の中で実際に陽性だった割合で、真陽性を、真陽性と偽陽性の和で割る。「再現率」は、実際に陽性だった例の中で、検査が陽性と判定できた例の割合で、真陽性を、真陽性と偽陰性の和で割る。

真陰性

検査や予測などで、実際に陰性の例を正しく陰性であると判定すること。精度の検証のためによく用いられる概念である。

医療などで行われる検査では、何かが「ある」「なし」の二例に分類することがよく行われる。例えば、病原体の有無について、「ある」場合を「陽性」(positive)、「ない」場合を「陰性」(negative)という。他分野でも、工場の製品検査で「不良あり」を「陽性」、「不良なし」を「陰性」とするなど、同様の概念が用いられる。

結果の組み合わせ

検査は正解の場合と不正解の場合があるため、検査結果の陽性・陰性と、実際の陽性・陰性は一致するとは限らず、結果の組み合わせは4通りの状態を取り得る。このうち、実際に陰性の例を検査でも正しく陰性を判定できた正解例のことを「真陰性」「トゥルーネガティブ」(TN:True Negative)という。

一方、正解例の中には、検査が陽性で実際に陽性の場合もあり、これを「真陽性」「トゥルーポジティブ」(TP:True Positive)という。残りの2つは不正解で、検査で陽性だったが実際は陰性だった例を「偽陽性」「フォールスポジティブ」(FP:False Positive)、検査で陰性だったが実際は陽性だった例を「偽陰性」「フォールスネガティブ」(FN:False Negative)という。

精度の指標

検査などの精度は、この4つがどのような比率で混在しているかで表すことが多い。「正解率」は、全例の中で検査が正解だった例の割合で、真陽性と真陰性の和を全例で割る。「適合率」は、検査が陽性と判定した例の中で実際に陽性だった割合で、真陽性を、真陽性と偽陽性の和で割る。「再現率」は、実際に陽性だった例の中で、検査が陽性と判定できた例の割合で、真陽性を、真陽性と偽陰性の和で割る。

混同行列

機械学習の分類問題で、分類の予測結果と実際の分類を表の形で整理したもの。モデルの予測と正誤を視覚的に一覧することができる。

表の各行は実際の分類(クラス)を、各列はモデルが予測した分類を表しており、各マスに当てはまるデータの件数を書き入れる。予測と実際の分類が一致しているマスは正解の件数であり、一致しないマスは不正解の件数を表している。

最も単純な例は、データを「○○である」「○○ではない」の二通りに分類する問題で、2×2の表にすることができる。例えば、写真に写っている動物を「猫」「猫以外」に分類する問題では、「予測も実際も猫」「予測は猫だが実際は猫以外」「予測は猫以外だが実際は猫」「予測も実際も猫以外」の4マスができる。

一般に、「Xと予測して実際Xだった」例を「真陽性」(TP:True Positive)、「Xではないと予測して実際にXではなかった」例を「真陰性」(TN:True Negative)、「Xと予測したがXではなかった」例を「偽陽性」(FP:False Positive)、「Xではないと予測したがXだった」例を「偽陰性」(FN:False Negative)という。

混同行列の各マスの値を用いて、様々な予測性能の指標を算出できる。「正解率」(accuracy)は、全例の中で正解だった例の割合で、真陽性と真陰性の和を全例で割る。「適合率」(precision)は、Xと予測した例の中で実際にXだった例の割合で、真陽性を、真陽性と偽陽性の和で割る。「再現率」(recall)は、実際にXだった例の中で、正しくXと予測できた例の割合で、真陽性を、真陽性と偽陰性の和で割る。

正解率

検査や予測の精度を示す指標の一つで、全例の中で正解した例の比率。正解した数を全例の数で割って求める。機械学習モデルの予測性能の検証にも用いられる。

検査や予測では、感染の有無、品質の合格・不合格のように、対象を「Xである」「Xではない」のいずれかに分類することがよく行われる。これと、「実際にXであったかどうか」を組み合わせ、4つの状態が考えられる。

「Xであると予想して、実際Xだった」例を「真陽性」(TP:True Positive)、「Xではないと予想して、実際にXではなかった」例を「真陰性」(TN:True Negative)、「Xと予想したが、Xではなかった」例を「偽陽性」(FP:False Positive)、「Xではないと予想したが、Xだった」例を「偽陰性」(FN:False Negative)という。

正解率の性質

正解率は全例の中で予想が正解だった例の割合を表している。真陽性の数と真陰性の数の和を、全体の数で割って求めることができる。100例のうち真陽性が10例、真陰性が80例ならば、正解率は (10+80)÷100=0.8 で90%となる。

正解率は陽性あるいは陰性の数に大きな偏りがない場合は有効な指標だが、ほとんどの例が陽性あるいは陰性の事例ではあまり意味のない指標になることがある。例えば、実際には99%が陰性の対象について、全例を陰性と予想すれば、陽性を1例も見抜けなかったのに正解率は99%となってしまう。

他の指標

予想の精度を表す指標は他にもあり、データの性質に応じて他の指標を用いたり、正解率と併用することがある。例えば、「適合率」(precision)は、陽性と予想した例の中で実際に陽性だった例の割合で、真陽性を、真陽性と偽陽性の和で割る。「再現率」(recall)は、実際に陽性だった例の中で、正しく陽性と予想できた例の割合で、真陽性を、真陽性と偽陰性の和で割る。

適合率

検査や予測の精度を示す指標の一つで、正と予想した例の中で実際に正だった例の比率。正の予想が正解だった率を示している。機械学習モデルの予測性能の検証にも用いられる。

検査や予測では、感染の有無、品質の合格・不合格のように、対象を「Xである」「Xではない」のいずれかに分類することがよく行われる。これと、「実際にXであったかどうか」を組み合わせ、4つの状態が考えられる。

「Xであると予想して、実際Xだった」例を「真陽性」(TP:True Positive)、「Xではないと予想して、実際にXではなかった」例を「真陰性」(TN:True Negative)、「Xと予想したが、Xではなかった」例を「偽陽性」(FP:False Positive)、「Xではないと予想したが、Xだった」例を「偽陰性」(FN:False Negative)という。

適合率の性質

適合率は、予想が陽性だった例の中で、実際に陽性だった例の比率を表す。真陽性の数を、真陽性と偽陽性の数の和で割って求める。例えば、100例のうち陽性と予想した例が10あり、そのうち真陽性が1例、偽陽性が9例であれば、適合率は 1÷(1+9)=0.1 で10%となる。

適合率は、陽性を全例正解できれば1となり、すべて不正解ならば0になる。全例の中で陰性がいくつあっても適合率には影響しない。大半の例が実際には陰性で、陽性が極少数であるような検査など、陽性の例を正しく見抜けることが重要な場合に重視される指標である。

他の指標

予想の精度を表す指標は他にもあり、データの性質に応じて他の指標を用いたり、適合率と併用することがある。例えば、全例の中で予想が正解だった例の割合は「正解率」(accuracy)という。また、実際に陽性だった例の中で、正しく陽性と予想できた例の割合を「再現率」(recall)と呼び、真陽性を、真陽性と偽陰性の和で割る。

再現率

検査や予測の精度を示す指標の一つで、実際には正だった例のうち、正しく正と予想できていた例の比率。正例の「見逃し」をどれだけ防ぐことができたかを表している。機械学習モデルの予測性能の検証にも用いられる。

検査や予測では、感染の有無、品質の合格・不合格のように、対象を「Xである」「Xではない」のいずれかに分類することがよく行われる。これと、「実際にXであったかどうか」を組み合わせ、4つの状態が考えられる。

「Xであると予想して、実際Xだった」例を「真陽性」(TP:True Positive)、「Xではないと予想して、実際にXではなかった」例を「真陰性」(TN:True Negative)、「Xと予想したが、Xではなかった」例を「偽陽性」(FP:False Positive)、「Xではないと予想したが、Xだった」例を「偽陰性」(FN:False Negative)という。

再現率の性質

再現率は、実際には陽性だった例の中で、予想も陽性だった例の割合である。真陽性の数を、真陽性と偽陰性の数の和で割って求める。例えば、100例のうち実際の陽性は10例あり、そのうち予想も陽性だった真陽性が9例、予想は陰性だった偽陰性が1例であれば、再現率は 9÷(1+9)=0.9 で90%となる。

再現率は、実際の陽性例をすべて正解できれば1となり、すべて誤って陰性と予想していたら0になる。実際の陰性がいくつあるかには影響されない。重い病気の検査など、陽性例を見逃して陰性と誤判定してしまうと重大な結果に繋がるような場合に重視される指標である。

他の指標

予想の精度を表す指標は他にもあり、データの性質に応じて他の指標を用いたり、再現率と併用することがある。例えば、全例の中で予想が正解だった例の割合は「正解率」(accuracy)という。また、陽性と予想した例のうち、実際に陽性だった例の割合を「適合率」(precision)と呼び、真陽性を、真陽性と偽陽性の和で割る。

F値

検査や予測の精度を示す指標の一つで、適合率と再現率の調和平均。正の予想が正解だった割合が高く、かつ、正例の「見逃し」が少ないほど高い値となる。機械学習モデルの予測性能の検証にも用いられる。

検査や予測では、感染の有無、品質の合格・不合格のように、対象を「Xである」「Xではない」のいずれかに分類することがよく行われる。これと、「実際にXであったかどうか」を組み合わせ、4つの状態が考えられる。

「Xであると予想して、実際Xだった」例を「真陽性」(TP:True Positive)、「Xではないと予想して、実際にXではなかった」例を「真陰性」(TN:True Negative)、「Xと予想したが、Xではなかった」例を「偽陽性」(FP:False Positive)、「Xではないと予想したが、Xだった」例を「偽陰性」(FN:False Negative)という。

F値の性質

予想が陽性だった例の中で、実際に陽性だった例の割合を「適合率」(precision)、実際には陽性だった例の中で、予想も陽性だった例の割合を「再現率」(recall)という。両者の調和平均である 21適合率+1再現率 をF値という。

F値は適合率と再現率が両方高ければ高くなり、両方1のときに最大値の1となる。逆に、片方が0ならもう一方がどんなに高くても0になる。陽性判定の正解率が高く、かつ、陽性例を誤って陰性とする誤判定が少ないほど高い値になる。真陰性の数は影響しない。

ベイズ情報量規準

統計モデルや学習モデルの良さを評価する尺度の一つ。実際のデータへの適合度とモデルのシンプルさの両方を考慮し、過適合・過学習を防いで品質の高いモデルを選択することができる。モデルの複雑さに対するペナルティが大きいという特徴がある。

モデルと過適合

統計的推論や機械学習を行う際には、対象をどのようなモデルで表すかが問題となる。モデル構築に用いる標本や学習データの傾向を的確に反映させたければ、パラメータ数や次数を再現なく増やしていけば、いくらでも適合度を高めることができる。

しかし、そのようなモデルは標本や学習データに含まれるノイズや偏りなども完全に反映してしまい、実際の入力値に対して的外れな値を出力してしまうことがある。このように、モデル構築の際に与えたデータに過剰に適合しすぎてデータが体現する傾向から外れてしまう状態を「過適合」「過学習」(overfitting)という。

情報量規準

良いモデルを選択するためには、与えられたデータに対する適合度を高めつつ、過剰に適合し過ぎないようシンプルさを維持するという、相反する二つの要因を同時に考慮する必要がある。これを表す定量的な指標が情報量規準で、「適合度の高さ」と「複雑さに対するペナルティ」という二つの項目を組み合わせてモデルを評価する。

BICとは

ベイズ情報量規準は1978年にギデオン・シュワルツ(Gideon E. Schwarz)氏が提唱した規準で、モデルの最大尤度と呼ばれる値 L の自然対数と、独立したパラメータの数 k を用いて BIC=-2lnL+klnn として与えられる。この値が低いほど良いモデルとされ、複数のモデルのBICを算出して最も低かったものを採用する。

第1項はデータによく当てはまるほど小さくなるが、第2項はパラメータが増えるほど大きくなり、複雑さに対するペナルティとして機能する。先行する赤池情報量規準(AIC)に似た式だが、第2項に標本数の自然対数が含まれており、AICよりもモデルが複雑化したときのペナルティが重いのが特徴となっている。

ホールドアウト検証

統計解析の検証手法の一つで、標本データを二つに分割し、片方で解析、もう片方で検証を行う方式。機械学習の場合は、学習データを二分割し、片方で訓練、もう片方でテストを行う。

標本データを集めて統計的な解析や予測を行う場合、得られた統計モデルが実際のデータにどの程度当てはまるかを検証する必要がある。検証には標本データとは別のデータが必要となるが、標本データを分割して一部を検証用に用いる手法を「交差検証」(cross validation)という。

ホールドアウト法は交差検証のうち最も単純な方式で、データ全体を2つに分割し、片方で解析、もう片方でテストを行う。一般に、テスト用は解析用よりも少ない。通常はテスト用をランダムに抽出して用意するが、データの偏りを防ぐため、層化抽出などでバランスを取るようにする場合もある。

データ数が十分多い場合にはホールドアウト法で特に問題は起きないが、データ数が少ない場合には解析用あるいはテスト用に十分なデータが用意できず、うまく機能しないこともある。解析と検証は一度だけ行うため、たまたま抽出したデータの性質に影響を受けやすく、結果が安定しにくいとされる。

ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる