2016-10-11 3 views
2

softmax 회귀를 사용하여 신경망을 만들려고합니다. 나는 다음과 같은 회귀 식을 사용하고 있습니다 :softmax 회귀 실행

enter image description here

내가 1000x100의 입력이 있다고 할 수 있습니다. 즉, 10x10 크기의 이미지가 각각 1,000 개 있다고 가정 해 보겠습니다. 이제 이미지가 A, B, C, D, E, F, G, H, I, J의 문자 이미지라고 가정하고 이것을 예측하려고합니다. 내 디자인은 다음과 같습니다 : 100 개의 입력 (각 이미지)과 10 개의 출력을가집니다.

다음과 같은 의문점이 있습니다. 분자가 x^n에서 위첨자 인 경우 w (w = 차원은 출력의 수를 나타내는 10x100 - 10이고 입력의 수를 나타내는 100)의 가중치를 수행해야하며 단일 x (하나의 이미지) 또는 모든 상상의 결합 (1000x100)? 저는 파이썬으로 코딩하고 있습니다. 그래서 w와 x^T (10x100 dot 100x1000)의 곱을 구한다면 어떻게 그 지수를 만들 수 있을지 확신 할 수 없습니다. 나는 numpy를 사용하고있다. 나는 그들이 지수로 제기 될 수있는 방법에 대한 이러한 매트릭스 주위에 내 마음을 래핑 힘든 시간을 보내고있다.

+0

1) x^n은 이전 계층의 모든 노드의 출력을 나타냅니다. 그것은 지수가 아닙니다. w_i는 softmax 계층에서 노드 i의 웨이트 벡터를 나타낸다. 2) 도트 생성물은 항상 동일한 크기의 두 벡터로 수행됩니다. [다음은 내 구현입니다.] (https://github.com/supersaiyanmode/Image-Orientation-Detector/blob/master/orient.py#L52) 한동안 살펴보고 싶다면 – SuperSaiyan

답변

0

신경망을 훈련하는 경우 Theano 라이브러리를 확인하는 동안 가치가 있습니다. tanh, softmax 등과 같은 다양한 출력 thresholding 기능이 있으며 GPU에서 신경망을 학습 할 수 있습니다.

또한 x^n은 위 공식의 마지막 레이어의 출력이며 일부 지수로 올린 입력이 아닙니다. 지수에 행렬을 넣을 수 없습니다.

softmax 회귀에 대해 더 확인해야합니다. This이 도움이 될 수 있습니다.