비용함수: cross_entropy loss 한개의 특성(feture)과 3개의 클래스를 가진 라벨에 매핑시키는 모델을 생성합니다. 즉, 데이터는 다음의 구조를 가집니다. x y 1.5 0 $\vdots$ $\vdots$ 클래스 0, 1, 2를 각각 A, B, C로 나타내면 각각에 부여되는 가중치를 $w_A, w_B, w_C$로 표시하여 식 1과 같이 x에 대한 예측치를 계산할 수 있습니다. \begin{align}\tag{식 1}w_A \cdot x &= \hat{y}_A\\w_B \cdot x &= \hat{y}_B\\w_c \cdot x &= \hat{y}_C\end{align} 간단한 예로 다음의 경우에 대해서만 예측치를 계산해 봅니다. x=1.5, y=0 import numpy as np np.random.seed(3) W=np.random.rand(3) W array([0.5507979 , 0.70814782, 0.29090474]) x=1.5 y=0 haty=W*x haty array([0.82619685, 1.06222173, 0.43635711]) 위 haty는 x가 label의 각 클래스 A, B, C로 대응하기 위한 선형변환의 결과입니다. 위 값들이 [0, 1] 구간내에 포함하도록 정규화 할 수 있습니다. 이것은 특성이 A, B, C에 매핑될 확률로 간주할 수 있습니다. \begin{align}S(\hat{y_i})&=P_i\\\tag{식 2}&=\frac{e^{\hat{y_i}}}{\sum^k_{j=1}e^{\hat{y_i}}}\\ k:& \text{클래스 갯수} \end{align} 위 계산결과의 총합은 1이 됩니다. haty2=np.exp(haty) s1=haty2/np.sum(haty2) s1 array([0.33974648, 0.43018897, 0.23006455]) s1.sum().round(3) 1.0 위 결과 중 ...
python 언어를 적용하여 통계(statistics)와 미적분(Calculus), 선형대수학(Linear Algebra)을 소개합니다. 이 과정에서 빅데이터를 다루기 위해 pytorch를 적용합니다.