「教師なし学習」をゼロから【機械学習】

# 「教師なし学習」って何だろう？
ここまでで、機械学習について、その概要やデータセットそして教師あり学習についてまとめてきました。今回は機械なし学習について、教師あり学習との違いに触れながら、まとめていきたいと思います。
機械学習についての概要はこちらでまとめています。これを読んで概要をつかんだ後にこの記事を読むとより理解が深まると思います。

https://qiita.com/y-okada1412/items/5d38d65d9163f78b999a


教師あり学習についてはこちらを読んでみてください。

https://qiita.com/y-okada1412/items/9104025abd0426d8754a

## この記事のポジション
教師あり学習、強化学習、ディープラーニングなど機械学習の特徴により様々な学習方法があります。
前の記事で紹介した教師あり学習は、データに答えがあるものでした。今回紹介する教師なし学習は、データに答えがないものを言います。この記事では、教師なし学習を深堀し、目的、手法、評価方法などについて触れていきます。


1.[教師なし学習の理解](#教師なし学習の理解)
2.[目的とメリットデメリット](#目的とメリットデメリット)
3.[学習方法](#学習方法)
4.[評価方法](#評価方法)
5.[活用例](#活用例)



## 教師なし学習の理解
教師なし学習はざっくりいうと、「答えのないデータの特徴を捉える」ことができます。
例えば教師あり学習では、乗り物の画像を見て「車」や「バイク」というような、答えが明確にありました。ところが人は、答えがなくても特徴を捉え、「これとこれは同じものだ」というような、何かはわからないけど同じという判断ができます。これが教師なし学習の特徴になります。
例えば、入荷した名前のわからない果物を陳列棚に並べたいときに、見た目が同じものの場所に陳列するという判断をしますよね。これを機械学習でも行うことができます。
近年、ディープラーニングの発展により、大量のデータを理解させることができるようになったことで、注目されるようになってきた学習方法です。


## 目的とメリットデメリット
教師なし学習の主な目的は、「頻出パターンの発見」「グループ分け」「データの簡略化」です。
特に答えが明確でないデータの分析を行い、例えば今まで販売したことがない新製品の、ターゲット市場を決定するなど、結果を得るデータがない場合に使用されます。
そのため、教師あり学習が使えないときの学習方法という側面もあります。

#### メリット
教師あり学習と比較すると、データにラベルを付ける必要がないため、準備の手数が少なく、始めやすいです。そのため、効率的で少ない時間やコストで学習結果を得ることができます。
他にも、人間が想定できない新しいパターンを見つけ出せる可能性があります。

#### デメリット
学習データに正解がないため、精度が低くなる傾向があります。
また、人間が想定できない新しいパターンを見つけ出すことがありますが、そのパターンが役に立たないこともあります。


## 学習手法
教師なし学習は主に**クラスタリング**と**次元削減**の二つに分けられます。ここではその二つの特徴について説明します。

#### クラスタリング
クラスタリングとはクラスと呼ばれる、グループに分けることを言います。教師あり学習の分類と似ていますが、分類では、「車」「バイク」などのグループに名前がついていました。
教師なし学習では、答えがないので、そのグループが何を示すかは、クラスタリングされたデータを人が見て判断する必要があります。

![クラスタリング.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3566779/dfeb93aa-2184-a2f4-97ea-eed545a149be.png)


#### 主成分分析(PCA)
主成分分析は簡単に言うとデータの数を減らすことです。
これにより、不要なデータを削減し、計算効率を向上させることができます。
主要な特徴を残したまま削減するので、その後の分析精度なども向上する場合もあります。
使用される場面も、画像圧縮や遺伝子分析、マーケティングリサーチなど多岐にわたります。
特に高次元のデータを使用する生物学、化学の分野においては使用されることが多いです。



## 評価方法
ここまででも何度も触れてきたように、教師なし学習には、答えがありません。そのため、教師なし学習の結果に正解・不正解をつけることは難しいです。
しかし、まったく方法がないわけでもありません。
答えがないと評価が難しいのであれば、答えを用意すればよいのです。
つまり、教師あり学習用のラベルの付いたデータを使用し、最後にそのラベルを使用して、答え合わせを行います。
例えば、クラスタリングの際にはラベルを使用せず、教師なし学習として行い、クラスタリングの結果とラベルを比較します。
すると、ランダムな結果を得ているようなモデルは性能が低いことが確認できます。
ただ、このデータセットは本来教師あり学習のためのデータセットのため、モデルの性能差が少ないものに対して、どちらが優れているかという詳細な評価には向きません。


## 活用例
教師なし学習がどのような用途に使用されかをここでは紹介します。教師なし学習はディープラーニングによって近年注目されている学習方法です。その中でどのようなものに使用されているのかを、知ってもらえればと思います。

##### 異常検知
異常検知は大量のデータから、「通常とは異なるもの」を検出することを言います。
教師なし学習は、その異常が何なのかはという答えは出せませんが、ほかと見分けをつけることができます。

##### 自動運転
自動運転技術は、リアルタイムでの映像解析や迅速な意思決定、高精度のドライビングを同時にこなす必要があり、とても高度なシステムが必要になります。
教師あり学習ではラベルの付与などにより、膨大な時間とコストが必要とされていましたが、ラベルの必要のない、教師なし学習を利用することにより、学習までの時間を削減することができるようになりました。自動運転技術は教師なし学習によって進歩した技術の一つです。

##### 自然言語処理
自然言語とは人間が生活の中で自然に使っている言語のことです。
chatGPTなどによって広く認知された、自然言語処理において、教師なし学習は使用されています。
言語によっての精度のばらつきはありますが、従来の翻訳ツールに比べてより自然な文章を生成することができるようになりました。

##### 画像生成
最近AIが新規の画像を生成することができるようになりました。
これもディープラーニングを使用した、教師なし学習による発展です。
GAN(敵対的生成ネットワーク)によって、生成と識別を繰り返し、よりリアルな画像を生成することが可能になりました。


## さいごに
今回は、教師なし学習についてまとめました。機械学習において、近年よく使用されている分野になります。
次は、強化学習についてもまとめていきたいと思っています。

ReceiptRollerでは電子レシートをはじめとし、様々なソリューションを提供していきます。
今回の機械学習のほかに、OCRについての記事も投稿していますので読んでみてください。

https://qiita.com/y-okada1412/items/4a4a78ffc4cd6a0d7485

レシートOCRは、LINEからどなたでも無料でご利用いただけますので、
ぜひ試してください！

https://receiptroller.com/ja


また、OCRのデモ体験がこちらのページからできます！

https://ocr.receiptroller.com/read-receipt

#### 参考
https://www.stat.go.jp/teacher/dl/pdf/c4learn/materials/fourth/dai4.pdf

https://doda.jp/engineer/guide/it/045.html

https://business.ntt-east.co.jp/content/cloudsolution/column-162.html

https://www.tryeting.jp/column/1034/