ラビットチャレンジ　応用数学

#ラビットチャレンジ　応用数学のレポート
* 線形代数
* 確率・統計
* 情報理論

#1 線形代数
##1.1 行列

行列とは数値を縦と横に並べたもので、縦方向を列、横方向を行と言います。

* 2行2列の行列（2次正方行列）

```math
\begin{pmatrix}
1 & 2 \\
3 & 4
\end{pmatrix}
\quad ,\quad
\begin{pmatrix}
a & b \\
c & d
\end{pmatrix}
```

* 3行3列の行列（3次正方行列）


```math
\begin{pmatrix}
1 & 2 & 3\\
4 & 5 & 6\\
7 & 8 & 9
\end{pmatrix}
\quad ,\quad
\begin{pmatrix}
a & b & c\\
d & e & f\\
g & h & i 
\end{pmatrix}
```

* m行n列の行列（3次正方行列）

```math
\begin{pmatrix}
a_{11} & a_{12} & \cdots & a_{1n}\\
a_{21} & a_{22} & \cdots & a_{2n}\\
\vdots & \vdots & \ddots & \vdots \\
a_{m1} & a_{m2} & \cdots & a_{mn}
\end{pmatrix}
```

##1.2 単位行列

単位行列とは、任意のn次正方行列 $A$ に対して、次の式が成り立つ n次正方行列 $I$のことである。

$$IA=AI=A$$

単位行列 $I$ を表すと

```math
I=
\begin{pmatrix}
1 & 0 & \cdots & 0\\
0 & 1 & \cdots & 0\\
\vdots & \vdots & \ddots & \vdots \\
0 & 0 & \cdots & 1
\end{pmatrix}
```

である。

##1.3 逆行列

逆行列$B$は、ある行列 $A$ に対して、かけ算すると単位行列 $I$ になるもので、$B=A^{-1}$と表す。

$$AB=BA=I$$
$A$：行列、$I$：単位行列、$B=A^{-1}$：$A$の逆行列

##1.4 行列式

逆行列が存在するか否かを判定するための式

* 2行2列の行列式
 
```math
|A|=
\begin{vmatrix}
a & b \\
c & d \\
\end{vmatrix}
=ad-bc
```

* 3行3列の行列式
 
```math
|A|=
\begin{vmatrix}
a_{11} & a_{12} & a_{13}\\
a_{21} & a_{22} & a_{23}\\
a_{31} & a_{32} & a_{33} 
\end{vmatrix}
=a_{11}
\begin{vmatrix}
a_{22} & a_{23}\\
a_{32} & a_{33} \\
\end{vmatrix}
-a_{12}
\begin{vmatrix}
a_{21} & a_{23}\\
a_{31} & a_{33} \\
\end{vmatrix}
+a_{13}
\begin{vmatrix}
a_{21} & a_{22}\\
a_{31} & a_{32} \\
\end{vmatrix}\\
=a_{11}(a_{22}a_{33}-a_{23}a_{32})
-a_{12}(a_{21}a_{33}-a_{23}a_{31})
+a_{13}(a_{21}a_{32}-a_{22}a_{31})\\
=a_{11}a_{22}a_{33}-a_{11}a_{23}a_{32}-a_{12}a_{21}a_{33}+a_{12}a_{23}a_{31}
+a_{13}a_{21}a_{32}-a_{13}a_{22}a_{31}\\
=a_{11}a_{22}a_{33}+a_{12}a_{23}a_{31}+a_{13}a_{21}a_{32}-a_{11}a_{23}a_{32}
-a_{12}a_{21}a_{33}-a_{13}a_{22}a_{31}
```
となる

* 同じ行ベクトルが含まれる場合、行列式は0となる。


```math
|A|=
\begin{vmatrix}
\vec{v_1}\\
\vec{v_2}\\
\vdots \\
\vec{v_k}\\
\vdots \\
\vec{v_k}\\
\vdots \\
\vec{v_n}
\end{vmatrix}=0
```

* あるベクトルが$\lambda$ 倍された場合、行列式も$\lambda$ 倍される。

```math
|A|=
\begin{vmatrix}
\vec{v_1}\\
\vec{v_2}\\
\vdots \\
\lambda \vec{v_k}\\
\vdots \\
\vec{v_{n-1}}\\
\vec{v_n}
\end{vmatrix}=\lambda 
\begin{vmatrix}
\vec{v_1}\\
\vec{v_2}\\
\vdots \\
\vec{v_k}\\
\vdots \\
\vec{v_{n-1}}\\
\vec{v_n}
\end{vmatrix}
```

* 行（もしくは列）のベクトルを入れ替えると、符号が入れ替わる

```math
\begin{vmatrix}
\vec{v_1}\\
\vec{v_2}\\
\vdots \\
\vec{v_m}\\
\vdots \\
\vec{v_n}\\
\vdots \\
\vec{v_n}
\end{vmatrix}=-
\begin{vmatrix}
\vec{v_1}\\
\vec{v_2}\\
\vdots \\
\vec{v_n}\\
\vdots \\
\vec{v_m}\\
\vdots \\
\vec{v_n}
\end{vmatrix}
```


## 1.5 固有値
固有値とは、ある正方行列$A$に対して、$\vec{0}$ではない、ベクトル$\vec{x}$に対して次の式が成り立つときの$\lambda$のことを言う。
（このときのベクトル$\vec{x}$は、固有ベクトルと言う ）

$$A\vec{x}=\lambda\vec{x}$$

固有値の求め方は、次の通りである。
上記の右辺の式$\lambda\vec{x}$を左辺に移項すると

$$(A-\lambda I)\vec{x}=0$$

定義より、$\vec{x}\neq\vec{0}$のため、$|A-\lambda I|=0$ となる。
これを計算することで、$\lambda$ を求めることができる。

## 1.6 固有値分解

固有値及び固有ベクトルが次の式のように複数存在するとする

```math
\begin{eqnarray}
A\vec{x_1} &=& \lambda_1\vec{x_1}  \\
A\vec{x_2} &=& \lambda_2\vec{x_2}  \\
A\vec{x_3} &=& \lambda_3\vec{x_3}  \\
&\vdots& \\
A\vec{x_n} &=& \lambda_n\vec{x_n}  \\
\end{eqnarray}
```

このとき、固有ベクトルを横に並べた行列を
$$X=\left(\vec{x_1},\vec{x_2},\vec{x_3},\cdots ,\vec{x_n} \right)$$
とし、対角成分に固有値を並べた行列を

```math
\Lambda=
\begin{pmatrix}
\lambda_1 & 0 & 0 & \cdots & 0\\
0 & \lambda_2 & 0 & \cdots & 0 \\
0 & 0 & \lambda_3 & \cdots & 0 \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
0 & 0 & 0 & 0 & \lambda_n
\end{pmatrix}
```

とするとき、

```math
\begin{eqnarray}
AX&=& A\left(\vec{x_1},\vec{x_2},\vec{x_3},\cdots ,\vec{x_n} \right)  \\
&=& \left(A\vec{x_1},A\vec{x_2},A\vec{x_3},\cdots ,A\vec{x_n} \right) \\
&=& \left(\lambda_1\vec{x_1},\lambda_2\vec{x_2},\lambda_3\vec{x_3},\cdots ,\lambda_n\vec{x_n} \right) \\
&=& \left(\vec{x_1},\vec{x_2},\vec{x_3},\cdots ,\vec{x_n} \right) \begin{pmatrix}
\lambda_1 & 0 & 0 & \cdots & 0\\
0 & \lambda_2 & 0 & \cdots & 0 \\
0 & 0 & \lambda_3 & \cdots & 0 \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
0 & 0 & 0 & 0 & \lambda_n
\end{pmatrix}\\
&=& X\Lambda
\end{eqnarray}
```

となる。両辺右から$X^{-1}$を掛けることで

$$A=X\Lambda X^{-1}$$

となる。上式の右辺が、正方行列$A$の固有値分解したものである。

## 1.7 特異値分解

特異値分解は、正方行列以外の行列の固有値分解である。

ある行列$A$があって、これを

$$A=USV^{T}$$

と分解します。$U$、$V$は直交行列、$S$は対角行列とします。
式で書くと

```math
A=(\vec{u_1}, \vec{u_2},\cdots ,\vec{u_n})
\begin{pmatrix}
\sigma_1 & 0 & 0 & \cdots & 0 \\
0 & \sigma_2 & 0 & \cdots & 0 \\
0 & 0 & \sigma_3 & \cdots & 0 \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
0 & 0 & 0 & \cdots & \sigma_n \\
\end{pmatrix}
\begin{pmatrix}
\vec{v_1} \\
\vec{v_2} \\
\vec{v_3} \\
\cdots \\
\vec{v_n}
\end{pmatrix}
```

ここで、$\sigma_1$、$\sigma_2$、$\sigma_3$、$\cdots$ 、$\sigma_n$ を特異値といい、
$$\sigma_1\geqq\sigma_2\geqq \sigma_3\geqq \cdots \geqq \sigma_n $$
を満たすように選びます。

$AA^{T}$の固有値を$\lambda$、固有ベクトルを$\vec{u}$とすると


```math
\begin{eqnarray}
AA^{T}\vec{u_1}&=&\lambda_1 \vec{u_1} \\
AA^{T}\vec{u_2}&=&\lambda_2 \vec{u_2} \\
&\vdots&\\
AA^{T}\vec{u_n}&=&\lambda_n \vec{u_n} \\
\end{eqnarray}
```

これに、左から $A^{T}$ をかけて

```math
\begin{eqnarray}
A^{T}AA^{T} \vec{u_1} &=& A^{T}\lambda_1 \vec{u_1} \\
A^{T}A\left(A^{T}\vec{u_1}\right) &=& \lambda_1\left(A^{T}\vec{u_1}\right) \\
\end{eqnarray}
```

$A^{T}A$ の固有ベクトルを$\vec{v}$とすると、

$$A^{T}A\vec{v_1}=\lambda_1\vec{v_1}$$

となる。同様の計算をすることで、$A^{T}A$の固有値が、$AA^{T}$の固有値が同じになることがわかる。
$\vec{v}$が単位ベクトルになるように$\theta$を取ると

$$\vec{v_1}=\theta_1\vec{u_1}$$
となる。これを順番に並べて

```math
\begin{eqnarray}
V&=&\left(\vec{v_1},\vec{v_2},\vec{v_3}, \cdots,\vec{v_n}\right)\\
&=&\left(\theta_1A^{T}\vec{u_1},\theta_2A^{T}\vec{u_2}, \theta_3 A^{T}\vec{u_3},\cdots,\theta_n A^{T}\vec{u_n} \right)\\
&=&\left(A^{T}\vec{u_1},A^{T}\vec{u_2}, A^{T}\vec{u_3} ,\cdots, A^{T}\vec{u_n} \right)

\begin{pmatrix}
\theta_1 & 0 & 0 & \cdots & 0 \\
0 & \theta_2 & 0 & \cdots & 0 \\
0 & 0 & \theta_3 & \cdots & 0 \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
0 & 0 & 0 & \cdots & \theta_n \\
\end{pmatrix}\\
&=& A^{T}\left(\vec{u_1},\vec{u_2},\vec{u_3}, \cdots,\vec{u_n}\right)
\begin{pmatrix}
\theta_1 & 0 & 0 & \cdots & 0 \\
0 & \theta_2 & 0 & \cdots & 0 \\
0 & 0 & \theta_3 & \cdots & 0 \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
0 & 0 & 0 & \cdots & \theta_n \\
\end{pmatrix}\\
&=& A^{T}U
\begin{pmatrix}
\theta_1 & 0 & 0 & \cdots & 0 \\
0 & \theta_2 & 0 & \cdots & 0 \\
0 & 0 & \theta_3 & \cdots & 0 \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
0 & 0 & 0 & \cdots & \theta_n \\
\end{pmatrix}
\end{eqnarray}
```
ここで

```math
\Theta=\begin{pmatrix}
\theta_1 & 0 & 0 & \cdots & 0 \\
0 & \theta_2 & 0 & \cdots & 0 \\
0 & 0 & \theta_3 & \cdots & 0 \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
0 & 0 & 0 & \cdots & \theta_n \\
\end{pmatrix}
```

と置きます。

```math
\begin{eqnarray}
V&=&A^{T}U\Theta \\
V\Theta^{-1} &=&A^{T}U
\end{eqnarray}
```

となる。これを

```math
AA^{T}U=U\begin{pmatrix}
\lambda_1 & 0 & 0 & \cdots & 0 \\
0 & \lambda_2 & 0 & \cdots & 0 \\
0 & 0 & \lambda_3 & \cdots & 0 \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
0 & 0 & 0 & \cdots & \lambda_n \\
\end{pmatrix}
```

に代入すると

```math
\begin{eqnarray}
AV\Theta^{-1}&=&U\begin{pmatrix}
\lambda_1 & 0 & 0 & \cdots & 0 \\
0 & \lambda_2 & 0 & \cdots & 0 \\
0 & 0 & \lambda_3 & \cdots & 0 \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
0 & 0 & 0 & \cdots & \lambda_n \\
\end{pmatrix} \\
AV&=&U\begin{pmatrix}
\lambda_1 & 0 & 0 & \cdots & 0 \\
0 & \lambda_2 & 0 & \cdots & 0 \\
0 & 0 & \lambda_3 & \cdots & 0 \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
0 & 0 & 0 & \cdots & \lambda_n \\
\end{pmatrix}\Theta \\
A&=& 
U\begin{pmatrix}
\lambda_1 & 0 & 0 & \cdots & 0 \\
0 & \lambda_2 & 0 & \cdots & 0 \\
0 & 0 & \lambda_3 & \cdots & 0 \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
0 & 0 & 0 & \cdots & \lambda_n \\
\end{pmatrix} 
\begin{pmatrix}
\theta_1 & 0 & 0 & \cdots & 0 \\
0 & \theta_2 & 0 & \cdots & 0 \\
0 & 0 & \theta_3 & \cdots & 0 \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
0 & 0 & 0 & \cdots & \theta_n \\
\end{pmatrix}V^{T}\\
A&=& 
U\begin{pmatrix}
\lambda_1\theta_1 & 0 & 0 & \cdots & 0 \\
0 & \lambda_2\theta_2 & 0 & \cdots & 0 \\
0 & 0 & \lambda_3\theta_3 & \cdots & 0 \\
\vdots & \vdots & \vdots & \ddots & \vdots \\
0 & 0 & 0 & \cdots & \lambda_n\theta_n \\
\end{pmatrix} V^{T}
\end{eqnarray}
```

ここで
$$\lambda_1\theta_1=\sigma_1,\lambda_2\theta_2=\sigma_2,\lambda_3\theta_3=\sigma_3,\cdots ,\lambda_n\theta_n=\sigma_n$$

と置くことで、結果が求まる。

# 2.確率・統計

## 2.1 確率とは

確率は、起こりやすさを数値で表したもの

* 頻度確率は「発生する確率」
例：どうように確からしいとき、コインで表を出す確率は0.5

* ベイズ確率は「信念の度合いを数値にしたもの」
例：Aさんが、恋を焦がれているBさんに好かれている確率は0.5

### 確率の定義
$U$を全体集合、$A$を部分集合、$P(A)$をAが起きる確率とするとき、

$$P(A)=\frac{n(A)}{n(U)}＝\frac{事象Aが起こる数}{全事象の数}$$

## 2.2 条件付き確率とは

事象$A$起きたとき、事象$B$が起こる確率$P(B|A)$は

$$P(B|A)=\frac{P(A\cap B)}{P(A)}$$

$P(A\cap B)$：$A$かつ$B$が起こる確率

## 2.3 同時確率とは

$$P(A\cap B)=P(A)P(B|A)=P(B)P(A|B)$$

$P(A|B)$：事象$B$が起きたとき、事象$A$が起こる確率

なお、事象$A$と事象$B$が独立な場合（事象$A$と事象$B$が関係を及ぼさないとき）
事象$B$が起きたとき、事象$A$が起こる確率と事象$A$が起こる確率は同じ（$P(A|B)=P(A)$）になる

もしくは

事象$A$が起きたとき、事象$B$が起こる確率と事象$B$が起こる確率は同じ（$P(B|A)=P(B)$）になる

そのため、

$$P(A\cap B)=P(A)P(B)$$

となる。

## 2.4 和事象の同時確率とは

事象$A$または事象$B$が起こる確率$P(A\cup B)$は
事象$A$が起こる確率$P(A)$と事象$B$が起こる確率$P(B)$を加えて
二重に数えている事象$A$かつ事象$B$が起こる同時確率$P(A\cap B)$を引きます

$$P(A\cup B)=P(A)+P(B)-P(A\cap B)$$

## 2.5 ベイズの定理とは

同時確率の式

$$P(A)P(B|A)=P(B)P(A|B)$$

がベイズの定理である。$P(A∣B)とP(B∣A)$が入れ替わっているので、時間が逆行している確率を求める際にも有効である。

例：高熱の症状の時にインフルエンザの確率、コロナウイルスの確率など
時間の経過は
インフルエンザにかかる　⇒　高熱になる
コロナウイルスにかかる　⇒　高熱等の症状が出る

## 2.6 用語の説明

### 事象
同じ条件の下で繰り返し行うことのできる実験や観測など によって起こる結果
このときの実験や観測のことを試行という。

### 確率変数
起こりうることがらに対して割り当てられている数値
離散値（とびとびの値）であれば表に示せる
離散値：サイコロ（1,2,3,4,5,6）など

例：サイコロを３回振ったとき
1,2,3,4,5,6 ⇒　確率変数
1の目が3回出た ⇒　事象

### 確率分布
全事象の発生する確率を分布にしたもの。

### 記述統計
母集団から標本（サンプル）を抽出し、母集団の性質をグラフにしたり数値化する統計。

### 推測（推計）統計
母集団から標本（サンプル）を抽出し、母集団の性質を推測する

### 期待値$E(f(X))$

平均値の事
事象$X$を
$$x_1,x_2,x_3,\cdots,x_n$$

確率変数
$$f(x_1),f(x_2),f(x_3),\cdots,f(x_n)$$

確率$P(X)$を
$$P(x_1),P(x_2),P(x_3),\cdots,P(x_n)$$
とするとき、期待値（離散値）$E(f(X))$の定義は
$$E(f(X))=\sum_{k=1}^n P(X=x_k)f(X=x_k)$$

連続値の場合の期待値$E(f(X))$の定義は

$$\int_{-\infty}^{\infty}P(X=x)f(X=x)dx$$

### 分散
データの散らばり具合（散布度）を示す
期待値と各々のデータがどれだけズレているのかを差を取り、2乗して平均したもの定義は

$$Var(f(X))=E\left( f(X=x)-\Big(E(f(x))\Big)^2\right)=E(f(X)^2)-\Big(E(f(X)) \Big)^2$$

### 標準偏差σ
分散は2乗計算しているため、単位が2乗になっている
単位を1乗に戻すため、分散の平方根を取ったものが標準偏差

$$\sigma=\sqrt{Var(f(X))}$$

### 共分散
2つのデータの傾向の違いを測るもの 
正の値ならば似た傾向があり
負の値なら逆の傾向がある。
共分散が0の場合、関係性が乏しくなる。

```math
\begin{eqnarray}
Cov(f(X),g(Y))&=&E\bigg( \Big(f(X=x)-E(f(X)) \Big) \Big( g(Y=y)-E(g(Y))  \Big) \bigg)\\
&=&E\Big(f(X=x)g(Y=y) \Big)-E\Big(f(X=x)\Big)E\Big(g(Y=y)\Big)
\end{eqnarray}
```

### ベルヌーイ分布

コイントスのように事象が２つに分けられる場合の確率分布。各々の確率が均等でなくても使用できる。（表裏が同様に確からしくない、歪んだコインでもよい）


$$P(x|\mu)=\mu^x(1-\mu)^{1-x}$$

### マルチヌーイ（カテゴリカル）分布

サイコロを振るように事象が複数に分けられる場合の確率分布。ベルヌーイ分布のマルチ版のようなもの。（つまり歪んだサイコロを扱うイメージ）
ベルヌーイ分布と同じように、確率が均等でなくても使用することができる。

$$P(x|\mu)=\prod_{k=1}^K \mu_k^{x_k}$$

### 2項分布

ベルヌーイ分布の多試行版
$n$回のベルヌーイ試行をしたときに$x$回成功する確率は

$$P(x|\lambda ,n)=\frac{n!}{x!(n-x)!}\lambda^x(1-\lambda)^{n-x}$$

$n$：試行の回数
$x$：成功する回数
$\lambda$：期待する事象の確率

### ガウス分布（正規分布）

釣鐘型の連続分布、偏差値などを出すさいにも使われている。

$$N(x:\mu ,\sigma^2)=\frac{1}{\sqrt{2\pi}\sigma}\exp\left(-\frac{1}{2\sigma^2}(x-\mu)^2\right)$$

### 標本平均
母集団から取り出した標本（サンプル）の平均値

### 不偏分散
母集団に比べ標本数が少ない時は、標本分散が母分散よりも小さくなるため
標本分散が母分散に等しくなるように補正したもの

$$\bar{x}=\frac{1}{n}\sum_{k=1}^n x_k$$
とするとき、不偏分散は次の式で与えられる

$$\frac{1}{n-1}\sum_{k=1}^n (x_k-\bar{x})^2$$


# 3.情報理論
情報を数式化することで扱う理論

## 3.1 自己情報量

情報は確率$P(x)$を用いて表現することができる。
情報が珍しいというのは、情報量が大きいことを示すため、
確率$P(x)$と情報量には反比例の関係がある。そこで、自己情報量$I(x)$を次の式で定義する。
$$I(x)=\log\frac{1}{P(x)}=\log\Big(P(x)\Big)^{-1}=-\log P(x)$$
である。
単位は、対数の底が2のときは bit　、対数の底が$e$（ネイピア数、自然対数）のときは nat

## 3.2シャノンエントロピ―

自己情報量の期待値、つまり事象$x$の珍しの平均値をシャノンエントロピーといい次の式で定義する
$$H(x)=E(I(x))=-E(\log(P(x)))=-\sum_{x\in X}P(x)\log P(x)$$

## 3.3 カルバック・ライブラー ダイバージェンス

同じ事象・確率変数における異なる確率分布$P$、$Q$の違いを表す。
$$D_{KL}(P\, ||Q)=E_{X\sim P}\left[\log\frac{P(x)}{Q(x)}\right]=E_{X\sim P}\left[\log P(x)-\log Q(x) \right]$$
ここで、$I_P(x)=-\log P(x)$ 、$I_Q(x)=-\log Q(x)$とすると、上式は
$$D_{KL}(P\, ||Q)=E_{X\sim P}\left[-I_P(x)+I_Q(x) \right]$$
とできる。

## 3.4 交差エントロピー
* KLダイバージェンスの一部分を取り出したもの。
* $Q$についての自己情報量を$P$の分布で平均している。
* 2つの確率分布$P$と$Q$がどのくらい離れているのかを示す。

$P$ を事前に想定した確率分布、$Q$ を実際に発生した確率分布、$H(P)$ をシャノンエントロピー、$D_{KL}(P\, ||Q)$ をカルバック・ライブラー ダイバージェンスとするとき、交差エントロピー$H(P,Q)$ は次の式となる。

$$H(P,Q)=H(P)+D_{KL}(P\, ||Q)$$ 

計算は次の通り

```math
\begin{eqnarray}
H(P,Q)&=&-\sum_{x\in X}P(x)\log Q(x) \\
&=& -\sum_{x\in X}P(x)\Big(\underline{\log P(x)-\log P(x)}+\log Q(x) \Big) \\
&=& -\sum_{x\in X}P(x)\log P(x)+\sum_{x\in X}P(x)[\log P(x)-\log Q(x)]\\
&=& H(P)+E_{X\sim P}\left[\log P(x)-\log Q(x) \right]\\
&=& H(P)+D_{KL}(P\, ||Q)
\end{eqnarray}
```

# 4. ラビット・チャレンジについて
ラビット・チャレンジは「現場で潰しが効くディープラーニング講座」の講義の録画ビデオを教材としたE資格認定プログラムです。
　受講料はE資格認定プログラムの中で１番安く、2021年からは月謝生の講座も誕生しました。
　サポートは他の認定プログラムに比べて少ないため、自分自身で学習を管理できる方や上級者向けです。

ラビット・チャレンジへのリンクは[こちら](https://ai999.careers/rabbit/ )です。
　[ラビット・チャレンジ](https://ai999.careers/rabbit/ )