【上級】データサイエンス 数学ストラテジスト 公式問題集 解答例まとめ Q.51〜60

「データサイエンス 数学ストラテジスト 上級」はデータサイエンスの基盤である、確率・統計、線形代数、微積分、機械学習、プログラミングなどを取り扱う資格試験です。当記事では「日本数学検定協会」作成の「公式問題集」の演習問題$51$〜$60$の解答例を取り扱いました。

・数学検定まとめ
https://www.hello-statisticians.com/math_certificate

演習問題

Q.51

$C$が識別クラス、$D$が観測データのとき$P(C|D)$は事後確率、$P(C)$は事前確率、$P(D|C)$は尤度にそれぞれ対応する。よって$(1)$が正しい。

Q.52

$$
\large
\begin{align}
w_{1} x_{1} + w_{2} x_{2} + w_{0} = 0
\end{align}
$$

上記に平行するベクトルは$w_{1} x_{1} = -w_{2}x_{2}$が成立する必要があるので$\displaystyle \left( \begin{array}{c} w_{2} \ -w_{1} \end{array} \right)$である。

$\displaystyle \left( \begin{array}{c} w_{2} \\ -w_{1} \end{array} \right)$に直行するベクトルは$\displaystyle k \left( \begin{array}{c} w_{1} \\ w_{2} \end{array} \right)$なので、単位ベクトルは下記のように得られる。
$$
\large
\begin{align}
\pm \frac{1}{\sqrt{w_{1}^{2} + w_{2}^{2}}} \left( \begin{array}{c} w_{1} \\ w_{2} \end{array} \right)
\end{align}
$$

よって$(5)$が正しい。

Q.53

類似度は下記のような計算を行うことで得られる。

import numpy as np

x = np.array([[20., 6., 3., 15.], [25., 15., 15., 6.], [35., 20., 13., 8.], [18., 7., 7., 10.], [27., 12., 5., 13]])
y = np.array([23., 10., 8., 7.])

for i in range(x.shape[0]):
    print(np.sqrt(np.sum((y-x[i,:])**2)))

・実行結果

10.677078252
8.88819441732
16.4316767252
6.63324958071
8.0622577483

上記より$(4)$が正しい。

Q.54

シグモイド関数は下記のように図示することができる。

import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

sns.set_theme()

x = np.arange(-5., 5.01, 0.01)
y = 1./(1.+np.e**(-x))

plt.plot(x, y)
plt.show()

・実行結果

図よりCがシグモイド関数に一致するので$(3)$が正しい。

・解説
シグモイド関数を$\displaystyle f(x)=\frac{1}{1+e^{-x}}$のように表すと、下記が成立します。
$$
\large
\begin{align}
f(0) &= \frac{1}{1+e^{-0}} \\
&= \frac{1}{1+1} = \frac{1}{2} \\
\lim_{x \to \infty} f(x) &= \frac{1}{1+0} \\
&= 1 \\
\lim_{x \to -\infty} f(x) &= 0
\end{align}
$$

上記よりCを選ぶことができます。検定試験などではPythonを用いることができないので、グラフの形状を抑えていない場合はこのように具体的な値を元に関数を選択すると良いです。

Q.55

重回帰分析では精度の確認に「自由度調整済み決定係数」を用いるので$(2)$の$69.4$%が正しい。

Q.56

相関係数に基づく類似度は下記のような計算を行うことで得られる。

import numpy as np

x = np.array([2., 3., 5., 4., 5.])
y = np.array([3., 2., 4., 4., 5.])

r = np.sum((x-np.mean(x))*(y-np.mean(y)))/np.sqrt(np.sum((x-np.mean(x))**2)*np.sum((y-np.mean(y))**2))

print("r: {:.3f}".format(r))

・実行結果

r: 0.774

上記より$(1)$が正しい。

Q.57

$h_1, h_2, h_3, y_3$はそれぞれ下記のように計算できる。
$$
\large
\begin{align}
h_1 &= \left( \begin{array}{cc} 1 & 0 \\ 0 & 1 \end{array} \right) \left( \begin{array}{c} 2 \\ 3 \end{array} \right) + \left( \begin{array}{cc} 0 & 1 \\ -1 & 0 \end{array} \right) \left( \begin{array}{c} 0 \\ 0 \end{array} \right) \\
&= \left( \begin{array}{c} 2 \\ 3 \end{array} \right) \\
h_2 &= \left( \begin{array}{cc} 1 & 0 \\ 0 & 1 \end{array} \right) \left( \begin{array}{c} 1 \\ 0 \end{array} \right) + \left( \begin{array}{cc} 0 & 1 \\ -1 & 0 \end{array} \right) \left( \begin{array}{c} 2 \\ 3 \end{array} \right) \\
&= \left( \begin{array}{c} 1 \\ 0 \end{array} \right) + \left( \begin{array}{c} 3 \\ -2 \end{array} \right) = \left( \begin{array}{c} 4 \\ -2 \end{array} \right) \\
h_3 &= \left( \begin{array}{cc} 1 & 0 \\ 0 & 1 \end{array} \right) \left( \begin{array}{c} -1 \\ 1 \end{array} \right) + \left( \begin{array}{cc} 0 & 1 \\ -1 & 0 \end{array} \right) \left( \begin{array}{c} 4 \\ -2 \end{array} \right) \\
&= \left( \begin{array}{c} -1 \\ 1 \end{array} \right) + \left( \begin{array}{c} -2 \\ -4 \end{array} \right) = \left( \begin{array}{c} -3 \\ -3 \end{array} \right) \\
y_3 &= \left( \begin{array}{cc} -1 & 1 \\ 0 & 1 \end{array} \right) \left( \begin{array}{c} -3 \\ -3 \end{array} \right) \\
&= \left( \begin{array}{c} 0 \\ -3 \end{array} \right)
\end{align}
$$

上記より$(5)$が正しい。

Q.58

過学習は$(3)$のようなグラフに対応するので$(3)$が正しい。

Q.59

$$
\large
\begin{align}
E &= \frac{1}{2}(z-t)^{2} \\
z &= w_1 y_1 + w_2 y_2 \\
y_1 &= v_{11} x_1 + v_{12} x_2
\end{align}
$$

$\displaystyle \Delta v_{11} = -\eta \frac{\partial E}{\partial v_{11}}$は微分の連鎖律を用いて下記のように得ることができる。
$$
\large
\begin{align}
\Delta v_{11} &= -\eta \frac{\partial E}{\partial v_{11}} \\
&= -\eta \frac{\partial E}{\partial z} \cdot \frac{\partial z}{\partial y_1} \cdot \frac{\partial y_1}{\partial v_{11}} \\
&= -\eta \cdot (z-t) \cdot w_1 \cdot x_1 = -\eta (z-t) w_1 x_1
\end{align}
$$

上記より$(1)$が正しい。

Q.60

確信度は下記のように計算できる。
$$
\large
\begin{align}
\frac{n(A \cap B)}{n(A)} &= \frac{3}{4}
\end{align}
$$

よってリフト値は下記のように計算できる。
$$
\large
\begin{align}
\frac{3/4}{P(B)} &= \frac{3}{4} \cdot \frac{8}{5} \\
&= \frac{6}{5} = 1.2
\end{align}
$$

よって$(4)$が正しい。