신경망에서 실질적인 지속적인 결과를 얻는 방법?


14

지금까지 신경망에서 본 대부분의 예에서 네트워크는 분류에 사용되며 노드는 시그 모이 드 함수로 변환됩니다. 그러나 신경망을 사용하여 연속적인 실제 값을 출력하고 싶습니다 (실제로 출력은 일반적으로 -5 ~ +5 범위입니다).

내 질문은 :

1. Should I still scale the input features using feature scaling? What range?
2. What transformation function should I use in place of the sigmoid?

처음에는 이러한 레이어 유형 을 설명하는 PyBrain을 구현하려고 합니다 .

그래서 모든 선형 레이어 인 시작, 입력, 숨김 및 출력 레이어 3 개 레이어가 있어야한다고 생각합니까? 합리적인 방법입니까? 아니면 -5에서 5까지의 범위에서 S 자형 함수를 "스트레칭"할 수 있습니까?


1
물론 당신은 시그 모이 사용할 수 있습니다 . 예 : 5 빼기, 10 곱하기, 물류 기능에서 시작 ...[,][5,5]
SX에 불만 cbeleites

숨겨진 레이어 두 개를 사용하지 않는 특별한 이유가 있습니까? 신경망에서 실제 연속 출력을 얻는 가장 쉬운 방법 인 것 같습니다. "Machine machine learning 텍스트 슬라이드 26의 노트에서 언급 한 두 개의 숨겨진 레이어가있는 네트워크를 통해 모든 기능을 임의의 정확도로 근사 할 수 있습니다": cs.cmu.edu/afs/cs.cmu.edu/project/theo-20/ www / mlbook / ch4.pdf )
Chris Simokat

@ChrisSimokat : 아니요. 그러나 지금까지 읽은 대부분의 내용은 합리적인 시작점으로 단일 숨겨진 레이어를 제안합니다. 하나의 숨겨진 계층 네트워크가 어떤 기능에 근접하지 않을 수 있습니까?
사용자

1
@ChrisSimokat : 어쩌면 뭔가 빠졌지 만 숨겨진 단일 레이어가 "단일 레이어 퍼셉트론"과 같지 않다고 생각했습니다.
사용자

1
아니, 당신은 내가 분명히 그것에 대해 충분히 유감스럽게 읽지 않은 것을 놓친 것이 없습니다.
Chris Simokat

답변:


12

1 . 기능 스케일링을 사용하여 입력 기능을 스케일링해야합니까? 어떤 범위?

스케일링은 아무 것도 악화시키지 않습니다. Sarle의 신경망 FAQ에서이 답변을 읽으십시오. 제목 : 데이터를 표준화 / 표준화 / 조정해야합니까? .

2 . S 자형 대신 어떤 변환 기능을 사용해야합니까?

[0,1][1,1][5,5]


신경망 출력을 [-5,5] 범위로 스케일링하는 올바른 방법은 무엇입니까?
사용자

3
e[a,b][c,d]eaba(dc)+c

2
그러나 시그 모이 드는 비선형이기 때문에 균일 한 분포 샘플링으로 시그 모이 드의 값은 1에 가까워 지거나 0에 가까워 질 것입니다. 즉, 중간에서 더 신중하게 값을 선택하려면 네트워크를 배워야합니다. sigmoid + scaling은 정말 좋은 선택입니까?
Smarty77

0

면책 조항 : 제시 된 접근 방식은 지속적인 가치에 실현 가능하지 않지만 Smarty77 프로젝트의 의사 결정에 약간의 무게가 있다고 생각합니다 .Smarty77은 스케일 조정 된 시그 모이 드 기능을 사용하는 것에 대한 좋은 지적을합니다. 본질적으로, 시그 모이 드 함수는 샘플링 성공률을 설명하는 확률을 생성합니다 (즉, 이러한 기능을 가진 100 장의 사진 중 95 개가 '개'입니다). 설명 된 최종 결과는 이진 결과이고, '이진 교차 엔트로피'를 사용한 훈련은 정반대 결과를 분리하는 과정을 설명하며, 결과적으로 중간 범위의 결과를 방해합니다. 출력의 연속성은 단순히 샘플 수에 따라 스케일링하기 위해 존재합니다 (즉, 0.9761의 결과는 그 또는 유사한 트 라이트를 표시하는 10000 개의 샘플 중 9761이 '개'임을 의미), 그러나 각 결과 자체는 여전히 이진으로 간주되어야하며 임의로 세분화되지 않아야합니다. 따라서 실수로 간주하여 적용해서는 안되며 여기에 적용되지 않을 수도 있습니다. 네트워크 사용률을 잘 모르지만 출력 벡터 wrt 자체를 정규화합니다. 이것은 softmax로 수행 할 수 있습니다. 또한 네트워크에서 11 개의 선형 출력 (빈)이 있어야합니다 (각 출력에 대해 하나씩 -5에서 +5). 정답 인 하나의 'bin'에 대한 보증 값을 제공합니다. 이 아키텍처는 one-hot 인코딩으로 학습 할 수 있으며 1은 올바른 bin을 나타냅니다. 결과는 탐욕스러운 전략이나 확률 적 샘플링과 같은 방식으로 해석 할 수 있습니다. 그러나 연속 변수로 다시 변환하려면 각 인덱스의 보장은 숫자 선에 마커를 배치하는 가중치로 사용될 수 있지만 (시그 모이 드 유닛의 동작과 유사) 주요 문제를 강조합니다. 네트워크가 확실하다면 결과는 -2입니다. 또는 +3이지만 다른 것이 아닌지 확실하게 +1이 실행 가능한 결과입니까? 당신의 배려에 감사합니다. 프로젝트에 행운을 빕니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.