機械学習

機械学習のラベルについてよくわかる!ラベル付与方法も紹介

機械学習とは

機械学習とはデータ分析を行う1種の方法で、手元にあるデータからプログラムが自動で学習し、そのデータの背景にあるルールやパターンを発見する方法のことをいいます。

AIを作る際に使用する手法の一つが機械学習です。

そのほかに、深層学習もAIを作成する際に使用する手法となっています。

両者の違いは学習方法であり、データの特徴を誰が教えるか?といった違いがあります。

機械学習では人間がデータの特徴を教えるのに対して、深層学習ではニューラルネットワークがデータの特徴を判断して、学習していきます。

ここ最近では、学習した成果に基づいて、物事の予測や判断などを行えることが重要視されてきています。

また、機械学習にはいくつかの種類があり、大きく分けると、

・教師あり学習

・教師なし学習

・強化学習

上記3種類に分類されてます。

教師あり学習

教師あり学習とは、入力データと出力データが揃っている場合、入力したデータから出力結果を予測するものを指します。

例えば、大量の食べ物の画像データがあった時、「これはイチゴ」「これはリンゴ」というように名前を付けておきます。

名前をつけたデータを十分に用意しておき、これらを正解として機械学習を行っていきます。

その後、まだ学習していない画像データを読み込ませ、正解画像データの中から一致するデータを見つけ出し、イチゴかリンゴかを判断することができます。

教師あり学習では、あらかじめ決めた分類に学習データを分けるための「分類」と、連続するデータの将来値を予測する「回帰」に分けることができます。

分類と回帰

分類の主な目的は、分析したいデータのクラス分けを予測することになります。

例えば、新商品Aを発売する場合に過去の購入履歴データから、新商品Aを購入してくれそうな顧客を予測して、その顧客のみに新商品Aの発売連絡をする、といったことができます。

このように機械学習を使うことで、膨大にかかっていた広告費を最適化することができ、費用削減に繋げることも可能です

回帰の主な目的は、連続する値の傾向をもとに予測することになります。

この時に使用する分析方法を回帰分析と呼びます。

回帰分析では、結果となる数値と要因となる数値の関係を調べていきます。

要因となる数値が1つの場合を単回帰分析、複数の場合を重回帰分析と呼びます。

教師あり学習の例

教師あり学習は、私たちの身近にあります。

例えば、メールが届いたときに自動で迷惑メールかどうかを判断してくれています。

さらに、選挙では、候補者Aについての投票率を予測することもできます。

そのほかにも、株価や住宅価格の予測、機器類の故障予測、企業での最適な人員配置予測などさまざまな場面で使われています。

教師あり学習では、正解や最適解が明確な課題に関して、大きな効果を発揮します。

教師なし学習

教師あり学習が正解を与えている学習であったのに対して、教師なし学習では正解がわからない状態で学習を行っていきます

正解となるデータがない分、データ同士の距離や類似度などを計算したり、データをいくつのグループに分けてデータ間の繋がりを予測したりします。

教師なし学習では、クラスタ分析次元削減がよく使用されます。

クラスタ分析と次元削減

クラスタ分析はさまざまなデータが集められている中から、データ同士の距離や類似度などから、自動的にいくつかのグループに分けていく分析方法になります。

次元削減では、そのデータを特徴づける情報を抽出することを表しており、データの次元数を減らしていきます。

次元数というのは、データに含まれている、特徴の数を指しています。

次元削減を行うのによく使われる手法が、主成分分析です。

主成分分析は数多くある特徴をいくつかに統合し、少数の特徴を新たに作り出すことを目的に行われます。

例えば、手元にパスタ、ピザ、オムレツ、ムニエル、そば、うどん、お寿司、味噌汁といったデータがあったとします。

このデータをある特徴に基づいて、少数の特徴を新たに作り出します。

今回のデータ例では、洋食と和食に分けることができます。

そのため、8個のデータを2個のデータに削減することができます。

このように主成分分析では、大量にあったデータを新たな特徴で分けることで、少ないデータにすることができます。

教師なし学習の例

教師なし学習の例として、例えば大量のメールを教師なし学習で学習していくと、内容の似通ったメールをいくつかのグループに分けていきます。

分けられたメールはなんのグループに分けられているかは、分けられた後に個々人が解釈をしていく必要があります。

教師あり学習では、迷惑メールやビジネスメールなどといった正解がありましたが、教師なし学習では、正解がないのが特徴です。

強化学習

強化学習で有名なのは囲碁を行うAlphaGoです。

強化学習というのは、AlphaGoのようにシステム自体が試行錯誤をしながら、最適なシステム制御を行うという機械学習の1種です。

近年では、自立走行可能な自動車にも強化学習アルゴリズムが用いられており、物体検知におけるエンジンの制御が可能となっています。

機械学習のラベルについて

機械学習におけるラベルとは、一つ一つのデータに対して与えられている正解を示す情報を指します。

例えば、複数の動物の画像があった場合に、犬の画像であればラベルは犬、猫の画像であればラベルは猫といったように正解を示す情報が与えられていきます。

ラベルを与え終わった後に、未知の画像データが入力された時に、既知の画像データからその画像が犬なのか猫なのかを判断していきます。

そのため、機械学習のラベルは教師あり学習で使用されることになります。

AIプロジェクトに費やされる時間の80%がデータのラベル付けに使われるとも言われているくらい、教師あり学習にとってラベル付けは重要なものになります。

機械学習のラベルの付与方法

機械学習のラベルを付与するには、pythonを使用するのがおすすめです。

pythonは機械学習や深層学習を行う際のライブラリが豊富に用意されており、ネット上にサンプルコードも多くあります。

pythonでラベル付与を行う際には、scikit-learnがよく使用されます。

scikit-learnは機械学習全般のアルゴリズムが用意されており、統計学やパターン認識、データ解析などを行うことができます。

そのほかにも、KerasやTensorFlowなども頻繁に使用されているので、この3種類について学習を深めていくことで、機械学習のラベル付与を行うことができます。

まとめ

この記事では、教師あり・教師なし学習、強化学習の3種類の概要を整理し、教師あり学習で使われるラベルについて解説を行いました。

機械学習はAIを作成する上で重要な分析手法になります。

今後、AI関連の需要は増加することが予想されるので、今のうちにpythonを使って機械学習について学んでおくといいですね。

pythonを使って機械学習のラベル付けを行うには、

・scikit-learn

・Keras

・TensorFlow

上記3つを中心に学び進めていくことをおすすめします。

ぜひpythonを活用して機械学習を学んでみてくださいね。