機械学習とは
機械学習とは、大量のデータからルールやパターンを発見し、それを応用することで、判断や予測を行う技術です。機械学習は、AI(人工知能)の要素技術であり、基本的には統計分析の手法を用いています。
類似の言葉にデータマイニングがあります。データマイニングの目的は、大量のデータからルールやパターンを発見することで、機械学習の目的は、それを利用し判断や予測を行うことです。両者は同じほぼ技術が用いられます。
以下で機械学習の主な技法について説明します。
決定木
決定木(decision tree)とは、決定を行うための予測モデルで、意思決定を助けるすることを目的としている。
例えば、コンビニのある商品の売れ行きが、天気(晴、雨)、気温(高い、低い)、曜日(平日、休日)で異なる場合、店長は仕入れる数量を条件によって増減させる必要があります。このとき、天気・気温・曜日は独立変数として、8つのケースに分けて、仕入れの増減の決定を行うことになります。
決定木のアルゴリズムには、C4.5、CARTなどがあります。

ニューラルネットワーク
ニューラルネットワークとは、脳機能の特性に類似した数理的モデルです。ニューロン(神経細胞)とシナプス(ニューロンの接合部分)からネットワークを形成し、学習によってシナプスの結合強度を変化させ、問題解決を行います。
ニューロンを配置する層は、入力層、中間層、出力層に分かれており、中間層が2層以上の場合を、ディープラーニングと呼びます。
入力データに対し、期待した出力が得られるよう、シナプスの結合強度を変えることを「学習する」と言います。

サポートベクトルマシン
サポートベクトルマシンとは、与えられたデータを分類する、つまり境界を設定するするための技法です。
通常は、この境界は線形図形で表されます。例えば、2次元(平面)上のデータを分類する場合は直線で、3次元(空間)内のデータは平面で分離されます。一般的には、超平面が境界となり、以下で表すことができます。
$$ax+by+cz+・・・+d=0$$
x、y、zは空間軸を表し、データが分布する空間の次元の数だけ存在します。a~dは係数です。各データと超平面との距離を計算し、その合計(マージン)が最大となる条件により、係数が求められます

データクラスタリング
データクラスタリングとは、与えられたデータをいくつかの集団(クラスタ)に分類するための技法です。簡単に言えば、距離が近いデータは同じクラスタに分類され、距離が遠いデータは異なるクラスタに分類されます。
重心法の場合は、クラスタの中心(重心)と各データとの距離の合計が最小になるように、そのクラスタに入るデータを選択します。
データクラスタリングのアルゴリズムには、ウォード法、K平均法などがあります。

ベイジアンネットワーク
ベイジアンネットワークとは、各事象(確率変数)の因果関係を確率により記述するネットワークモデルで、複雑で不確実な事象の起こる可能性を予測することができます。
例えば、事象 $A,B,C$ の因果関係を、$A\to C$、$B\to C$ とする。事象 $A$ が起きる確率を $P(A)$ 、$A$ が起きて $C$ が起きる確率を $P(C|A)$ とすると、$C$ が起きる確率は以下で表すことができます。
$$P(A,B,C)=P(C|A,B)P(A)P(B)$$


