문제

우리 사무실에서는 퇴근 후 정기적으로 푸스 볼 / 테이블 축구를 즐깁니다. 사용 가능한 플레이어로부터 임의의 2VS2 라인업을 생성하는 소규모 Java 프로그램을 모아서 매치 결과를 데이터베이스에 저장했습니다.

결과의 현재 예측은 4 명의 관련 플레이어의 모든 이전 경기 결과의 단순한 평균을 사용합니다. 이것은 매우 대략적인 추정을 제공하지만 다음과 같은 것을 고려하여 더 정교한 것으로 바꾸고 싶습니다.

  • 플레이어는 공격자로서 잘 플레이하지만 수비수로 나쁘다 (또는 그 반대).
  • 플레이어는 특정 상대방 / 다른 사람에 대한 나쁜 것에 대해 잘합니다.
  • 일부 팀은 함께 잘 작동하고 다른 팀은 그렇지 않습니다
  • 기술은 시간이 지남에 따라 변합니다

게임 결과를 가능한 한 정확하게 예측하는 가장 좋은 알고리즘은 무엇입니까?

누군가가 이것을 위해 신경망을 사용하는 것을 제안했는데, 이것은 매우 흥미롭게 들리지만 ... 나는 그것이 효과가 있을지 말할 주제에 대한 지식이 충분하지 않으며, 합리적으로 훈련을 받으려면 너무 많은 게임이 필요할 것이라고 생각합니다.

편집하다:
프로젝트 마감일로 인해이 점에서 더 오래 휴식을 취해야했습니다. 질문을보다 구체적으로 만들려면 :

지금까지 재생되는 모든 경기가 포함 된 다음 MySQL 테이블을 감안할 때

table match_result

match_id      int pk
match_start   datetime
duration      int (match length in seconds)
blue_defense  int fk to table player
blue_attack   int fk to table player
red_defense   int fk to table player
red_attack    int fk to table player
score_blue    int
score_red     int

PredicTresult (Bluedef, Blueatk, Reddef, Redatk) {...} 기능을 어떻게 작성 하시겠습니까?
결과를 가능한 한 밀접하게 추정하고, SQL을 실행하거나, 계산하거나, 외부 라이브러리를 사용합니까?

도움이 되었습니까?

해결책

Trueskill 알고리즘을 사용하십시오. 나는 Foosball과 Chess를 위해 그것을 구현했으며 매우 잘 작동합니다. 동료들은 거의 다니고 있다고 말했습니다 ~도 이것에 능숙합니다.

내 구현에 대한 링크뿐만 아니라 작동 방식에 대한 자세한 내용은 내 참조하십시오. "당신의 기술을 계산합니다" 블로그 게시물.

다른 팁

신경문을 사용하는 이유는 무엇입니까? 통계를 사용하면 아마도 각 플레이어 간의 상관 관계가 좋은 측정 일 것입니다.

시작하려면 몇 가지 정보를 수집하겠습니다. 주어진 플레이어의 경우 다음과 같습니다.

  1. 그들이 연주 한 위치
  2. 최종 점수

좋은 공격자는 포인트를 쌓을 것입니다. 좋은 수비수는 점수를 얻지 못하게합니다.

실제 정보는 좋은 수비수와의 경기에서 좋은 공격자의 것입니다.

순진한 베이 스 분류기를 적용해보십시오.

베이지안 학습은 관심의 양이 확률 분포에 의해 적용되며 관찰 된 데이터와 함께 이러한 확률에 대한 추론을 통해 최적의 결정을 내릴 수 있다는 가정에 근거한 확률 론적 접근법입니다. [Mitchell, T. (1997), 기계 학습

플레이어의 동일한 정확한 분포로 인해 매치 결과가 다릅니다. 데이터에 패턴이있는 경우 변수를 기반으로 한 패턴 인 Naive Bayes 분류기는 좋은 결과를 얻을 수 있습니다.

알고리즘은 그다지 복잡하지 않습니다. 확률에 대한 지식이있는 사람은 이해하고 적용 할 수 있다고 생각합니다.

침입 탐지 시스템에서는 다양한 네트워크 매개 변수를 살펴보면 네트워크 이상을 결정하는 데 사용됩니다. 베이지안 접근 방식은 특정 유형의 데이터에서 매우 성공적이며 높은 TP 및 낮은 FP 속도를 생성 할 수 있습니다. 그러나 데이터에 따라 FP 속도가 높을 수 있습니다. 귀하의 데이터는 최상의 접근 방식을 결정합니다.

Weka를 사용할 수 있습니다 (http://www.cs.waikato.ac.nz/~ml/weka/), 데이터 마이닝 소프트웨어 라이브러리 및 다른 알고리즘을 사용해보십시오. 순진한 베이 스 분류기가 포함되어 있습니다. 그냥 시도해보십시오.

한 가지 옵션은 요점을 다음과 같이 추측하는 것입니다. 일종의 선형 모델. 플레이어보다 더 많은 게임을 가지고 있다면 게임 매트릭스 (한 팀의 플레이어 +1, 다른 팀의 경우 -1, 관중의 경우 0)를 만들어 플레이어 당 최소 제곱 맞춤 포인트를 할 수 있습니다. 스프레드의 벡터.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top