機械学習の線形回帰をニュアンスでふんわりとまとめてみる

Facebook にシェア
Pocket
LINEで送る
このエントリーを Google ブックマーク に追加

勉強中のため、なんとなくまとめてみる。

前提

機械学習は「教師あり学習」と「教師なし学習」にわかれている。

教師あり学習に必要なデータ

そもそも教師あり学習には、訓練データと評価データとなるデータが必要。
訓練データは、「予測するための材料となるデータ」で、評価データは「予測した結果が当たっているか確認するデータ」というイメージ。
(この時点でわかりづらいかも。)

で、訓練データと評価データはそれぞれ「入力データ」と「結果データ」が対となっている必要がある。
入力データは上の例でのコロンより左のデータで、結果データは表/裏のデータ。

※実際には数字で表されている必要があるのですが、イメージを伝えるために言葉で書いています。

scikit0

 

機械学習の目的の第一歩としては、「訓練データと評価データから予測できるもの(関数)を作成する」ことにある。
その予測できるもの(関数)があれば、新たな入力データを入れれば結果データが予測できるようになる。

scikit

 

線形回帰の前に復習

scikit2

 

中学校の時にやった関数。
y = ax + b という関数があるとき、aの値を傾き、bの値を切片という。
よくわからなければ、xが1増えるときにいくつ増えるかが傾き、x=0のときのyの値が切片という。
(もっとわかりづらいか・・・?)

上の図だと、傾きが2、切片が1とわかっていれば、x=2のときy=5であることが求められる。
他にも x=-1 であれば、y=-1 であることもわかる。

つまり
「傾きと切片がわかっていれば、xを代入すればyの値がわかる」
すなわち
「関数がわかっていれば、入力データを入れれば結果データが予測できるようになる」
というどこかで見覚えのあるフレーズになる。

逆に、x=2のときy=5、x=-1のときy=-1であることがわかれば、計算すればaとbの値が求められる。

つまり、
「xとyの組み合わせが複数わかっていれば、関数を作成できる」
すなわち
「入力データ(xとy)と評価データ(別のxとy)の組み合わせがわかっていれば、関数を作成できる」
というこれまたどこかで見覚えるのあるフレーズになる。

 

線形回帰とは

線形回帰とは予測できるもの(関数)を作成する手法の一つで、教師あり学習に属している。
線形回帰とは前章で書いた「傾きと切片を求める」という手法で予測できるもの(関数)を作っていく。

(抽象的な)具体的には、以下の図の通り。

scikit3

 

scikit4

 

scikit5

 

他の手法があるということは、この手法は決して万能ではない。
であるからと言って、他の方法も万能なものはないため、シンプルな線形回帰の出番も少なくはない。

厳密には最小二乗法や確率的勾配法など色々理論的なものが使われているが、最初の一歩としては上ので十分なのではないかと思い書いてみた。
数学的な部分を書いてしまうと、他の参考サイトとあまり違わなくなってしまうので。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です