機械学習は、アルゴリズムを使ってデータからパターンやルールを導き出し、データの分類や物事の予測を行います。機械学習を活用するには、活用シーンに適したアルゴリズムの選択が重要です。活用シーンに適したアルゴリズムを採用することで、機械学習による企業の問題解決が可能になります。
この記事では、機械学習の種類ごとにある代表的なアルゴリズムの特徴をわかりやすく解説しています。機械学習のアルゴリズムに関してまとめた内容になっているので、機械学習の導入を検討している方は、ぜひご覧ください。
機械学習のアルゴリズムとは?定義を解説
アルゴリズムとは、特定の問題を解決する際に用いられる計算方法や手順のことです。機械学習は、アルゴリズムを使って与えられたデータからパターンやルールを見つけ出し、新しいデータの分類や物事の予測を行います。
機械学習のアルゴリズムには「分類」「回帰」「クラスタリング」などのさまざまな種類があり、それぞれ適した活用シーンは異なります。機械学習を実装する目的に適したアルゴリズムを採用することで、企業の問題解決が可能です。
機械学習における3つの分類
機械学習には、3つの学習方法があります。機械学習における学習方法の分類は、以下の通りです。
機械学習における学習方法の分類 | 概要 |
教師あり学習 | コンピューターへデータとともに正解を示して、コンピューターが自ら正解を導き出せるようにする学習方法 |
教師なし学習 | コンピューターに正解を示さないままデータの特徴やルール、パターンを学習させる方法 |
強化学習 | 教師あり学習のプロセスでコンピューターが示した結果に点数をつけて、より高い点数が得られる結果を学習させる方法 |
3つそれぞれの特徴を確認して、機械学習の理解を深めましょう。
教師あり学習
教師あり学習とは、正解となる教師データを事前に学習させて、正解となる結果をコンピューターが提示できるようにする学習方法です。正解が明確にあるときに効果的な学習方法で、教師データの量と質が充実するほど精度が上がります。
十分に学習が進んだ後は、正解の無いデータを与えても、コンピューター自身で正解を導き出せるようになります。教師あり学習は、不良品検知や売上予測などに活用されている学習方法です。教師あり学習には「分類」と「回帰」の2つの手法があります。
分類
分類とは、データがどのグループに属するか判断して分類する手法です。データをはい・いいえのように、2つのグループに分類することを「二値分類」と呼び、同様に3つ以上のグループに分類することを「多値分類」と呼びます。分類の代表的な活用事例には、メールのスパム判定や製造現場の不良品検知などがあります。
回帰
回帰とは、連続するデータから変化を読んで、数値を予測する手法です。回帰の代表的な活用事例には、店舗の販売予測があります。過去の天候や曜日、商品情報などのデータをもとに、店舗での販売個数の予測が可能です。販売個数を正確に予測できれば、仕入れや生産量の最適化に活用でき、利益向上や在庫の廃棄量削減につながります。
教師なし学習
教師なし学習とは、正解となる教師データを与えないまま、コンピューターが自らデータのルールやパターンを学習する方法です。正解がわからない状態からコンピューターが学習を進めるため、未知のデータを与えても対応できる柔軟性があります。例えば、顧客データを分析して、顧客をいくつかのグループに分けたり、異常なデータを検出したりすることができます。
教師なし学習は、データ分類や異常検出がしたいときによく活用される学習方法です。教師なし学習には「クラスタリング」「次元削減」という代表的な2つの手法があります。
クラスタリング
クラスタリングとは、一定のルールに基づいてデータをグルーピングする手法です。クラスタリングには、以下のような2つの種類があります。
クラスタリングの種類 | 概要 | 特徴 |
階層クラスタリング | 1つのデータ群から、一番類似性の高い組み合わせのものを順に抽出して、グルーピングする手法 |
|
非階層クラスタリング | 異なる性質のもので構成されたデータ群から、類似性の高いものを抽出して、階層を構築せずにグルーピングする手法 |
|
次元削減
次元削減とは、データを圧縮・可視化して、不要な情報をなくす手法です。データの圧縮・可視化によって重要な情報だけが残り、機械学習の出力スピードや品質を向上できます。次元削減は、主にデータ量が多くなりやすい顔認識で利用されています。
強化学習
強化学習とは、教師あり学習のプロセスでコンピューターが出力した結果に、点数をつけて評価する流れを繰り返し、試行錯誤を促して出力品質を向上させる学習方法です。出力の結果と評価を紐付けて学習し、点数が最も良くなる行動パターンを導き出します。
強化学習は、まとまった一連の行動を学習するような一定環境での予測に向いている学習法です。自動運転やロボット制御、オセロや囲碁といったボードゲームのAIなどに活用されています。
教師あり学習の代表的な7つのアルゴリズム
教師あり学習には、以下のような代表的な7つのアルゴリズムがあります。
- k近傍法(k-NN)
- ロジスティック回帰
- 線形回帰
- 決定木
- ランダムフォレスト
- サポートベクターマシン(SVM)
- ニューラルネットワーク
代表的なアルゴリズムを確認して、機械学習の理解を深めましょう。
k近傍法(k-NN)
k近傍法とは、近い属性を持つデータを同じグループだと判断して、分類する手法です。ルールに従って学習データを並べて、データの特徴を数値で表します。データ分類で主に活用されるアルゴリズムですが、分類と回帰のどちらにも使用できます。k近傍法は、機械学習のアルゴリズムの中でも特に単純でわかりやすい手法です。
ロジスティック回帰
ロジスティック回帰とは、複数の要因から2つの結果が起きる確率を予測するための手法です。二値分類に適しており、がんの罹患率算出や、試験の合格率算出などに活用できます。名前に「回帰」とつきますが、分類問題に用いられており、二値分類だけでなく多項分類にも使用可能です。
線形回帰
線形回帰とは、データの数式から直線を求めて、説明変数に基づいて目的変数を予測する手法です。説明変数とは「要因となる数値」目的変数とは「結果となる数値」を指します。線形回帰では、2つの説明変数の関係性を線形関数で表し、最小二乗法を用いて計算します。
線形回帰は、機械学習のアルゴリズムの中でもわかりやすく、最も基本的な手法の1つです。計算コストが低く、解釈しやすい特徴があります。説明変数が1つの分析モデルを「単回帰分析」説明変数が2つ以上の分析モデルを「重回帰分析」と呼びます。
決定木
決定木とは、データを複数の二者択一の条件で分類する手法です。1つの要素から枝分かれしていく木構造のアルゴリズムで、計画を立てて目標を遂行する際に活用されます。データの特徴に応じて繰り返し分岐して、最終的な物事の予測や判断をする点が特徴です。複数の二者択一を組み合わせるため、詳細な分類ができます。
ランダムフォレスト
ランダムフォレストとは、複数の決定木を使用して、より高性能なモデルを作成する手法です。決定木の出力結果をまとめて、多数決で物事の答えを導き出します。計算速度や予測精度が高く、結果を論理的に説明しやすい点が特徴です。ランダムフォレストでは、分割する際にデータのパターンやルールをランダムに選択するため、異なる出力結果が得られます。
サポートベクターマシン(SVM)
サポートベクターマシンとは、回帰問題と分類問題の両方に活用できる手法です。サポートベクターという予測に必要なデータを利用して、グラフ上で分割線を決めた後、分割線の上か下のどちらに位置するかを判断して、クラスを分類します。サポートベクターマシンは、識別能力と出力精度が高い特徴があります。
ニューラルネットワーク
ニューラルネットワークとは「入力層、中間層、出力層」という構造になっており、より複雑な決定境界を求められる手法です。入力層、中間層、出力層には、それぞれ以下のような役割があります。
- 入力層:データを入力する
- 中間層:計算を行う
- 出力層:結果を出力する
機械学習の一種であるディープラーニング(深層学習)は、ニューラルネットワークを多層化したものです。ニューラルネットワークには、教師あり学習と教師なし学習のどちらもあります。
教師なし学習の代表的な3つのアルゴリズム
教師なし学習には、以下のような代表的な3つのアルゴリズムがあります。
- k平均法(k-means)
- 主成分分析
- GAN(敵対的生成ネットワーク)
代表的なアルゴリズムを確認して、学習方法別の特徴を把握しましょう。
k平均法(k-means)
k平均法とは、データが配置された2次元の座標上に点を配置して、各データから一番近い点でデータをグルーピングする手法です。クラスタリングの代表的な手法で、シンプルでわかりやすい特徴があります。k平均法の具体的な手順は、以下の通りです。
- 似たような特徴を持つデータ同士を同じグループに分類する
- グループ数を指定して、各データに対してランダムにグループを割り当てた後、各グループの中心点を計算する
- 各データの中心点からの距離を求める
- 各データを中心点が最も近いグループに再度割り当て、改めて中心点を計算する
k平均法は、主にECサイトにおける製品レコメンドで活用されます。
主成分分析
主成分分析とは、次元削減の1つで、データの次元数を削減するために用いられる手法です。データの情報を要約し、なるべく特徴を損なわずに、データを少ない次元数で表します。主成分分析は、大量の変数間の関係性を調べるのに効果的な手法です。通常、大量の変数を分析するには膨大な時間がかかりますが、主成分分析の活用によって時間を短縮できます。
GAN(敵対的生成ネットワーク)
GANとは、敵対的な関係にある生成者と判定者それぞれの判別を混合させて、学習を進める手法です。「Generative Adversarial Networks」の頭文字を取った用語で、日本語では「敵対的生成ネットワーク」と呼ばれています。
Generator(生成)とDiscriminator(識別)の2つのネットワークが競争することにより、学習を進める特徴があります。生成する機能の精度が高まると、同時にそれを識別する機能の精度も高くなる仕組みです。
強化学習の代表的な3つのアルゴリズム
強化学習には、以下のような代表的な3つのアルゴリズムがあります。
- Q学習(Q-Learning)
- Sarsa
- モンテカルロ法
代表的なアルゴリズムを確認して、強化学習の理解を深めましょう。
Q学習(Q-Learning)
Q学習とは、ランダムな行動から得た価値を蓄積して、最終的に一番高い価値となった行動を見つけ出す手法です。強化学習の中で最も活用されることが多い手法で、Q学習の優れた点を取り入れたDQN(Deep Q-Network)というアルゴリズムもあります。DQNは、Q学習とディープラーニングの1つであるDNN(ディープニューラルネットワーク)を組み合わせたアルゴリズムです。Q学習よりもさらに複雑なタスクを実行できます。
SARSA
SARSAとは、「状態(S)」「行動(A)」「報酬(R)」「状態(S)」「行動(A)」の5つの要素を用いる手法です。「状態、行動、報酬、状態、行動」という一連の流れを繰り返しながら学習を進めます。実際に行動した結果をもとに、期待値の見積もりを置き換えていく点が特徴です。
モンテカルロ法
モンテカルロ法とは、乱数を使って試行錯誤を重ねながら、最適解に近いもの(近似解)を得る手法です。不確実な現象について、あらゆるパターンを繰り返しシミュレーションすることで、精度の高い結果が得られます。モンテカルロ法は、非常に多くのシミュレーションを行う必要があるため、効率の悪いところが欠点です。
以下の記事では、強化学習のアルゴリズムについてより詳しく解説しています。強化学習をさらに深く理解したい方は、以下の記事もぜひご覧ください。
機械学習のアルゴリズムを使い分ける3つのポイント
機械学習のアルゴリズムを使い分けるポイントは、以下の3つです。
- 予測精度
- 利用目的
- 計算にかかる時間
ポイントを確認して、機械学習を活用する際の参考にしましょう。
予測精度
機械学習の手法を選ぶ際に最も重要なのは、予測精度の高さです。予測結果と実際の結果の差が少ないほど、予測精度が高いと言えます。予測精度が高い手法は以下の通りです。
- ランダムフォレスト
- サポートベクターマシン(SVM)
- ニューラルネットワーク
予測精度が高い手法は、計算に時間がかかるというデメリットがあるため、活用する際は注意しましょう。
利用目的
機械学習の利用目的に応じて、対象のタスクが得意な手法を選ぶことも重要です。手法を検討するときは、まず最初にデータ活用の目的を明確にしましょう。どの手法を選べば利用目的を達成する出力結果が得られるかを把握して、適切なものを選択します。機械学習が行えるタスクの例には、以下のようなものがあります。
- データをいくつかに分類する
- 将来の数値を予測する
- 教師データなしでいくつかのグループにまとめる
- 大量のデータから重要なデータを抽出する
計算にかかる時間
機械学習は、データ量が多いほど計算にかかる時間が長くなるため、リアルタイムでの素早い処理が求められる場面では、計算時間の短いアルゴリズムを選ばなければなりません。例えば、車の自動運転は、高精度かつ高速な処理を可能にするアルゴリズムが必要です。
機械学習のアルゴリズムを理解したうえで適切な手法を選択しよう
機械学習は、アルゴリズムを使ってデータからパターンを見つけ出し、物事の予測やデータ分類ができるようになります。機械学習の学習方法には「教師あり学習」「教師なし学習」「強化学習」の3つがあり、それぞれに異なるアルゴリズムがあります。
目的に合わせて機械学習の学習方法とアルゴリズムを活用することにより、業務効率化やコスト削減、人手不足解消などの問題解決が可能です。例えば、売上予測には教師あり学習が適しており、異常検知には教師なし学習が適しているなど、学習方法とアルゴリズムには、それぞれに適した活用シーンがあります。特徴を理解して適切なものを選べば、効果的に機械学習を活用できるでしょう。
機械学習に興味のある方や、より知識を深めたい方は、以下のページからダウンロードできる資料もぜひご覧ください。
監修者

<保有資格>
・Professional Data Engineer

- カテゴリ:
- Google Cloud(GCP)
- キーワード:
- 機械 学習 アルゴリズム