単線形回帰をまとめる
仮説 h:xからyへの写像。学習アルゴリズムによって決められる
仮説がのとき、この問題を1変数の線形回帰分析という
仮説が1変数の線形回帰分析を単回帰分析という
重線形回帰、多変数の線形回帰
行列を使って、多変数に対応
1変数の線形回帰のことを単線形回帰と呼ぶ。
多変数にすると何が嬉しいのか?
前回は変数を1つに絞って、広さだけで変数=特徴を表していました。
今回はデータを増やしてみます。
賃料が決まるのは、なにも広さだけではありません。
どれくらいの間取りなのか?築年数なのか?
様々なファクターがあって決まります。
多変数にすると、こういったファクターを多数使うことが出来るのです。
多変数にして、いくつもの特徴を学習、推測に使う=反映することが出来るようになるのです。
mは訓練霊で、小文字のnは特徴の数の個数を表します。
広さがなしで、賃料と通勤時間だけのデータを持っていた場合、nは2種類になります。もっとデータが増えるとn個まで増えていくわけです。
訓練霊の入力変数x(i)はx1x2と複数種類があるわけですから、ベクトルになるわけです。
xは太字になっています。これの訓練例の方にはカッコつきで何番目と数字が入っていたら何番目とかけます。
下にjと書いてあるのはこの太字xのいくつ目の要素かということを表します。
1変数の線形回帰では特徴が1つの場合のみしか扱いませんでしたが、多変数(特徴が複数)ではいくつもの特徴を学習・推測に反映させることができます。
具体的には、下の図のようにアパートの賃料が決定される複数の特徴を合わせ持ったデータセットのことをさします。
記号について
多変数では複数の特徴を扱うようになったため新たに「i 番目の訓練例」という表現が加わります。
m 訓練例(Training Example)の個数 (訓練集合の要素の個数)
n 特徴の個数(つまり入力変数の数)
x(i) i 番目の訓練例の特徴(つまり入力変数)
xj(i) i 番目の訓練例の特徴 j の値
例えば、上の表のデータセットを参考に「i 番目の訓練例」と「i 番目の訓練例の特徴 j の値」は次のように考えます。
Pythonでの学び方
#配列
a = [0,1,2,3,4]
# 範囲を指定して取り出す
# 要素1から最後まで
print (a[1:])
# 要素1から後ろから2番目まで
print (a[0:-1])
# 要素0〜2番目まで
print (a[:3])
# 要素3〜最後まで
print (a[3:])