今回お世話になった学習サイト
機械学習を学ぶ目的
スキルアップ。年収UP。(機械学習にすごく興味がある!という強い動機があるわけではない。)
環境構築(自分はMacを利用)
以下のサイトを参考にして環境構築
https://play.kikagaku.co.jp/src/00_mac.html
機械学習の種類
教師あり学習
→教師あり、事前データあり:人間が機械に基礎を教えて、その中で答えを見つけさせる学習方法。
- 回帰:数値の予測 (★今回の学習対象★)
例)都道府県、地区等を選択すると家賃相場を出力
広さを入力すると家賃を出力
- 分類:カテゴリを予測(事前データをもとに判断:カテゴリを事前に定義しておく?)
例)男性女性、赤ワイン白ワイン等
教師なし学習
→教師なし、事前データあり:何かを予測したいという目的がない、過去のデータをもとにデータの中身の特性、構造を出してみたい場合に利用する学習方法。
- クラスタリング(集合の分割):
例)男性の服を買いそうなグループ(過去の情報はないが、こういう人はこういうものを買いそうだ)
- 次元削減:←今は名前だけ知っておく。
強化学習
→教師なし、事前データなし
例)掃除ロボットのように、掃除が必要な場所を、実際にデータを取りながら考える。
機械学習の学習の優先順位
1.微分
2.線形代数
3.積分、確率統計
機械学習の事前知識
・ AIと機械学習とディーブラーニングの違い
・ AI:人間の再現ー五感等からのインプット〜アウトプットまで。
・ 機械学習:AI内の頭脳部分。インプット情報を取得して変換するまでの技術
・ ディープラーニング:機械学習方法の一つ。
・ 1次関数:y = ax + b
(a=傾き、b=切片、x=入力データ,y=出力データ)
1次関数傾きaの求め方 = \frac{縦軸f(x)の増加量}{横軸xの増加量} \\
(x + h)^{2}の展開式\\
(x + h)^{2} = x^{2} + 2xh + h^{2}\
微分(導関数)
微分を学習する目的
微分は何が求まるのか
→接線の傾き。つまり、
1次関数y=ax+bの中のaが求まる。
微分は何に使えるのか
機械学習で計算した結果と、手で計算した値等の誤差を求めるのに使う。
・微分で求まる傾きが0だった場合→正解と予測結果の間に誤差がない=正しい
・微分で求まる傾きが0から遠のく→正解と予測結果の間に誤差が大きい=正しくない
→微分を利用することである関数の誤差等が最小(最大)となる点が求まる。
※関数=ある入力に対して出力するために使用する式
部屋の広さと場所を指定→関数→家賃相場を出力
微分に関する事前知識
極限:2次関数上のある1点を通る1次関数上の傾きを求めたいときに使用する、変化量を表す係数(定数)。仮で2次関数を通るもう一点を取り、最初の1点との増加分(変化量)を求める。
極限の公式
f'(x) = \lim_{h \to 0} \frac{f(x+h)-f(x)}{h} \\
↑'自体が関数の微分であることを指す。実際に計算するときは'は気にしない。\\
微分の公式
()' または \frac{d}{dx} \\
(1)' = 0\\
(x)' = 1\\
(x^{2})' = 2x\\
例として、
(x^{2})' = 2x
が正しいか、微分の公式を利用しながら確認する。
①公式上の答えf(x)が、今回は(x^{2})になっているので、 \\
f(x) = (x^{2}) \\
②①と同様に、公式上の右辺f(x+h)の場合は、 \\
f(x + h) = (x + h)^{2} \\
③①と②を微分の公式に当てはめると、 \\
(x^{2}) = \lim_{h \to 0} \frac{(x + h)^{2}-(x^{2})}{h} \\
④(x^{2}+2xh+h^{2})を展開すると、\\
(x^{2}) = \lim_{h \to 0} \frac{(x^{2}+2xh+h^{2})-x^{2}}{h} \\
⑤x^{2}が消せるので、\\
(x^{2}) = \lim_{h \to 0} \frac{(2xh+h^{2})}{h} \\
⑥hも消せるので、\\
(x^{2}) = \lim_{h \to 0} (2x+h^{2}) \\
極限 → h = 0なので、\\
(x^{2}) = 2x \\
練習問題
①(4x+3)'を求めよ。
※x以外の値(xの係数等)はすべて微分の外に出してもOK。
(4x)' + (3)'
4 * (x)' + 3 * ()'
※4は微分の外に出す。3は外に出すと微分するものがなくなってしまう。その場合は1の微分とする。
4 * (x)' + 3 * (1)'
※微分の公式によると、xの微分は1,1の微分は0
4 * 1 + 3 * 0
→4が正解
②(3x^{2}+4x+7)'を求めよ。\\
3 * (x^{2})' + 4 * (x)' + 7 * (1)' \\
3 * 2x + 4 * 1 + 0 \\
= 6x + 4 \\
偏微分
傾きの変数が一つなのが微分。
偏微分とは、傾きが複数存在する(多変数の)微分。
家賃を予測したい場合にも、部屋の広さだけでなく、立地条件や耐震強度等が考えられるのと同じ。
\frac{\partial}{\partial a} \\
※aの横にある記号はラウンドディー(ディー)と読む
つまり、ディーエー分のディーと読む
この場合、分母の\partialの横にある値(今回はa)で偏微分する(a以外を定数と仮定して微分する)、という意味。
aは微分で使ったxと全く同じ。(x)' = 1等。
具体的な求め方は以下の通り。
例題1)
\frac{\partial}{\partial a}(3a^{2}) \\
①aで偏微分していく。まずはa以外の値を外に出す。\\
3 * \frac{\partial}{\partial a}(a^{2}) \\
②\partialは、分子と分母で消し合う。\\
3 * \frac{(a^{2})}{a} \\
③aをxに読み替えると、a = 1,a^{2}=2aなので、\\
3 * 2a \\
= 6a\\
例題2)
\frac{\partial}{\partial x_{1}}(4x_{1}+3x_{2}) \\
①x_{1}で偏微分を行っていく。まずは足し算を分ける。\\
\frac{\partial}{\partial x_{1}}(4x_{1})+\frac{\partial}{\partial x_{1}}(3x_{2}) \\
②x_{1}以外の値を外に出す。\\
4 * \frac{\partial}{\partial x_{1}}(x_{1})+3x_{2} * \frac{\partial}{\partial x_{1}}(1) \\
③aをxに読み替えると、x_{1} = 1,1 = 0、dは分子と分母で消し合うので、\\
4 \\
例題3)
\frac{\partial}{\partial a}(C_{0}-2C_{1}a+C_{2}a^{2}) \\
①aで偏微分を行っていく。まずは足し算を分ける。\\
\frac{\partial}{\partial a}(C_{0})-\frac{\partial}{\partial a}(2C_{1}a)+\frac{\partial}{\partial a}(C_{2}a^{2}) \\
②a以外の値を外に出す。\\
C_{0} * \frac{\partial}{\partial a}(1) - 2C_{1} * \frac{\partial}{\partial a}(a) + C_{2} * \frac{\partial}{\partial a}(a^{2}) \\
③aをxに読み替えると、a^{2} = 2a,a = 1,1 = 0、dは分子と分母で消し合うので、\\
0 - 2C_{1} + 2aC_{2}\\
= 2aC_{2} - 2C_{1}\\