예를 들어, 주택 가격을 예측하고 집의 길이와 너비에 대한 두 가지 입력 기능이 있습니다. 때로는 길이 * 너비 인 면적과 같은 ‘유도 된’다항식 입력 기능도 포함됩니다.
1) 파생 기능을 포함시키는 요점은 무엇입니까? 신경망이 훈련 중에 길이, 너비 및 가격 간의 연결을 배우지 않아야합니까? 왜 세 번째 기능인 영역이 중복되지 않습니까?
또한 때로는 사람들이 숫자를 줄이기 위해 입력 기능에 대해 유전자 선택 알고리즘을 실행하는 것을 알 수 있습니다.
2) 유용한 정보가 모두 포함 된 입력 기능을 줄이는 요점은 무엇입니까? 신경망이 중요도에 따라 각 입력 기능에 적절한 가중치를 할당하지 않아야합니까? 유전자 선택 알고리즘을 실행하는 요점은 무엇입니까?
답변
1) : 파생 된 기능을 포함시키는 것은 전문 지식을 훈련 과정에 주입하여 가속화하는 방법입니다. 예를 들어, 저는 연구에서 물리학 자와 많은 일을합니다. 최적화 모델을 작성할 때 3 ~ 4 개의 매개 변수를 제공하지만 일반적으로 방정식에 나타나는 특정 형식도 알고 있습니다. 예를 들어 변수 과 얻을 수 있지만 전문가는 이 중요하다는 것을 알고 있습니다. 이를 피쳐로 포함함으로써 모델을 저장하여 이 중요하다는 것을 알 수 있습니다. 물론 도메인 전문가가 잘못한 경우도 있지만 내 경험상 일반적으로 그들이 말하는 내용을 알고 있습니다.
nl
n∗l
n∗l
2) : 내가 알고있는 두 가지 이유가 있습니다. 먼저 (실제 데이터에서 자주 발생하는) 수천 개의 기능이 제공되고 훈련에 대한 CPU 시간이 부족한 경우 (일반적으로 발생하는 경우) 여러 가지 기능 선택 알고리즘을 사용하여 기능 공간을 분석 할 수 있습니다. 미리. 이에 대한 원칙적 접근은 정보 이론적 방법을 사용하여 예측력이 가장 높은 특징을 선택합니다. 둘째, 모든 데이터와 보유한 모든 기능을 학습 할 여유가 있더라도 신경망은 종종 ‘블랙 박스’모델이라는 비판을받습니다. 기능 공간을 미리 줄이면이 문제를 완화하는 데 도움이 될 수 있습니다. 예를 들어, NN을보고있는 사용자는 0.01의 가중치가 “0을 의미하는지 여부를 쉽게 알 수 없지만 최적화 프로세스가 제대로 이루어지지 않았습니다”또는 “
답변
1) 대부분의 신경망은 곱셈을 수행 할 수 없습니다. 합계 만 계산할 수 있습니다 ( 활성화 함수 를 통해 개별적으로 피드 ). 그것들은 중요한 경우에, 특히 많은 수의 뉴런, 특히 요인들이 넓은 범위에 걸쳐있을 수있는 경우, 그러한 곱셈을 추정해야합니다.
집 면적이 실제로 중요한 기능이라는 것이 밝혀지면, 지역을 제공하면 네트워크를 도울 것입니다. 뉴런을 사용할 수 있기 때문에 너비와 길이의 곱셈을 추정하는 데 필요했을 것입니다 다른 일을합니다.
따라서 다항식 기능을 포함하면 네트워크에 유리할 수 있지만 다른 경우에는 큰 영향을 미치지 않습니다. 또한 다항식 기능은 네트워크에 도움이 될 수있는 파생 기능 중 한 가지 유형일뿐입니다. 도움이 될 수있는 또 다른 유형의 파생 된 특징은 예를 들어 네트워크가 획득하기 위해 추정해야하는 입력 변수의 로그 (양수로 간주 됨)입니다.
다항식 특징 자체를 효율적으로 계산할 수 있도록 네트워크가 더하기 만하는 것보다 더 많은 연산을 수행 할 수 있도록하는 것이 좋을 것입니다. 비슷한 기능을하는 것으로 보이는 하나의 아키텍처는 sum-product network 입니다.
2) John이 언급 한 계산 비용을 제외하고 더 많은 입력을 도입 할 때 불가피하게 발생하는 모델의 매개 변수 수를 늘리면 특히 훈련 데이터가 거의없는 경우 네트워크가 과적 합 될 위험이 높아집니다 .
그러나 좋은 정규화 방법을 사용하면 문제를 훨씬 덜 줄일 수 있습니다. 이론적으로는 충분한 정규화 방법을 사용하면 과적 합이 전혀 문제가되지 않습니다. Hinton이 지적한 바와 같이, 인간은 뇌에서 10 ^ 14 개의 시냅스 순서 (신경망의 연결에 해당)를 갖지만 10 ^ 9 초의 순서로만 살지만 우리는 여전히 꽤 잘 일반화하십시오. 따라서 튜닝 할 수있는 많은 매개 변수를 갖는 것이 올바른 알고리즘을 사용하는 것만으로도 이점이됩니다.