기본 콘텐츠로 건너뛰기

라벨이 softmax인 게시물 표시

[matplotlib]quiver()함수

[ML]softmax와 분류(Classification)

softmax와 분류(Classification) 일반적인 분류 문제는 클래스 간의 순서는 의미를 담지 않습니다. 단지 분류만을 목적으로 하는 경우가 많습니다. 그러나 분석을 위해서는 이러한 데이터를 수치로 변환하여야 합니다. one-hot coding 은 이러한 목적에 부합합니다. 즉, 다음 표와 같이 샘플이 대응되는 클래스(카테고리)에 1 그렇지 않으면 0을 할당합니다. 예를들어 데이터의 라벨이 cat, dog, chicken의 세 카테고리로 구성되어 있다면 원-핫인코딩은 다음과 같이 나타낼 수 있습니다. cat dog chicken cat 1 0 0 dog 0 1 0 chicken 0 0 1 그러므로 라벨 y의 집합은 다음과 같이 나타낼 수 있습니다. y ∈ {(1,0,0), (0,1,0), (0,0,1)} 다음 그림은 regression과 classification의 신경망을 나타낸 것입니다. 위 그림은 4개의 feature를 가진 데이터에서 회귀(regression)는 한개의 출력, 분류(classfication)의 경우 3개의 출력을 가지는 경우입니다. 회귀의 경우 4개의 가중치를 가지지만 분류의 경우 각 feature에서 각 출력 카테고리에 대한 가중치를 가지므로 총 4 × 3 =12개의 가중치를 가집니다. 이를 수식으로 나타내면 다음과 같습니다. \begin{align} \hat{y}_1&=x_1w_{11}+x_2w_{12}+x_3w_{13}+x_4w_{14}+b_1\\\hat{y}_2&=x_1w_{21}+x_2w_{22}+x_3w_{23}+x_4w_{24}+b_2\\\hat{y}_3&=x_1w_{31}+x_2w_{32}+x_3w_{33}+x_4w_{34}+b_3\\ \tag{식 1}\begin{bmatrix}\hat{y}_1\\\hat{y}_2\\\hat{y}_3\end{bmatrix}&=...

softmax 모델(Softmax Regression)

내용 Softmax 회귀 모델 비용함수 모델 생성 Softmax Regression Softmax 회귀 모델 데이터를 두 개의 클래스로 구분하기 위한 예측 방법인 로지스틱 회귀는 2개 이상의 클래스로 분류하기 위해 softmax 방법으로 일반화 할 수 있습니다. 이 방법을 softmax 회귀 또는 다중 로지스틱 회귀 (multinomial Losgistic regression)이라고 합니다. 이 모델은 우선적으로 각 인스턴스에 대해 식 1을 적용합니다. 이것은 그 인스턴스의 각 클래스에 대한 점수를 나타냅니다. 다음으로 식 2의 softmax 함수를 사용하여 각 클래스에 포함될 확률을 추정합니다. $$\begin{equation}\tag{1}s_k(x)=x^T\theta^{(k)}\end{equation}$$ 각 클래스 k는 자신의 가중치벡터 θ (k) 를 가집니다. 예를 들어 3개의 특성(독립변수)과 3개의 클래스들(A, B, C)를 가진 라벨(반응변수)에 대해 다음과 같이 각 인스턴스(샘플)의 점수를 계산할 수 있습니다. $$\begin{align}&\text{- A or not}\\ &\begin{bmatrix} W_{A1} &W_{A2}&W_{A3} \end{bmatrix}\begin{bmatrix} x_1\\x_2\\x_3 \end{bmatrix} = \begin{bmatrix} W_{A1}x_1+W_{A2}x_2+W_{A3}x_3 \end{bmatrix}=s(x)_A \\ &\text{- B or not}\\ &\begin{bmatrix} W_{B1} &W_{B2}&W_{B3} \end{bmatrix} \begin{bmatrix} x_1\\x_2\\x_3 \end{bmatrix} = \begin{bmatrix} W_{B1}x_1+W_{B2}x_2+W_{B3}x_3 \end{bmatrix}=s(x)_B\\ &\text{-...