導出することが可能です。する、つまり事前分布の分散を大きくすると最尤推定の式に近づくということです。t)の結果にも注意が必要です。事後分布の形も事前分布と同じく正規分布になります。とおくと以下の式になります。具体的な式は本書におまかせしますが、観測データによって分布のパラメータが更新されたと考えることが可能です。平均を表したベクトルです。回帰アルゴリズムとして今まで紹介した話を理解した上で、さらにベイズ推定を新たに組み合わせたので、少々難しかったかもしれません。ベイズ推定がベイズの定理1を前提にするため、説明の大半が数式でとっつきにくく感じたかもしれません。この式がやりたいことは極めてシンプルです。事前分布に対し観測データで更新をかけ、事後分布を求めるということです。するということを利用しました。(定数項は計算する際に利用していないため、本質的にはこの比例関係だけで推定を行っています。大事なことは、予めわかっていることや仮説を事前分布として推定に利用する事ができるということです。誤差関数にも現れています。一般にオーバーフィッティングを避けるための罰則項と考えられていますが、事前分布から定まるということがわかれば、より正確に定める事ができます。(詳細は本書に記載されています。このように理論を紐解くことで、モデルのハイパーパラメータの選択すらもより正確に行うことが出来るようになる場合があります。本書は、機械学習の基礎理論を全てカバーしているわけではありませんが、基礎中の”基礎”理論が多く紹介されています。機械学習の理論を知る第一歩として、本書は適切な書物ではないかと思います。これから機械学習を学ぼうと思っている方や、本格的な専門書では挫折してしまった方も今一度、本書とともに第一歩を踏み出してみるのも良いかもしれません。この記事は、本書籍で扱われているトピックについて、クラウドエースのメンバーが独自の見解で補足説明を加えたものになります。「ベイズ推定」で回帰分析を行う手法を学ぶ。専門のシステムインテグレーターです。最先端の機械学習環境の活用について、豊富な知見を持つエンジニアがご要望にあわせて最適な形で技術支援をいたします。機械学習テクノロジーをご検討の際は、一度お気軽にお問い合わせください。クラウドエースについてさらに詳しく記載していますので、ぜひ合わせて御覧ください。アルゴリズム:最尤推定法による教師なし学習こんにちは。クラウドエースのエンジニアの神谷です。内容を参考に、機械学習の裏にある数学的な理論をわかりやすく紹介していきます。昨今では、機械学習という技術がますます一般化されていますが、その分触れる事が少なくなった理論部分が、中井さんの書籍ではとてもわかりやすく解説されています。ここでは特に重要と思われるポイントを、章ごとに記事としてまとめています。「このような内容をもっと詳しく勉強したい!」と感じた方は、これらの記事を参考にしながら、中井さんの書籍を読んでいただければ、より深く掘り下げて理解を深めることができるでしょう。アルゴリズム」について説明します。アルゴリズムを用いて、数字画像のクラスタリング・生成をおこないます。平均法(6章参照)との類似点についても述べます。algorithm」の略であり、確率モデルのパラメータを最尤推定する手法の一つです。観測不可能な潜在変数に確率モデルが依存するケースで最尤推定法を適用するために用います。本記事のように正解ラベルを持たない文字データを扱う場合、各文字がどれぐらい発生するかどうかは観測不可能です。アルゴリズムが使えるのかを見ていきます。この観測不可能な潜在変数のことを「隠れ変数」と言います。アルゴリズムは反復法(数値解析分野における手法のうち、反復計算を用いるものの総称)の一種であり、期待値(E:Expectation)ステップと最大化(M:Maximization)ステップを交互に繰り返します。E(Expectation)ステップは「隠れ変数」に関する期待値を取る操作であり、確率モデルのパラメータを固定して、計算式に従って「隠れ変数の事後確率」を求めます。これは、モデルの尤度の期待値に相当します。モデルの尤度の期待値)」を最大化するようなパラメータを求めます。ステップで使われる「隠れ変数」の分布を決定するために用いられます。平均法」に代表される「ハード・クラスタリング」とは以下の点で異なります。一つのデータは一つのクラスタにのみ分類される。一つのデータは複数のクラスタに確率的に分類される。データ分布に確率モデルをあてはめ、どのクラスタに属するかを確率的に決める。アルゴリズムで分類・生成する前に、まずは要素を一つずつ確認していきましょう。最終的には、「特定の数字のクラスタごとに画像生成を行う」というモデルを作成しますが、まずは、簡単に特定の数字だけの場合を考えます。手書き数字画像)から、「画像生成器」を作成します。「画像生成器」を作成するにあたり、「画像生成器」から与えられたデータが生成される確率(尤度)を最大化するという条件を適用します。すると、このあと説明するようにこの「画像生成器」は、各画像の平均を取った「代表画像」と一致することがわかります。「代表画像」を理解し、「画像生成器」といった本章の前提となる重要な概念について説明していきます。「代表画像」について説明します。言っても、代表画像の定義は非常にシンプルで、与えられた複数の画像を平均化したものです。番目以降の画像群の各ピクセルの平均をとったものが、代表画像(一番左の画像)になります。手書き画像の具体的なピクセル値を図示すると、下図のようになります。値域の反転も行っています。つの手書き数字画像から平均画像を生成すると、次のようになります。多くの画像で共通して手書きされたピクセルほど、ピクセル値が大きくなり、より黒く表示されています。逆に、あまり手書きされなかったピクセルは値が小さくなり、より薄いグレーとして表示されます。上記の説明はもっともらしいものですが、さきほど説明した「画像生成器」とどのような関係があるのでしょうか?実は、この「代表画像」の各ピクセルの数値は、最尤推定で決定した「画像生成器」に一致します。この関係を次項で見ていきましょう。「ピクセルを黒」にするように新たな画像をランダムに生成します。すると代表画像に似た画像を複数生成できます。これが「画像生成器」の考え方ですが、ここで、画像生成器の精度を上げることを考えます。事前に与えられたデータにできるだけ類似した画像が生成できる画像生成器を考えます。すると、先ほどの「代表画像」がその答えになります。その理由は、次の通りです。この画像生成器の精度を上げるということは、生成データと実際のデータが近いということです。普通に考えると、両者が一致する確率はかなり低いはずですが、この確率をできるだけ高めるように画像生成器をチューニングします。章で説明した最尤推定法が利用できます。最尤推定法は、「与えられたデータから計算される尤度関数を最大化する」という条件で、データの発生元となる確率分布のパラメータを求める方法でした。ここでは、尤度関数として、「生成データと実際のデータがすべて一致する確率」を採用します。得られる確率」を、全画像分についてかけ合わせたものです。以下の様に全画像に対し平均を取ったものになり、結果として、先に説明した代表画像と同じものになります。代表画像の考え方が理論的にも間違っていなかったということがわかります。(計算過程は本書をご覧ください。アルゴリズムによる手書き文字分類にどう関わってくるのか説明します。前節では、一つの数字に着目し、その画像生成器を作成しました。種類の複数の手書き数字に関してそれぞれの画像生成器を作成することを考えます。個あることになります。得られる確率は以下の式で表されます。得られる確率は次式で表されます。(は確率ゆえ、を満たします。場合と同様に、画像生成器からランダムに生成される画像とトレーニング画像が一致する確率を最大化するという条件で、画像生成器を最適化することを考えます。種類の文字を代表する画像になることが期待できるでしょう。確率的に画像生成器を選択し、選択した画像生成器からランダムに生成される画像と実際のトレーニング画像が一致する確率(=尤度関数)は、具体的には、次式のようになります。「(画像生成器)」を求めることが手書き数字分類のゴールになります。ここでは、(画像生成器を選択する確率)が、冒頭で触れた「各文字がどれぐらい発生するか」を表す隠れ変数になっています。し、偏微分可能にするアプローチが利用できません。アルゴリズムは、このような形式の尤度関数を最大化するための手法です。と類似した手続きによって尤度関数を最大化するパラメータを求めていきます。アルゴリズムはソフト・クラスタリングの手法であるため、一つではなく複数のクラスタに確率的に属します。以下に示す画像を分類するとします。多くの人がこの数字画像を「3」と答えるはずですが、人によっては「2」や「0」に分類するかもしれません。アルゴリズムであれば「3」を含むいくつかのクラスタに確率的に属します。(例:「3」に60%、「4」と「2」に15%ずつ、「1」に10%。考えて、これを各クラスタに属する確率と考えます。具体的には、次式で表されます。全ての画像生成器からこの画像が生成される確率の和)で割ったものになっています。代表画像(=平均)を更新していきます。代表画像を更新していくことで、先ほど定義した尤度関数の値を大きくする最適化が進みます。画像データの分類(クラスタリング)に使用することができます。対して、それぞれの画像生成器に属する割合を(7.15)で計算して、この割合が最大となる画像生成器のクラスタに属するものと判定します。ここでは、それぞれの画像生成器が各クラスタの「代表点」になっているものと考えてください。節の定義と本節の具体例とを対比します。文章だけだとなかなか難しい部分もありますが、こちらの表を見ると幾分整理されるのではと思います。123を収束するまで繰り返す。アルゴリズムについて解説しました。アルゴリズムの活用方法について理解が深まったのではないでしょうか。平均法と類似した部分と異なる部分があったかと思います。平均法のようなハード・クラスタリングとは異なり、複数のクラスタに所属する確率が求まるソフト・クラスタリングという大きな違いがありました。章は、最尤推定からもう一歩進んだ、モデルのパラメータも確率的に考える「ベイズ推定」を紹介します。この記事は、本書籍で扱われているトピックについて、クラウドエースのメンバーが独自の見解で補足説明を加えたものになります。「ベイズ推定」で回帰分析を行う手法を学ぶ。専門のシステムインテグレーターです。最先端の機械学習環境の活用について、豊富な知見を持つエンジニアがご要望にあわせて最適な形で技術支援をいたします。機械学習テクノロジーをご検討の際は、一度お気軽にお問い合わせください。クラウドエースについてさらに詳しく記載していますので、ぜひ合わせて御覧ください。クラウドエースのエンジニアの神谷です。内容を参考に、機械学習の裏にある数学的な理論をわかりやすく紹介していきます。昨今では、機械学習という技術がますます一般化されていますが、その分触れる事が少なくなった理論部分が、中井さんの書籍ではとてもわかりやすく解説されています。ここでは特に重要と思われるポイントを、章ごとに記事としてまとめています。「このような内容をもっと詳しく勉強したい!」と感じた方は、これらの記事を参考にしながら、中井さんの書籍を読んでいただければ、より深く掘り下げて理解を深めることができるでしょう。アルゴリズム」について説明します。アルゴリズムを用いて、数字画像のクラスタリング・生成をおこないます。平均法(6章参照)との類似点についても述べます。algorithm」の略であり、確率モデルのパラメータを最尤推定する手法の一つです。観測不可能な潜在変数に確率モデルが依存するケースで最尤推定法を適用するために用います。本記事のように正解ラベルを持たない文字データを扱う場合、各文字がどれぐらい発生するかどうかは観測不可能です。アルゴリズムが使えるのかを見ていきます。この観測不可能な潜在変数のことを「隠れ変数」と言います。アルゴリズムは反復法(数値解析分野における手法のうち、反復計算を用いるものの総称)の一種であり、期待値(E:Expectation)ステップと最大化(M:Maximization)ステップを交互に繰り返します。E(Expectation)ステップは「隠れ変数」に関する期待値を取る操作であり、確率モデルのパラメータを固定して、計算式に従って「隠れ変数の事後確率」を求めます。これは、モデルの尤度の期待値に相当します。モデルの尤度の期待値)」を最大化するようなパラメータを求めます。ステップで使われる「隠れ変数」の分布を決定するために用いられます。平均法」に代表される「ハード・クラスタリング」とは以下の点で異なります。一つのデータは一つのクラスタにのみ分類される。一つのデータは複数のクラスタに確率的に分類される。データ分布に確率モデルをあてはめ、どのクラスタに属するかを確率的に決める。アルゴリズムで分類・生成する前に、まずは要素を一つずつ確認していきましょう。最終的には、「特定の数字のクラスタごとに画像生成を行う」というモデルを作成しますが、まずは、簡単に特定の数字だけの場合を考えます。手書き数字画像)から、「画像生成器」を作成します。「画像生成器」を作成するにあたり、「画像生成器」から与えられたデータが生成される確率(尤度)を最大化するという条件を適用します。すると、このあと説明するようにこの「画像生成器」は、各画像の平均を取った「代表画像」と一致することがわかります。「代表画像」を理解し、「画像生成器」といった本章の前提となる重要な概念について説明していきます。「代表画像」について説明します。言っても、代表画像の定義は非常にシンプルで、与えられた複数の画像を平均化したものです。番目以降の画像群の各ピクセルの平均をとったものが、代表画像(一番左の画像)になります。手書き画像の具体的なピクセル値を図示すると、下図のようになります。値域の反転も行っています。つの手書き数字画像から平均画像を生成すると、次のようになります。多くの画像で共通して手書きされたピクセルほど、ピクセル値が大きくなり、より黒く表示されています。逆に、あまり手書きされなかったピクセルは値が小さくなり、より薄いグレーとして表示されます。上記の説明はもっともらしいものですが、さきほど説明した「画像生成器」とどのような関係があるのでしょうか?実は、この「代表画像」の各ピクセルの数値は、最尤推定で決定した「画像生成器」に一致します。この関係を次項で見ていきましょう。「ピクセルを黒」にするように新たな画像をランダムに生成します。すると代表画像に似た画像を複数生成できます。これが「画像生成器」の考え方ですが、ここで、画像生成器の精度を上げることを考えます。事前に与えられたデータにできるだけ類似した画像が生成できる画像生成器を考えます。すると、先ほどの「代表画像」がその答えになります。その理由は、次の通りです。この画像生成器の精度を上げるということは、生成データと実際のデータが近いということです。普通に考えると、両者が一致する確率はかなり低いはずですが、この確率をできるだけ高めるように画像生成器をチューニングします。章で説明した最尤推定法が利用できます。最尤推定法は、「与えられたデータから計算される尤度関数を最大化する」という条件で、データの発生元となる確率分布のパラメータを求める方法でした。ここでは、尤度関数として、「生成データと実際のデータがすべて一致する確率」を採用します。得られる確率」を、全画像分についてかけ合わせたものです。以下の様に全画像に対し平均を取ったものになり、結果として、先に説明した代表画像と同じものになります。代表画像の考え方が理論的にも間違っていなかったということがわかります。(計算過程は本書をご覧ください。アルゴリズムによる手書き文字分類にどう関わってくるのか説明します。前節では、一つの数字に着目し、その画像生成器を作成しました。種類の複数の手書き数字に関してそれぞれの画像生成器を作成することを考えます。個あることになります。得られる確率は以下の式で表されます。得られる確率は次式で表されます。(は確率ゆえ、を満たします。場合と同様に、画像生成器からランダムに生成される画像とトレーニング画像が一致する確率を最大化するという条件で、画像生成器を最適化することを考えます。種類の文字を代表する画像になることが期待できるでしょう。確率的に画像生成器を選択し、選択した画像生成器からランダムに生成される画像と実際のトレーニング画像が一致する確率(=尤度関数)は、具体的には、次式のようになります。「(画像生成器)」を求めることが手書き数字分類のゴールになります。ここでは、(画像生成器を選択する確率)が、冒頭で触れた「各文字がどれぐらい発生するか」を表す隠れ変数になっています。し、偏微分可能にするアプローチが利用できません。アルゴリズムは、このような形式の尤度関数を最大化するための手法です。と類似した手続きによって尤度関数を最大化するパラメータを求めていきます。アルゴリズムはソフト・クラスタリングの手法であるため、一つではなく複数のクラスタに確率的に属します。以下に示す画像を分類するとします。多くの人がこの数字画像を「3」と答えるはずですが、人によっては「2」や「0」に分類するかもしれません。アルゴリズムであれば「3」を含むいくつかのクラスタに確率的に属します。(例:「3」に60%、「4」と「2」に15%ずつ、「1」に10%。考えて、これを各クラスタに属する確率と考えます。具体的には、次式で表されます。全ての画像生成器からこの画像が生成される確率の和)で割ったものになっています。代表画像(=平均)を更新していきます。代表画像を更新していくことで、先ほど定義した尤度関数の値を大きくする最適化が進みます。画像データの分類(クラスタリング)に使用することができます。対して、それぞれの画像生成器に属する割合を(7.15)で計算して、この割合が最大となる画像生成器のクラスタに属するものと判定します。ここでは、それぞれの画像生成器が各クラスタの「代表点」になっているものと考えてください。節の定義と本節の具体例とを対比します。文章だけだとなかなか難しい部分もありますが、こちらの表を見ると幾分整理されるのではと思います。123を収束するまで繰り返す。アルゴリズムについて解説しました。アルゴリズムの活用方法について理解が深まったのではないでしょうか。平均法と類似した部分と異なる部分があったかと思います。平均法のようなハード・クラスタリングとは異なり、複数のクラスタに所属する確率が求まるソフト・クラスタリングという大きな違いがありました。章は、最尤推定からもう一歩進んだ、モデルのパラメータも確率的に考える「ベイズ推定」を紹介します。この記事は、本書籍で扱われているトピックについて、クラウドエースのメンバーが独自の見解で補足説明を加えたものになります。「ベイズ推定」で回帰分析を行う手法を学ぶ。専門のシステムインテグレーターです。最先端の機械学習環境の活用について、豊富な知見を持つエンジニアがご要望にあわせて最適な形で技術支援をいたします。機械学習テクノロジーをご検討の際は、一度お気軽にお問い合わせください。クラウドエースについてさらに詳しく記載していますので、ぜひ合わせて御覧ください。平均法:教師なし学習のモデルの基礎こんにちは。クラウドエースのエンジニアの坂田です。内容を参考に、機械学習の裏にある数学的な理論をわかりやすく紹介していきます。昨今では、機械学習という技術がますます一般化されていますが、その分触れる事が少なくなった理論部分が、中井さんの書籍ではとてもわかりやすく解説されています。ここでは特に重要と思われるポイントを、章ごとに記事としてまとめています。「このような内容をもっと詳しく勉強したい!」と感じた方は、これらの記事を参考にしながら、中井さんの書籍を読んでいただければ、より深く掘り下げて理解を深めることができるでしょう。平均法(k-means)」について学びます。平均法は、データの類似度に基づいてグループ分けをする「クラスタリング」と呼ばれるタスクに適用することができます。平均法はクラスタ(後述)に「代表点」を設定し、代表点とデータの間の距離が小さい場合に「類似度が高い」と判定し、クラスタリングを行います。この記事では、クラスタリングの基本的な考え方とk平均法の理論について説明します。平均法を実装する際の注意点についてもご紹介します。つのグループは「クラスタ」と呼ばれます。教師あり学習の「分類」と少し似ていますが、教師あり学習は正解ラベルを元にデータを分類するのに対し、クラスタリングは正解ラベルなしでデータをグループ分けします。犬と猫の画像の分類・クラスタリングの例を見ると、分類では「犬」「猫」といった正解ラベルが画像に付属していますが、クラスタリングでは画像に正解ラベルはありません。そのため、分類モデルは「ラベル」(またはその確率)を出力するのに対し、クラスタリングモデルは画像のグループ分けを行います。クラスタリングではデータ同士の類似度を元にグループ分けを行います。平均法」はクラスタの「代表点」を取り、代表点から各データまでの距離が短いほど類似度が高いと判断します。平均法について具体的に見ていきましょう。個のクラスタに分けるアルゴリズムです。平均法の具体的な手順を見ていきます。平均法は以下に示す手順でクラスタリングを行います。それでは、ステップごとに説明していきます。平面上に散らばっています。個」のクラスタに分けたいと思います。個のデータから構成されるトレーニングセットはと表記します。個のクラスタそれぞれの「代表点」をランダムに設定します。代表点は「クラスタの中心」を表し、データがどのクラスタに属するかを決める基準となるものです。