Wednesday, July 20, 2016

무역 전략 기계 학습






+

내가 한 짓이 게시물 의지 세부 사항은 약 확인합니다. 나는 완전히 독립적으로 거래되지 않았다 더 이상 내 프로그램을 실행하고 있기 때문에 2009 년 2010 년에 고주파 거래에서 50 만 나는 모두에게 행복 해요. 내 거래는 대부분 러셀 2000 DAX 선물 계약했다. 나의 성공의 열쇠는, 내가 믿는, 정교한 금융 방정식이 아니라 최대의 수익성을 최적화하기 위해 함께 많은 간단한 구성 요소와 사용되는 기계 학습을 묶어 전체 알고리즘 설계되지 않았습니다. 난 그냥 내 성공은 운이 단순히 결과 아니라는 것을 증명하려면, CourseTalk, MOOCs에 대 한 리뷰 사이트) 첫째 : 당신은 LL 내 현재 프로젝트로 이동했다. 내 프로그램은 하루에 1000-4000 거래를했다 (절반 길이, 절반 짧은) 결코 한 번에 몇 계약 이상의 위치에있어. 이것은 어떤 특정 거래에서 임의의 행운이 꽤 빨리 밖으로 평균을 의미했다. (EDIT을이 수치는 수수료를 지불 후입니다.) 그리고 여기 당신에게 매일 변화의 감각을 제공하기 위해 차트를 S : 결과는 내가 하루에 2000 개 이상의를 손실하지 않고 결코 잃지 달 한 적이 있었다. 수치가 올라가고 정지로 - - 이 때문에 지난 7 개월 제외 참고 내가 그들을 입력하는 나의 의욕을 잃었다. 이전에 내 자동 거래 프로그램을 설정하는 내 무역의 배경 나는 좋은 돈을 벌 수 있습니다. 나는 단지 내가 생각 가장자리 비디오 게임 / 도박을 재생하는 등의 유사 무엇을하고 있었는지 설명 할 수 있습니다. 훈련되고, 빨리되고, 좋은 직관적 인 패턴 인식 능력을 가진 성공적인 것을 의미 인. 나는, 250K 주위에 만들어 내 학자금 대출을 갚을 돈이 남아있을 수 있었다. 향후 5 년 동안 승리 난 길을 따라 약간의 프로그래밍 기술을 따기, 두 개의 벤처 기업을 시작합니다. 그것은 t 내가 다시 거래로 얻을 것 2008 년 말까지 할 같으면. 내 다음 행동을 생각하면서 돈 내 첫 시작의 판매 부족으로 거래는 몇 가지 빠른 현금의 희망을 제공했다. 2008 년에 나는 약간의 사용자 정의 주문 입력 단축키를 원하는 한 거라고, 그래서 발견 T4는 API를 한 후에, 나는 C (API를 사용하는 데 필요한 프로그래밍 언어) 학습의 도전을 가져다가 나서서 자신에게 약간의 단축키를 내장. 곧 더 큰 열망을 가지고 있었던 API 젖은 내 발을 점점 후 : 나는 나를 위해 거래하기 위해 컴퓨터를 가르치고 싶었다. API는 시장 데이터의 흐름 및 교환에 명령을 보낼 수있는 쉬운 방법을 모두 제공 - 내가했던 일은, 중간에 로직을 작성했다. 다음은 T4 거래 윈도우의 스크린 샷이다. 무엇 시원했다하면 내 프로그램 작업을 받았을 때 나는이 동일한 인터페이스의 컴퓨터 무역을 볼 수 있었던 것입니다. (내 진짜 돈을 스스로) 및 터지는 실제 주문을 보는 것은 스릴과 무서운 둘이었다. 처음부터 내 알고리즘의 디자인은 내 목표는 내가 지금까지 어떤 라이브 거래를하기 전에 돈을 벌 거라고 합리적으로 확신 할 수 있도록 시스템 설치로했다. 가능한 한 정확하게 - - 라이브 거래를 시뮬레이션이를 위해 나는 것 무역 시뮬레이션 프레임 워크를 구축 할 필요가 있었다. 라이브 모드 필요한 처리 시장 업데이트에 거래 동안 API를 통해 스트리밍 시뮬레이션 모드는 데이터 파일의 시장 업데이트 판독 요구. 단순히 타임 스탬프와 API 및 기록 시장 업데이트에 연결이 데이터 I 설정 내 프로그램의 첫 번째 버전을 수집합니다. 나는 훈련에 내 시스템을 테스트하기 위해 최근 시장 데이터의 4 주 가치를 사용하여 끝났다. 대신에 기본 프레임 워크와 난 여전히 수익성이 거래 시스템을 만드는 방법을 알아내는 작업을했다. 가격의 움직임을 예측하고 아마도 모든 거래 시스템의 명백한 구성 요소가 가격이 이동 위치를 예측할 수있게되고 가격 변동을 예측 수익성 거래를 만들기 : 그것은 밝혀 내 알고리즘을 내가 다시 찾아거야 두 가지 구성 요소로 분해된다. 그리고 내도 예외는 아니었다. 나는 내 입찰 및 내부 제공의 평균과 현재 가격을 정의하고 나는 가격이 다음 10 초 될 경우 예측의 목표를 설정합니다. 내 알고리즘은 무역 하루 동안이 예측과 순간 순간을 제공해야합니다. 최적화 지표를 만들기 나는 단기 가격 변동을 예측하는 의미있는 능력을 입증 지표의 소수를 만들었습니다. 각 지표는 긍정적 또는 부정적이었다 수를 생산했다. 하지 양수 시장이 올라가고으로 대응하고 음수 시장이 추락 대응보다 더 자주 경우 표시등이 유용했다. 내 시스템은 내가 빠르게 표시가 가진 많은 예측 능력은 내가 일을 확인하기 위해 다른 지표의 많은 실험을 할 수 있었다 방법을 결정하는 것을 허용했다. 지표의 대부분을 생산 수식에서 변수를했고 나는 다양한 값으로 달성 결과의 측면 비교하여 측면을 수행하여 그 변수의 최적 값을 찾을 수 있었다. 가장 유용했던 지표는 모두 비교적 간단했다 최근 내가 거래 시장에서 이벤트뿐만 아니라 상관 관계 유가 증권의 시장을 기반으로했다. 단순히 위 또는 아래 가격의 움직임을 얻지 못한 t 충분히 예측 지표를 갖는 정확한 가격 변동 예측을 만들기. 나는 각 지표의 각각의 가능한 값에 의해 예측 정확히 얼마나 많은 가격 움직임을 알 필요. 나는 가격 예측 지표 값을 변환 할 수식을 필요로했다. 내가 지표 값의 하락 범위에 의존 (50) 버킷의 가격 움직임을 예측 추적되는이 작업을 수행 할 수 있습니다. 이것은 내가 다음 Excel에서 그래프로 할 수 있었다 각 버킷에 대해 고유 한 예측을 생산했다. 당신은 지표 값이 증가함에 따라 예상되는 가격 변동의 증가를 볼 수있다. 그래프를 바탕으로 이와 같은 난 곡선에 맞게 수식을 만들 수 있었다. 처음에 나는 수동으로 이런 짓을하지만 곧이 프로세스를 자동화하는 몇 가지 코드를 썼다. 모든 지표 곡선이 같은 모양을 가지고 있습니다. 또한 데이터가 균등하게 지적 확산하도록 버킷 대수적으로 분포되어 있습니다. 마지막으로 음의 지표 값 (및 해당 아래쪽으로 가격 예측이) 반전과 양의 값과 결합하고 있습니다. (내 알고리즘은 아래로 정확히 같은 최대 처리합니다.) 고려해야 할 중요한 점은 각 표시등이 완전히 독립적이지 것이 었습니다 단일 예측 지표를 결합. 나는 사람이 다른 사람의 예측에 영향을 것입니다 변경 나오지 않았어. 동시에 내가 설정에서 지표의 모든 위해 최적화 알고리즘은 각 패스와 새로운 예측 곡선을 향해 방식의 30 단계로. 이 30 점프와 나는 예측 곡선은 몇 패스 내에서 안정 것이라는 점을 발견했다. 각 표시등이 지금 우리에게주는 내가 단순히 시장이 10 초 것 곳의 하나의 예측을 생산하기 위해 그들을 추가 할 수 있습니다 추​​가 가격 예측이야. 가격을 예측하는 것이 아닌 이유는 충분히 당신은 시장이 가장자리 나는 황금이라고 생각할 수 있습니다. 그것이 그렇게 쉬운 일이 아니다 - 하지만 당신은 시장이 입찰가와 이벤트들로 구성되어 있음을 명심해야합니다. 다음 요소는 어려운 수익성있는 시스템을 만들 수 있도록 각 무역으로 내 브로커와 교환 모두에 수수료를 지불해야했다. 확산 (가장 높은 입찰가와 최저 제안의 차이는) 내가 있다면 단순히 구입하고 내가 돈의 톤을 상실 할 거라고 무작위로 판매하는 것을 의미했다. 시장 볼륨의 대부분은 그들이 몇 가지 통계 가장자리 줄 알았는데 경우에만 나와 함께 무역을 실행하는 다른 로봇이었다. 제안을 보는 것은 내가 그것을 살 수 있음을 보증하지 않았다. 내 구매 주문이 교환에 도착할 때까지 그것은 그 제안이 취소 된 것을 매우 가능했다. 작은 시장 선수로 혼자 속도에 경쟁 할 수있는 방법이 없었다. 전체 무역 시뮬레이션을 구축 그래서 나는 나를 backtest 및 지표를 최적화 할 수있는 프레임 워크를했다. 하지만이 넘어 가야했다 - 나는 나를 backtest 내가 주문을 보내고 위치에 점점 된 곳 전체 거래 시스템을 최적화 할 수 있도록 해주는 프레임 워크를 필요로했다. 무역 당이 경우 I의 L합니다. 이 까다 정확하게 모델링하는 것은 불가능 몇 가지 방법에있을 것입니다하지만 난 내가 할 수있는만큼 최선을 다 했어요. 주문이 시뮬레이션에서 시장에 보낼 때 나는 지연 시간을 모델링했다 : 여기가 처리해야했던 문제 중 일부입니다. 내 시스템이 제안을 보았다는 사실은 바로 그것을 살 수 있다는 것을 의미하지 않았다. 이 시스템은 순서를 보낼 것이다, 약 20 밀리 초를 기다린 후 제안은 아직 거기 경우에만이 실행 된 거래로 간주. 실제 지연 시간이 일관보고되지 않았기 때문에이 부정확했다. 내가 입찰 또는 제안을 배치 할 때 나는 (API에서 제공) 무역 실행 스트림을보고 내 주문에 대해 실행 입수했을 때 측정하기 위해 사람들을 사용했다. 내가 큐에 내 순서의 위치를​​ 추적했다이 권리를 수행합니다. (이 t 완벽하게이 작업을 수행하지만 가장 근사치를했다. 내 주문 실행 시뮬레이션을 수정하기 위해 무엇을 내가 한 것은 API를 통해 실시간 거래에서 내 로그 파일을 가지고 동일한 시간에서 모의​​ 거래에 의해 생성 된 로그 파일을 비교했다. 꽤 정확한 것을 나는 지점으로 내 시뮬레이션을 얻을 수 있었다 불가능했던 부분을 정확하게 모델링하는 I 수익성 거래를 만들기. 적어도 통계적으로 차이가 없었다 결과를 (메트릭에 내가 중요한 생각했다) 생산 확인했다 장소에 주문 시뮬레이션 모델과 함께 지금은 시뮬레이션 모드에서 명령을 전송하고 시뮬레이션 P​​ L. 를 참조하지만 어떻게 내 시스템은 언제 어디서 구입하고 가격 움직임 예측이 출발점이었다 판매하는 것을 알고 있지만 할 수없는 모든 이야기. 무엇을 한 나는 입찰 및 제안. 내부 (매수 주문) 입찰 및 (매도 주문) 내부에 제공 한 레벨 아래 위이 포함 된 한 수준. 만약 점수 5 가격 수준의 각각에 대한 채점 시스템을 구축했다 주어진 가격 수준이 활성 입찰 / 서비스를해야 내 시스템을 의미 특정 임계 값을 초과했습니다에 - 임계 값 아래 다음 활성 주문은 취소되어야한다. 이를 바탕으로 내 시스템이 바로 다음 시장에서 입찰 플래시 취소 것이 드물지 않았다. (나는 그것이 인간의 눈으로 화면을보고 사람을 지옥으로 짜증나는이야로이를 최소화하기 위해 노력하지만 - 나를 포함.) 수준의 점수는 다음과 같은 요소를 기준으로 계산 한 가격 : 가격 움직임 예측 (우리는 앞에서 설명한 것을). 문제의 가격 수준. (내부 수준은 큰 가격 변동의 예측이 필요한 것을 의미했다.) 계약의 수를 큐에 내 주문 앞에. (이하는 더 좋았다.) 큐에있는 내 주문 뒤에 계약의 수는. (더 나은이었다.) 기본적으로 이러한 요소 / 서비스를 입찰 장소를 식별하기 위해 봉사했다. 누군가가 나에게 판매하는 경우 I 만 가득있어 - 그것이 내가 자동으로 작성되지 않은 입찰을 배치 할 때 사실을 고려하지 않았기 때문에 단독으로 가격 움직임 예측은 적절하지 않았다. 현실은 특정 가격에 나에게 판매하는 사람의 단순한 사실은 무역의 통계적 확률을 변경이었다. 이 단계에서 사용 된 변수는 모두 최적화 될 수 있었다. 나는이 경우 내 프로그램이 인간으로 거래 할 때 우리는 종종 강력한 감정과 이하로 이어질 수있는 편견을 무시 어떤 결론 P L. 위해 최적화되었다 제외하고는 가격 변동 지표의 변수를 최적화로 이는 동일한 방식으로 이루어졌다 최적의 의사 결정보다. 분명히 나는​​이 편견을 성문화하고 싶지 않았다. - 무역 사무실에서이 매몰 비용을 무시과 같은 개념이야 위치가 입력 된 것을 가격 : 여기 내 시스템이 무시 몇 가지 요인이있다. 긴 위치를 종료 대 짧은 것 - 일반적으로 상인은 짧은 이동하는 경우에 비해 긴 위치를 판매하는 위치를 결정하는 다른 기준을 가지고있다. 그러나 내 알고리즘의 관점에서 구분을 할 이유가 없었다. 내 알고리즘이 예상되는 경우 하향 이동 판매는 좋은 아이디어에 관계없이 현재, 긴 짧은, 또는 평면 인 경우의했다. 다시는 거래의 대부분이 승자가 될 것이기 때문에 당신이 잘하고있는 생각으로 속였다. 당신이 큰 잃게 잃을 때 문제입니다. 다른 효과는 당신이 실제로 시장에서 우위를하거나 그냥 운이 점점 경우 판단하기 힘들 수있다. 에지 모니터링하고 내 프로그램이 실제로했던 것을 확인할 수있다있는 것은 중요한 목표였다. 때문에 내 알고리즘 관계없이 무역을 입력 한 경우의 의사 결정 같은 방법으로 제조하거나 현재 길거나 짧은 있다면 그것은에 앉아 (그리고 소요) (일부 대형 승리 거래뿐만 아니라) 일부 대형지는 거래를 가끔 않았다. 그러나, 당신은 어떤 위험 관리에서 t shouldn. 위험을 관리하기 위해 나는 가끔 높은 볼륨 일에 승진, 한 번에 2 계약의 최대 위치 크기를 적용. 또한 예상치 못한 시장 상황 또는 내 소프트웨어의 버그에 대해 보호 할 수있는 일일 최대 손실 한도를했다. 이러한 제한은 내 코드에서뿐만 아니라 내 브로커를 통해 백엔드에 적용 하였다. 이 일어난 나는 어떤 심각한 문제가 발생하지 않습니다. 내 프로그램 작업을 시작하는 순간부터 알고리즘을 실행 내가 수익성의 점에있어 라이브를 실행 시작 약 6 개월 전에 나를 데려 갔다. 공정하게하더라도 상당한 시간이 새로운 프로그래밍 언어를 학습 하였다. 나는이 프로그램을 개선하기 위해 노력 바와 같이 나는 다음 4 개월마다 증가 이익을 보았다. 매주마다 나는 데이터의 가치가 이전의 사주를 기반으로 내 시스템을 재교육 것이다. 나는이 최근 시장 행동 경향을 캡처하고 내 알고리즘은 의미있는 패턴을 설정하기에 충분한 데이터를 가지고 보장 사이의 균형을 강타했습니다. 교육은 점점 더 많은 시간을내어 시작하면서는 아마존 EC2를 사용하여 8 개의 가상 머신에 의해 수행 될 수 있도록 나는 그것을 밖으로 분할합니다. 결과는 내 로컬 컴퓨터에 병합되었다. 나는 거의 100,000을 만들 때 내 무역의 높은 포인트 2009 년 10 월이었다. 이 후 나는 매달 이익 감소에도 불구하고 내 프로그램을 개선하기 위해 노력하고 앞으로 4 개월 지출을 계속했다. 불행하게도이 점 나는 노력 아무 것도 많은 도움이 듯 없기 때문에 내 모든 최고의 아이디어를 구현 거라고 생각한다. 개선을 할 수없는 성장의 감각을 가지고 있지의 좌절로 나는 새로운 방향에 대해 생각하기 시작했다. 나는 그들이 내 소프트웨어를 구매하고 그들을 위해 일을 저를 고용에 관심이있을 거라고 있는지 확인하기 위해 6 개의 고주파 거래 기업을 이메일로 전송. 아무도 대답하지 않습니다. 나는 내가 추적 결코 I가 작업하고 싶어 새로운 시작의 아이디어를했다. UPDATE - 나는 해커 뉴스에이를 기록하며 많은 관심을 받고있다. 난 그냥 지금처럼 스스로 뭔가를 시도하는 사람을 옹호하지 않는다는 것을 말하고 싶다. 당신은 경쟁의 희망을 가지고 경험의 범위와 정말 똑똑한 사람들의 팀을해야합니다. 내가이 일을했다하더라도 나는 개인 (. 내가 다른 사람 들었다 불구하고) 조작 된 통계를 언급하고 흥미로운 주석으로 나를 참조하는 페이지의 상단에 설명이있다 성공을 달성하는 것은 매우 드문 생각 : news. ycombinator / 항목 ID 4748624 업데이트 2 - 이 게시물에 대한 상인으로부터 수신했습니다. NEAT 알고리즘을 사용하는 방법에 대한 자습서의이 부분은 게놈이 자신의 위상 정보를 유지하는 의미있는 방법으로 건너하는 방법과 분화 (종에 그룹 게놈)를 조기에 유전자에서 근절되는 새로운 위상 정보에 약한 게놈을 보호하는 데 사용할 수있는 방법에 대해 설명합니다 체중 공간 전에 풀 최적화 될 수있다. 이 튜토리얼의 첫 번째 부분은 여기에서 찾을 수 있습니다. 혁신 번호 1 부를 통해 두 개의 돌연변이 유전자 기록을 보였다 추적, 모두 게놈에 새로운 유전자를 추가 돌연변이 노드의 mutate를 연결합니다. 새로운 유전자 (토폴로지 혁신을 통해)이 생성 될 때마다 글로벌 혁신 번호가 증가하고 그 유전자에 할당됩니다. 글로벌 혁신 번호는 각 유전자의 역사적 기원을 추적한다. 두 유전자는 동일 혁​​신 번호가있는 경우 (가중치가 상이 할 수 있음) 후, 이들은 동일한 위상을 나타내야한다. 이는 유전자 오버 중에 이용된다. 게놈 크로스 오버 (결합)은 크로스 오버가 두 부모 게놈 소요 (A와 B를 호출 할 수 있습니다) 새로운 게놈을 만드는 길을 따라 어떤 위상 구조를 A로부터 강한 유전자를 복용하고 B 복사 (아이를 호출 할 수 있습니다) 게놈. 크로스 오버 동안 모두 게놈에서 유전자는 혁신 번호를 사용하여 줄 지어있다. 각 혁신 번호에 가장 적합 부모의 유전자를 선택하고, 하위 게놈 내로 삽입 하였다. 모두 부모 게놈은 다음 같은 헬스 경우 유전자 임의로 동등한 확률 부모 어느 하나로부터 선택된다. 혁신 번호 다음이이 끊긴 또는 과량 유전자로 알려진 하나의 상위에만 존재하고 위상 혁신을 나타내는 경우, 너무 자식에 삽입된다. 아래 이미지는 동일한 적합성이 게놈의 크로스 오버 프로세스를 보여줍니다. 분화는 주어진 게놈 풀의 모든 게놈을 받아 종으로 알려진 별개의 그룹으로 분할하려고합니다. 각 종의 게놈은 유사한 특성을 가지고 있습니다. 두 게놈 과잉 (위상 차이를 나타내는) 유전자와 일치하는 유전자 간의 가중치의 차이가있는 경우 두 유전체 사이의 유사도를 측정하는 방법이 요구된다. 가중 합이 어떤 임계치 이하이면 게놈은 동일 종이다. 종으로 게놈을 분할의 장점은 낮은 체력과 게놈이 도태되는 유전 적 진화 단계에서 오히려 컬링을 살아남을 것입니다 최적화 된 가중치를 s의 각 게놈 싸움을하는 것보다 (게놈 풀에서 완전히 제거)이다. 전체 프로세스의 개요는 임의의 게놈은 각각의 게놈을 가지고 N과 게놈 풀을 만들고 문제 / 시뮬레이션에 적용하고 각 종 약한 유전체의 일부를 제거 게놈을 추려 각 종 품종에 게놈 휘트니스 종에 각각의 게놈을 지정 계산 (무작위 선택 크로스 오버 또는 변이) 중 하나의 종의 게놈은 및 증가 토폴로지 (NEAT) 알고리즘의 NeuroEvolution을 모색 할 것이 네 부분 시리즈 위의 모든를 반복합니다. 부품 하나, 둘, 간단히 아웃 ​​라인 알고리즘 및 장점에 대해 설명합니다, 일부 세 극 밸런싱 문제에 적용하고 마지막으로 제 4 부 시장 데이터에 적용됩니다. 네트워크 슈퍼의 첫 번째 레벨을 완료 할 수 있었다이 개발 된 곳이 알고리즘은 최근 마리라는 비디오 바이러스 성 가서 / O 마리오는 아래의 동영상을 참조하십시오. 한 뉴럴 네트워크를 사용하도록 선택할 때 일반적으로는 각 층 어떤 연결 뉴런의 수가 뉴런 사이에는 얼마나 많은 숨겨진 레이어를 결정한다. 문제의 본질에 따라서는 분별 토폴로지 무엇인지하는 것은 매우 어려울 수있다. 토폴로지가 선택되면 그것은 가장 가능성이 다시 전파 또는 유전 적 진화의 접근 방법과 테스트를 사용하여 훈련한다. 유전 적 진화의 접근 방식은 기본적으로 (이 고정 토폴로지의 진화로 알려져있다) 연결 가중치의 공간을 통해 검색 및 고성능 네트워크를 선택하고 번식한다. 상기 방법은 반복적으로 더 우수한 성능을 수동 네트워크를 찾기위한 시도에서 네트워크의 토폴로지를 조정할 최적 연결 가중치를 찾는다. 이 접속 공간 구조 공간 모두 탐색되는 가변 위상 트레이닝의 개발을 이끌었다. 이는 엄청나게 우거진 복잡한 기계 학습 프로세스를 둔화되고 그러한 네트워크 등의 문제의 호스트를 온으로. 유전 방식으로 의미있는 방식으로 유전자 돌연변이와 교차 구조를 추적하기 어려웠다. 유전 적 표현이 구조가 너무 최적화 할 수있는 몇 진화가 필요 위상 혁신을 보호 의미있는 방식으로 크로스 오버 할 수 있습니다 : 깔끔한 알고리즘은 다음과 같은 속성이 있습니다 신경망 무게 및 구조 공간을 통해 검색 유전 알고리즘을 개발하는 것을 목표로 이 t는 유전자 풀에서 사라 케이 것을 조기 알고리즘의 처리를 통해 특별히 고안된 네트워크 복잡성 penalisation 기능 A를하지 않고 훈련을 통해 토폴로지를 최소화 용지 (윈 케네스 O. 스탠리와리스 토 Miikkulainen로 및 증가 토폴로지를 통해 진화 신경망에서 찾을 수 있습니다. cs. utexas. edu/downloads/papers/stanley. ec02.pdf). 네트워크에 관련 정보는 유전체에 의해 표현된다 게놈 노드 유전자와 연결하는 유전자를 포함한다. 노드 유전자는, 노드 (예 기술 표시기와 같은) 입력 (예 구매 / 판매 추천 정보 등)를 출력 할 수있는 네트워크 노드를 정의하거나 숨김 (계산을 위해 네트워크에 의해 사용되는). 연결 유전자에는 네트워크의 노드를 결합하고 이들에 부착 된 중량을 갖는다. 연결 유전자는 입력 노드, 출력 노드, 체중, 인 에이블 / 중지 플래그 및 혁신 수있다. 혁신 참조 유전자는 진화 역사를 추적하는데 사용되며, 두 번째 부분에서 자세히 설명한다. 네트워크에 일어날 수있는 돌연변이의 몇 가지 모양이 포스팅은, 각각의 게놈은 내부에 발생할 수있는 돌연변이의 각 유형에 대한 돌연변이 비율을 포함 것을 주목할 필요가있다. 이 돌연변이 비율은 무작위로 증가 또는 진화가 진행됨에 따라 감소된다. - 무작위 임의의 무게 사이에 네트워크에 새로운 연결을 추가 0 게놈 MutationRate 새로운 무게 임의 -2 사이의 번호와 2 사이의 난수 새로운 무게 올드 무게 / : 무작위 업데이트 중입니다 무작위로 선택된 연결 유전자의 무게를 업데이트 -2 2이 돌연변이는 체중 1 노드의 연결 및 연결 장애인 같은 중량과의 접속으로 교체 연결을 해제하여 네트워크에 새로운 노드를 추가한다. 본질적으로 그것은 동일하게 작동 동등한로 대체되었습니다 s의. 사용 안 함이 무작위이 게시물은 운동 방정식을 유도하고 고전적인 역 진자 제어 문제를 시뮬레이션 할 연결을 활성화하고 비활성화 돌연변이 활성화합니다. 이후 게시물 진자를 제어하고 공중에 그것을 유지하는 방법을 알아 내기 위해 기계 학습을 적용합니다. 시뮬레이션의 비디오에서 찾을 수 있습니다 : 수학의 유도 그러나 나는 카트와 트랙 사이의 마찰을 모델링하기로 결정했습니다, 다음 동영상에서 설명하는 접근 방식을 따른다. 진자의 쇼핑 카트 본체 다이어그램 카트 자유 물체도 진자의 가속도 카트의 가속도를 더한 진자 상대 가속되는 자유 체 다이어그램에 힘을 해결하고 전자 좌표계 그들의 가속도 정의 같게 설정 카트에 다시 좌표계 변환 및 부품 (1) 및 (2)가 미지의 장력을 가지고 있으므로 바람직하지 않다 T 속임수를 사용하여 제거하는 식으로 가속 대체. 방정식 대체 식 (1) (0) (6) (5) 공지 측정 변수 모두 가속 조건 및 바람직하지 않다 서로 의존의 시스템 방정식을 제공 제거하기위한 방정식에 대한 식으로 대체 식을 정리 종속성이 시스템은 다음 오일러 업데이트 방정식을 사용하여 시뮬레이션 할 수 있습니다 : Slideshare는 기능과 성능을 향상시키기 위해, 관련 광고를 제공하기 위해 쿠키를 사용합니다. 당신이 사이트를 탐색 계속하는 경우, 당신은이 웹 사이트의 쿠키 사용에 동의합니다. 우리의 이용 약관 및 개인 정보 보호 정책을 참조하십시오. Slideshare는 기능과 성능을 향상시키기 위해, 관련 광고를 제공하기 위해 쿠키를 사용합니다. 당신이 사이트를 탐색 계속하는 경우, 당신은이 웹 사이트의 쿠키 사용에 동의합니다. 개인 정보 보호 정책 및 자세한 내용은 이용 약관을 참조하십시오. SlideShare 앱에서 모두 좋아하는 주제를 탐색하면 오프라인에서도 마이클 컨즈, 컴퓨터의 교수 및 정보 과학, 펜실베니아 대학 몫 알고리즘 거래 및 기계 학습을 확대하기 위해 모바일 사이트 업로드 로그인 회원 가입 두 번 탭에 계속하십시오 SlideShare 애플 리케이션은 나중을 위해 저장하는 가져 오기 이 SlideShare 링크드 공사 2016




No comments:

Post a Comment