機械学習を用いるのは、データを分析、処理して求めたい結果を得るためです。
短時間で効率的に結果を得るためには、適切なアルゴリズムを選択する必要があります。
機械学習アルゴリズムには大きく分けて「教師あり学習」「教師なし学習」「強化学習」があり、それぞれに特徴があります。
この記事では機械学習アルゴリズムの種類や特徴、仕組みについて解説します。
機械学習とは
機械学習はAIを支える技術の一つで、コンピューターが自ら大量のデータを学習し、分析や予測といったタスクを遂行するためのアルゴリズムやモデルを構築する技術のことです。
機械学習は「教師あり学習」「教師なし学習」「強化学習」の3種類に大別できます。
機械学習が重要視される理由
機械学習が重要視される理由は「若年層の労働力不足」と「コンピュータ技術の向上」の2つです。
手動で行っていたデータ入力やメールの処理などが、機械学習により自動化されると、労働力を分散させることができます。
加えて、コンピュータ技術の向上により膨大なデータの処理が可能になりました。
データ分析やそれに伴う作業・処理の効率化による、生産性の向上が期待されます。
現代では、さまざまな分野(医療現場・マーケティング・画像識別など)で機械学習が取り入れられています。
教師あり学習とは
教師あり学習とは、判断するための基準を構築するのに必要なデータを、人間が与えることで教師データを作成し、それに基づいて判断を行うという方法です。 アルゴリズムがデータから学習するプロセスが、まるで生徒が教師から勉強を教わっているように見えることからこの名前が付けられました。
機械学習を実利用するときは、多くがこの教師あり学習を用います。
教師あり学習は、更に「分類」と「回帰」の2グループに分けることができます。
- 分類とは、既存のデータを元に、予め設定したいくつかのクラスに分類するものを言います。
例えば迷惑メールを振り分ける処理がこれに該当します。 - 回帰は、連続する値を予測する際に用いるもので、出力は実際の値で行います。
不動産データにおいて、住宅規模データを元に販売価格を予想するような処理がこれに該当します。
代表的な教師あり学習
教師あり学習の代表的なアルゴリズムとして、
- 「線形回帰」
- 「ランダムフォレスト」
- 「サポートベクターマシン」
- 「決定木」
- 「ロジスティック回帰」
- 「k近傍法」
- 「ナイーブベイズ(単純ベイズ分類器)」
- 「Feed Forward Neural Network」
- 「正則化」
の9つがあげられます。
教師あり学習①線形回帰
線形回帰は、昔からあるシンプルな方法で、散らばっているデータから特徴を掴み、関数のグラフに近づける方法です。
例えば、ある地域における住宅の広さと家賃の関係を収集しグラフにすると、ある程度の相関関係が表れ一次関数のグラフにすることができます。
線形回帰は、一次式以外の関数モデル化もすることができ、変動要素を加えることでより複雑な予測を行うことも可能です。
部屋の広さだけではなく、築年数やアクセスの便利さと行った条件を加味した上で家賃を予測することができるのです。
教師あり学習②ランダムフォレスト
ランダムフォレストとは、「決定木」を利用した手法のことです。
決定木とは、データを元に樹木状のモデルを作成し、分類ルールに従って何らかの決定を行っていく方法です。
分類するための分類木と、回答を推定する回帰木があります。
分類木の場合は、多数決で分類結果を出力し、回帰木は、各決定木の平均値を予測値として扱うことになります。
同じような決定木を複数並べても意味がないので、それぞれ異なるデータを元にしたり、異なるルールを設定することで、予測の精度を上げることになります。
教師あり学習③サポートベクターマシン
サポートベクターマシンとは、分類と回帰両方に利用することができる、教師あり学習です。
サポートベクターと呼ばれる、データを分割する直線に最も近いデータ点を利用します。
サポートベクターを定めて分割線を決めることができれば、分割線より上にあるか下にあるかによってクラスを分類することができます。
識別能力が高く、精度もいいため人気の高いアルゴリズムです。
これらのアルゴリズムでは、分類や回帰を行うことができますが、どのアルゴリズムが最も精度の良い結果を出すかは、データの量や質によって変わります。
これらのアルゴリズムを複数試し、結果のいいアルゴリズムを選定するのが通常の流れです。
教師あり学習④決定木
決定木とは、データを元に樹木状のモデルを作成し、分類ルールに従って何らかの決定を行う方法です。
YES or NOで答えられる条件で予測を行うため、人間の思考プロセスに近く、結果が分かりやすいのが特徴です。
ビッグデータの処理に適している反面、過学習しやすいという短所があります。
しかし、アンサンブル学習を用いることで、決定木の欠点の多くは改善できます。
教師あり学習⑤ロジスティック回帰
ロジスティック回帰分析は、いくつかの要因(説明変数)から「2値の結果(目的変数)」が起こる確率を説明・予測する統計手法です。
2値とは、「ある事象が発生する」「ある事象が発生しない」のように答えが2つしかない値のことをいいます。
マーケティングでよく使用されます。
教師あり学習⑥k近傍法
k近傍法はパターン認識でよく使われ、機械学習アルゴリズムの中でも最も単純とされています。
既に答えがわかっている問題を教師あり学習していく手法で、遅延学習として分類されています。
教師あり学習⑦ナイーブベイズ
ナイーブベイズは、ベイズの定理という、数学(確率)の定理を用いた教師あり学習アルゴリズムです。
単純(実装も簡単)かつ強力で処理が高速、とても大きなデータセットに対しても有効であり、現実世界の複雑な問題にも上手く対処できます。
デメリットとしては、各特徴量が独立であると仮定しなければならない点です。
リアルタイム予測・テキスト分類・レコメンドシステム・センチメント分析に用いられています。
教師あり学習⑧Feed Forward Neural Network
ニューラルネットワークは、機械学習を更に自動化するためのディープラーニング(深層学習)に使われます。
生物の神経ネットワークの構造と機能を模倣するという観点から生まれた学習アルゴリズムです。
人工神経を相互接続したもので計算を構造化し、コネクショニズム的計算技法で情報を処理します。
インターネット関連サービス・金融・医療・農業・翻訳・自動車・インフラなど、さまざまな分野で応用されています。
教師あり学習⑨正則化(Regularization)
正則化法は、機械学習における過学習を防ぐ手段としてよく用いられるアルゴリズムです。
パラメータの値が大きくなりすぎるのを防ぎ、小さい値に近づけていくことで、変数の影響を抑える数学的な手法になります。
不要なパラメータの影響を小さくすることで、複雑なモデルを単純なモデルに変えていきながら過学習を防ぎます。
教師なし学習とは
教師あり学習が「正解」を元にデータを学習するのに対し、教師なし学習は「正解」データを与えることなく行います。
人間は大量のデータを与えるだけで、後はアルゴリズム自身がそのデータを探索し、その構造やパターンを抽出したりデータ分類を行ったりします。
データの中にある重要な構造を見つけ出す役割を持ちます。
代表的な教師なし学習
教師なし学習は、
- 「クラスタリング」
- 「アソシエーション分析」
の2つに分類することができます。
教師なし学習①クラスタリング
クラスタリングは、教師あり学習の「分類」の延長線上にある手法で、似たデータの集まりを機能やカテゴリごとに分けて集めるやり方です。
同じメールの仕分けであっても、与えられた「迷惑メールか否か」という「正解」に基づいてグループ分けを行う教師あり学習に対し、クラスタリングではどのようなグループ分けになるか分からず、そのグループが何を意味するのかは人が解釈する必要があります。
クラスタリングのグループ分けには、「段階的クラスタリング」と「非段階的クラスタリング」があります。
段階的クラスタリングは、最も似ている組み合わせをひとかたまりのグループとして分けていく方法です。
出力されたまとまりを樹形図で見ることもできますが、大量のデータを分類するには向いておらず、主に対象の少ないデータを分けるときに用いられます。
非段階的クラスタリングは、事前にまとまりの数を決めておき、その数のまとまりにデータを分類していくという仕組みです。
段階的クラスタリングに比べて大量のデータでも分析することができます。
クラスタリングのように「グループ分け」を用いた手法に、「主成分分析(PCA)」があります。
これはできるだけ元の情報を損なわないようにしながら、ばらつきのある多次元データをより少ない次元に圧縮して表現する手法です。
アンケートの各項目の評価結果から、総合評価を導くと行った活用方法があります。
教師なし学習②アソシエーション分析
アソシエーション分析は、データの大部分を表すようなルールを見つけ出す手法です。
「If(もしこうだったら)、Then(こうなる)」という二つのアソシエーションルールを作り出し、それらの関連性を「支持度」と「信頼度」という二つの指標で計算します。
アソシエーション分析の有名な実用例として、「ビールと紙おむつの関連性」というものがあります。
これはアメリカのスーパーマーケットでビールと紙おむつ両方を購入する人が多いと分かり、二つを並べて陳列することで売り上げが向上したという話です。
機械学習は、機械に大量のデータを学習させ、それがなんであるか判断させるモデルの他にもう一つ、入力されたデータや画像から新しい疑似データを生成するモデルが存在します。
その一つがGANで、画像生成やディープラーニングを行う技術として注目されています。
従来の、サンプル画像を傾けたり、色を変えるなどしてデータを増やすのではなく、特徴を含んだデータを新たに作り出すことができるので、データ不足という課題を克服することができるからです。
GANでは、Generator(生成者)と、Discriminator(判定者)の二つのネットワークが競合することで学習が行われます。
Generatorが入力データに似た画像を生成し、Discriminatorは、それが訓練データなのか、Generatorが生成した画像なのかを判断します。
この過程を繰り返すことで学習を進めていきます。
データの増幅ができたり、他の技術との組み合わせが可能なユニークな仕組みではありますが、もろい部分もあるため、応用研究が進められている機械学習です。
強化学習とは
強化学習とは、機械学習の種類の1つです。
さまざまなデータを与えられたコンピューターが試行錯誤を繰り返すことにより、最適な挙動をするように学習します。
「教師あり学習」とも「教師なし学習」とも異なる問題設定を持っています。
代表的な強化学習
代表的な強化学習のアルゴリズムに、マルコフ連鎖があります。
マルコフ連鎖
マルコフ連鎖は状態の遷移についての確率モデルです。
今現在から状態が変化する確率は、そこにいたるまでの状態がどのようなものであったかに関わらず、現在の状態から決定します。
天気で例えると、明日の天気予報は昨日までの天気に関係なく、今日の天気によって決まるというイメージです。
時間の経過などの条件によって、ランダムに変化していくものを数学的に表します。
適切な機械学習を選択するには
機械学習は、教師あり学習と教師なし学習の2種類に大別することができ、更に特徴に応じて細分化することができます。
更に、半教師あり学習や強化学習と行った方法も存在します。
さまざまなデータに対して目的に応じた分析を行うためには、機械学習の特徴を知り適切なものを選んだり組み合わせたりすることが大切です。
また、機械学習を行う際には、入力するデータの質や量が非常に重要です。
機械学習アルゴリズムの理解と、実際の業務知識やデータの整理を同時に進めることで精度の高いAIを作成できます。
まずは機械学習について正しく理解し、活用できるようになるために知識をつけてみてはいかがでしょうか。