2016-09-18 1 views
0

이 경우에는 편지를 인식하고 싶습니다. 편지는 종이에서 스캔됩니다. 그 과정의 결과는 5 x 5 이진 행렬을가집니다. 그래서, 그것은 25 입력 노드를 사용합니다. 하지만 난 숨겨진 레이어 노드를 결정하고 그 사건에 대한 노드를 노드를 결정하는 방법을 이해하지 않습니다. 나는 그 사건에 대한 다층 perecptron의 아키텍처를 구축하고자합니다. 당신의 도움을 주셔서 감사합니다! 는 숨겨진 입력, 출력 및 :총 숨겨진 레이어 노드 및 출력 노드를 결정하는 방법은 무엇입니까?

답변

1

NN 각 레이어의 세 가지 유형이있다.


따라서 NN 아키텍처를 만드는 것은 각 유형의 레이어 수와 각 레이어의 노드 수에 대한 값을 제공한다는 의미입니다.

입력 층

간단한 - 제가 알고 예외없이 - 모든 NN 정확히 그들 중 하나가 있습니다.

이 레이어를 구성하는 뉴런 수와 관련하여이 매개 변수는 학습 데이터의 모양을 알면 완전하고 고유하게 결정됩니다. 특히 해당 계층을 구성하는 뉴런 수는 데이터의 지형지 물 (열) 수와 같습니다. 일부 NN 구성은 바이어스 용어에 대해 하나의 추가 노드를 추가합니다.


입력 층 추천 출력층

모든 NN 는 정확히 하나 개의 출력 층을 갖는다. 크기 (뉴런 수)를 결정하는 것은 간단합니다. 선택한 모델 구성에 따라 완전히 결정됩니다.

은 NN이 기계 모드 또는 회귀 모드 (또한 통계에 사용되는 용어를 사용하지만 매우 혼란에 다른 의미를 할당하는 ML 대회)에서 실행되는 것입니다. 기기 모드 : 수업 라벨 (예 : '프리미엄 계정'/ '기본 계정')을 반환합니다. 회귀 모드는 값 (예 : 가격)을 반환합니다.

NN이 회귀성 인 경우 출력 레이어에는 단일 노드가 있습니다.

윈이 분류의 경우

은, 그것은 또한 softmax를가 출력 층 모델의 클래스 레이블 당 하나 개의 노드를 가지고있는 경우 을 사용하지 않는 단일 노드가 있습니다.

숨겨진 레이어

그래서 그 몇 가지 규칙 층 모두는 입력 및 출력 레이어 크기 (신경/층)의 수를 설정. 그것은 숨겨진 레이어를 남깁니다.

몇 개의 숨겨진 레이어가 있습니까? 데이터가 선형으로 분리 가능하다면 (NN 코딩을 시작할 때 종종 알게 됨) 숨겨진 레이어가 전혀 필요하지 않습니다. 물론 데이터를 해결하기 위해 NN이 필요하지는 않지만 여전히 작업을 수행 할 것입니다.

너도 알다시피, NN의 숨겨진 계층 구성에 대한 논평이있다. (해당 해설 excellent summary에 대한 광의로 철저하고 통찰력있는 NN FAQ 참조).이 주제에서 합의가있는 한 가지 쟁점은 추가 숨겨진 레이어를 추가하는 것과 성능 차이입니다. 두 번째 (또는 세 번째 등) 숨겨진 레이어로 성능이 향상되는 상황은 매우 작습니다. 하나의 숨겨진 레이어로 대부분의 문제를 해결할 수 있습니다.

그래서 숨겨진 레이어의 크기는 얼마입니까 - 얼마나 많은 뉴런입니까? 경험적으로 도출 된 경험 법칙이 있습니다. 가장 일반적으로 사용되는 것은 '입니다. 숨겨진 레이어의 최적 크기는 일반적으로 출력 레이어의 입력 크기와 크기 사이입니다.' '. Jeff Heaton, 저자는 Introduction to Neural Networks in Java을 제공합니다.

요약하면 대부분의 문제에 대해 다음 두 가지 규칙 만 사용하여 숨겨진 레이어 구성을 설정하면 괜찮은 성능을 얻을 수 있습니다 (두 번째 최적화 단계 없이도). (ii) 그 층의 뉴런의 수는 입력 및 출력 층의 뉴런의 평균이다. 네트워크 구성

치기


최적화 (노드에서하지 층) 네트워크의 크기를 트림 기술의 집합 연산 성능과 때로는 해상도 성능을 향상시키기를 설명합니다. 이러한 기술의 요지는, 네트워크로부터 제거 된 경우, 네트워크 성능 (즉, 데이터의 분해능)에 현저한 영향을 미치지 않는 노드를 식별함으로써 훈련 중에 네트워크로부터 노드를 제거하는 것이다. 공식적인 가지 치기 기술을 사용하지 않아도 훈련 후 무게 매트릭스를보고 어떤 노드가 중요하지 않은지 대략적인 아이디어를 얻을 수 있습니다. 가중치를 0에 매우 가깝게 봅니다. 종종 가중치의 양쪽 끝에있는 노드입니다 분명히, 훈련 중에 프 루닝 알고리즘을 사용한다면 과잉 (즉, 'prunable') 노드를 가질 가능성이있는 네트워크 구성으로 시작하십시오 - 다시 말해 네트워크 아키텍처를 결정할 때 오류가 발생했습니다 가지 치기 단계를 추가하면 더 많은 뉴런의 측면에 있습니다.

다른 방법으로, 교육 도중 네트워크에 프 루닝 알고리즘을 적용하여 최적의 네트워크 구성에 접근 할 수 있습니다. 내가 알지는 못하는 하나의 "전선"(유전 알고리즘 기반 알고리즘과 같은)에서이 작업을 수행 할 수 있는지 여부는 알지만,이 2 단계 최적화가 더 일반적입니다.

공식지도 학습 네트워크를위한 엄지 손가락의 하나 추가 규칙은, 오버 피팅을 초래하지 않습니다 숨겨진 뉴런의 수에 어느 상한선은

입니다 :

enter image description here

Others recommend 알파를 5와 10 사이의 값으로 설정했지만, 2의 값은 종종 초과 할당없이 작동합니다. 이 excellent NN Design text으로 설명했듯이 모델의 자유 매개 변수 수 (degree 또는 0이 아닌 가중치 수)를 데이터 자유도의 작은 부분으로 제한하려고합니다. 데이터의 자유도는 각 샘플의 숫자 샘플 * 자유도 (크기) 또는 Ns∗(Ni+No) (모두 독립이라고 가정)입니다. 따라서 알파는 모델을 얼마나 일반적으로 사용하고 싶은지 또는 과잉을 방지하고 싶은지를 나타내는 방법입니다.

자동 절차에서는 훈련 데이터의 오류가 다음과 같은 경우보다 매우 작 으면 알파 (모델의 교육 데이터에서 2 배의 자유도)를 사용하고 최대 10 개까지 작업 할 수 있습니다. 교차 유효성 확인 데이터 세트

참조

  1. Advameg (2016) Comp.Ai.Neural-그물 FAQ 1 부 7 : 소개. 구입 가능 : http://www.faqs.org/faqs/ai-faq/neural-nets/part1/preamble.html

  2. 피드 포워드 신경망에서 숨겨진 레이어 및 노드 수를 선택하는 방법은 무엇입니까? (2016a)에서 사용 가능 : https://stats.stackexchange.com/a/136542

  3. 피드 포워드 신경망에서 숨겨진 레이어 및 노드의 수를 선택하는 방법은 무엇입니까? (2016b)에서 이용 가능 : https://stats.stackexchange.com/a/1097

  4. 법률, H.R.- 및 정보, C. (2016) Java 용 신경망 소개, 제 2 판. 이용 가능 : http://www.heatonresearch.com/book/programming-neural-networks-java-2.html

관련 문제