自習メモ：【キカガク流】人工知能・機械学習 脱ブラックボックス講座 - 初級編 -（その１）

# 今回お世話になった学習サイト
https://www.udemy.com/

# 機械学習を学ぶ目的
スキルアップ。年収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=出力データ）

```math
１次関数傾きaの求め方 = \frac{縦軸f(x)の増加量}{横軸xの増加量} \\
(x + h)^{2}の展開式\\
(x + h)^{2} = x^{2} + 2xh + h^{2}\
```

# 微分（導関数）
##　微分を学習する目的
### 微分は何が求まるのか
　　　　→接線の傾き。つまり、
　　　　１次関数y=ax+bの中のaが求まる。
　　　
### 微分は何に使えるのか
　　　　機械学習で計算した結果と、手で計算した値等の誤差を求めるのに使う。
　　　　・微分で求まる傾きが0だった場合→正解と予測結果の間に誤差がない＝正しい
　　　　・微分で求まる傾きが0から遠のく→正解と予測結果の間に誤差が大きい＝正しくない　　　　
　　　　→微分を利用することである関数の誤差等が最小（最大）となる点が求まる。

　　　　※関数＝ある入力に対して出力するために使用する式
　　　　　　　　　　　　　　部屋の広さと場所を指定→関数→家賃相場を出力

### 微分に関する事前知識
極限:２次関数上のある１点を通る１次関数上の傾きを求めたいときに使用する、変化量を表す係数（定数）。仮で２次関数を通るもう一点を取り、最初の１点との増加分（変化量）を求める。
### 極限の公式

```math
f'(x) = \lim_{h \to 0} \frac{f(x+h)-f(x)}{h} \\
↑'自体が関数の微分であることを指す。実際に計算するときは'は気にしない。\\
```

## 微分の公式

```math
()'　 または \frac{d}{dx} \\
```

```math
(１)' = 0\\
(x)' = 1\\
(x^{2})' = 2x\\
```

例として、

```math
(x^{2})' = 2x
```
が正しいか、微分の公式を利用しながら確認する。

```math
①公式上の答え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} \\
⑥ｈも消せるので、\\
(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は外に出すと微分するものがなくなってしまう。その場合は１の微分とする。
4 * (x)' + 3 * (1)'
※微分の公式によると、xの微分は1,１の微分は0
4 * 1 + 3 * 0
→4が正解

```math
②(3x^{2}+4x+7)'を求めよ。\\

3 * (x^{2})' + 4 * (x)' + 7 * (1)' \\
3 * 2x + 4 * 1 + 0 \\
= 6x + 4 \\
```

# 偏微分
傾きの変数が一つなのが微分。
偏微分とは、傾きが複数存在する（多変数の）微分。
家賃を予測したい場合にも、部屋の広さだけでなく、立地条件や耐震強度等が考えられるのと同じ。

```math
 \frac{\partial}{\partial a} \\
```
※aの横にある記号はラウンドディー（ディー）と読む
　　つまり、ディーエー分のディーと読む
 この場合、分母の\partialの横にある値（今回はa）で偏微分する(a以外を定数と仮定して微分する)、という意味。
　　aは微分で使ったxと全く同じ。（x）' = 1等。
　　具体的な求め方は以下の通り。

例題1）

```math
 \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 * ２a \\
 = 6a\\
```

例題2）

```math
 \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}以外の値を外に出す。\\
 ４ * \frac{\partial}{\partial x_{1}}(x_{1})+3x_{2} * \frac{\partial}{\partial x_{1}}(1) \\
③aをxに読み替えると、x_{1} = 1,1 = 0、dは分子と分母で消し合うので、\\
 4 \\
```

例題３）

```math
 \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}\\
```