준비가 되었습니다. 여기에서는 훈련 샘플이 X 벡터이기 때문에 훈련 샘플만 누락되었습니다. 물론 그래프에 올려도 되지만 45"의 각도로 그래프와 교차하는 직선이 됩니다.
신경망이 하나의 단일 샘플 n+1 만 인식하도록 훈련하는 길이 - n 의 훈련 벡터가 있습니다. N개의샘플 길이(이것은 훈련 벡터가 아니라 그것들의 세트 매번 오른쪽으로 1씩 이동하여 최대 N )까지 사인 시리즈에서 얻을 수 있습니다. 따라서 우리는 NN이 학습한 N 개의 값(이것은 학습 벡터의 n + 1개 요소임)을 갖고 있으며 어떻게 학습했는지에 대한 N 개의 값도 가지고 있습니다. 가로축과 세로축을 따라 각각 배치하면 학습 과정을 특징짓는 원하는 클라우드를 얻을 수 있습니다. 이 구름은 45도 기울어지지 않을 것이 분명합니다. 이것은 그리드 가중치 - w 의 수가 훈련 벡터 P=w*w/d 의 최적 길이보다 훨씬 짧고 결과적으로 NN이 최적 가중치를 찾기 위해 푸는 방정식 시스템에서 비롯됩니다. 과도하게 결정되고 솔루션이 무한합니다. 따라서 모든 방정식에 대한 제곱 학습 오차를 최소화한다는 의미에서 최적의 근사치를 구합니다. 훈련 벡터의 길이가 가중치의 개수와 같다면 100% 네트워크 학습을 기대할 수 있지만, 이는 향후 축적된 지식을 일반화하는 네트워크 능력 측면에서 최적이 아니며 테스트 세트. 올바르게 훈련된 그리드는 테스트 샘플의 기울기에 가까운 훈련 샘플의 기울기가 "클라우드" 다이어그램에 표시됩니다. 반대로, 과잉 훈련된 네트워크는 무시할 수 있는 분산이 있는 학습 클라우드에 대해 45도 각도를 표시하고 테스트 클라우드에 대해 무한 분산을 갖는 0 각도를 표시합니다. 단일 퍼셉트론에 대한 선형 대수 방정식 시스템을 정확히 풀려고 하면 이 결과가 얻어집니다. 나는 이미 위에서 이것에 대해 이야기했습니다. 이러한 이유로 네트워크를 디버깅할 때 클라우드 다이어그램을 사용하는 것이 매우 편리합니다(MQL에서는 구현할 수 없음).
실험에 따라 기울기가 바뀌고 심지어는 음수가 된다는 사실은 당신의 여자 친구가 훈련을 받지 않고 비밀 생활을 하고 있음을 분명히 나타냅니다. 절제술이 필요합니다 :-)
PS 2001i MathCad용 *.mcd 확장자로 cdjb 파일을 저장합니다. 그렇지 않으면 읽을 수 없습니다.
이것은 2개의 실제 입력(상수 편향을 계산하지 않음), k = 2를 갖는 2층 신경망으로, 은닉층에 비선형 활성화가 있는 2개의 뉴런과 출력에서 1개의 선형 뉴런(활성화 함수 없음)이 있습니다. . 훈련 샘플은 빨간색으로 표시되고 테스트 샘플(예측)은 파란색으로 표시됩니다. 모든 카운트에서 재교육. 통계 - 200개의 실험. 각도의 접선은 그래프 필드에 제공됩니다.
이제 막 컴퓨터에 도착했습니다. 나는 당신을 위해 잘못된 파일입니다 ... 나는 아침 러쉬에 첨부했습니다. 이제 나는 모든 것에 대해 논평할 것이고 이것은 Matkad의 내장 함수인 ranif()를 게시할 것입니다. 이것은 두 번째와 세 번째 매개변수 사이의 범위에서 균일하게 분포된 난수로 첫 번째 매개변수에 지정된 길이의 벡터를 반환합니다.
모든 직선은 수평에 대한 모든 각도에서 이러한 원에 내접될 수 있습니다.
오 글쎄!
보시다시피, 어떤 아래에도 없습니다! - 그리고 우리의 필요에 따라 ...
이제 보인다!
약속된 학습 클라우드는 어디에 있습니까?
눈금 눈금을 그래프에 걸고 직선에 대한 경사각의 탄젠트와 같은 값을 말하십시오.
이것은 X의 5항 사인과 Y의 임의 가중치(초기 가중치 설정 +/-1)를 사용한 그리드 예측의 첫 번째 차이에서 얻은 사진입니다. 나머지는 아직 작업 중이며 곧 있을 예정입니다.
오 글쎄!
보시다시피, 어떤 아래에도 없습니다! - 그리고 우리의 필요에 따라 ...
그럼 끝입니다.
준비가 되었습니다. 훈련 샘플이 X 벡터이기 때문에 여기에 훈련 샘플만이 있는 것은 아닙니다. 물론 그래프에 그릴 수도 있지만 45 "의 각도로 그래프와 교차하는 직선이 될 것입니다. 뉴런은 세 가지 샘플에서 훈련되었습니다.
1. 단순 1차 차분 5sin - 벡터 Y_simpl, 녹색(최소 제곱에 해당)
2. 첫 번째 차이의 하이퍼탄젠트 5sin - 파란색
3. 바이너리 입력(5sin 기준) - 보라색
선의 접선은 다음과 같습니다.
그런데도 뭔가 잘못되었습니다. 또는 당신이 준 임무를 이해하지 못합니다.
이 뉴런은 X 데이터 벡터의 새로운 샘플 각각에 대해 훈련되며, 동일한 벡터가 그래프의 x축으로 사용됩니다. 부하에게 가져다주면...? 무엇 때문에?
또한 데이터가 동일한 워크시트를 다시 계산하면 결과가 달라진다는 사실을 알게 되었습니다. 꼭 그래야 하는 걸까요? 저것들. 결과는 초기 균형 설정에 따라 크게 달라집니다.
또한 각 단계에서 뉴런을 훈련시키지 않고 무작위로 선택된 초기 가중치로 데이터 벡터를 통해 단순히 실행했을 때 중앙에 구름이 있는 사진을 얻었습니다(가끔).
이제 당신은 당신이 보는 것을 얻습니다. 여기 또 다른 사진이 있습니다.
만일을 대비하여 나는 Matkad의 목록을 고수합니다.
준비가 되었습니다. 여기에서는 훈련 샘플이 X 벡터이기 때문에 훈련 샘플만 누락되었습니다. 물론 그래프에 올려도 되지만 45"의 각도로 그래프와 교차하는 직선이 됩니다.
신경망이 하나의 단일 샘플 n+1 만 인식하도록 훈련하는 길이 - n 의 훈련 벡터가 있습니다. N개의 샘플 길이(이것은 훈련 벡터가 아니라 그것들의 세트 매번 오른쪽으로 1씩 이동하여 최대 N )까지 사인 시리즈에서 얻을 수 있습니다. 따라서 우리는 NN이 학습한 N 개의 값(이것은 학습 벡터의 n + 1개 요소임)을 갖고 있으며 어떻게 학습했는지에 대한 N 개의 값도 가지고 있습니다. 가로축과 세로축을 따라 각각 배치하면 학습 과정을 특징짓는 원하는 클라우드를 얻을 수 있습니다. 이 구름은 45도 기울어지지 않을 것이 분명합니다. 이것은 그리드 가중치 - w 의 수가 훈련 벡터 P=w*w/d 의 최적 길이보다 훨씬 짧고 결과적으로 NN이 최적 가중치를 찾기 위해 푸는 방정식 시스템에서 비롯됩니다. 과도하게 결정되고 솔루션이 무한합니다. 따라서 모든 방정식에 대한 제곱 학습 오차를 최소화한다는 의미에서 최적의 근사치를 구합니다. 훈련 벡터의 길이가 가중치의 개수와 같다면 100% 네트워크 학습을 기대할 수 있지만, 이는 향후 축적된 지식을 일반화하는 네트워크 능력 측면에서 최적이 아니며 테스트 세트. 올바르게 훈련된 그리드는 테스트 샘플의 기울기에 가까운 훈련 샘플의 기울기가 "클라우드" 다이어그램에 표시됩니다. 반대로, 과잉 훈련된 네트워크는 무시할 수 있는 분산이 있는 학습 클라우드에 대해 45도 각도를 표시하고 테스트 클라우드에 대해 무한 분산을 갖는 0 각도를 표시합니다. 단일 퍼셉트론에 대한 선형 대수 방정식 시스템을 정확히 풀려고 하면 이 결과가 얻어집니다. 나는 이미 위에서 이것에 대해 이야기했습니다. 이러한 이유로 네트워크를 디버깅할 때 클라우드 다이어그램을 사용하는 것이 매우 편리합니다(MQL에서는 구현할 수 없음).
실험에 따라 기울기가 바뀌고 심지어는 음수가 된다는 사실은 당신의 여자 친구가 훈련을 받지 않고 비밀 생활을 하고 있음을 분명히 나타냅니다. 절제술이 필요합니다 :-)
PS 2001i MathCad용 *.mcd 확장자로 cdjb 파일을 저장합니다. 그렇지 않으면 읽을 수 없습니다.
내가 확인 할게요.
그건 그렇고, 여기 내 여자 친구가 5 사인 시리즈를 해결하는 방법이 있습니다.
이것은 2개의 실제 입력(상수 편향을 계산하지 않음), k = 2를 갖는 2층 신경망으로, 은닉층에 비선형 활성화가 있는 2개의 뉴런과 출력에서 1개의 선형 뉴런(활성화 함수 없음)이 있습니다. . 훈련 샘플은 빨간색으로 표시되고 테스트 샘플(예측)은 파란색으로 표시됩니다. 모든 카운트에서 재교육. 통계 - 200개의 실험. 각도의 접선은 그래프 필드에 제공됩니다.
나는 당신이 코드에서 이해하지 못했던 영혼의 단순함으로 많은 것을 가지고 있습니다. 그러나 내가 이해한 바에 따르면 다음은 내 생각과 일치하지 않습니다.
제곱 편차 S[k] 에 대해 전체 훈련 에포크 P 에 대한 누적 합계가 있어야 합니다. 내가 보는 것은 변수의 이름을 바꾸는 것뿐입니다. 난수를 사용한 가중치 초기화는 없습니다.
method(), ranif() 어떤 서브루틴을 도입했는지, 어디서 봐야 하는지 아직도 이해가 안 가나요?
귀하의 코드를 약간 단순화했습니다(파일 참조).
그는 모든 것에 대해 자세히 설명했고, 그 과정에서 몇 가지 오류를 수정했습니다.
그가 그린 것은 다음과 같습니다.
11, 12, 13 세 가지 형식으로 파일을 첨부합니다(*.xcmd)
지금은 수정사항을 보고 있는데... 사실 수정사항을 먼저 보고 댓글을 달았어야 했는데... -:)
위에 두 개의 글을 쓰신 것보다 더 생각합니다. 나를 위해 가장 중요한 것은 내 머리 속의 "그림"이 발전했다는 것을 이해하고 모든 것을 할 것입니다.
아직 완전히 옳지 않은 그림 - '하나하나 배워가는 것'으로 오해했는데 아직 새로운 것은 없다.