

2017년 옵타프로 애널리틱스 Forum 포스터를 발표했던 마틴 이스트우드는 자신의 작업에 대한 서면 분석을 통해 그 기반이 된 프로세스, 접근 방식, 그 과정에서 겪었던 어려움, 축구 분석 업계에서 어떻게 받아들여졌는지에 대해 설명합니다.
트위터에서 Martin을 팔로우하세요: @penaltyblog
소개
67분, 크리스탈 팰리스는 홈에서 AFC 본머스에게 1-0으로 패하고 있습니다. 앤드로스 타운센드가 박스 밖에서 공을 잡은 후 골문 근처에 패스할 수 있는 팀 동료가 있음에도 불구하고 슈팅을 시도합니다. 공은 골키퍼의 손에 맞고 소유권을 잃게 됩니다.
축구 선수들이 경기 중에 내리는 결정을 어떻게 평가하나요?
이것이 제가 올해 옵타프로 애널리틱스 Forum 스스로에게 던진 질문이었고, 제가 찾은 해결책은 머신러닝을 사용하는 것이었습니다. 머신러닝을 처음 접하는 분들을 위해 설명하자면, 머신러닝은 명시적으로 프로그래밍하지 않고도 컴퓨터가 학습할 수 있는 능력을 부여하는 인공 지능의 한 형태입니다. 머신 러닝은 구글의 자율주행차가 어디로 가야 할지 알고, 페이스북이 사진 속 친구의 얼굴을 자동으로 인식하는 방법이기도 합니다.
과제의 두 번째 부분은 이러한 인사이트를 축구팀에 어떻게 제공할 것인가 하는 것이었습니다. 기계 학습은 복잡한 수학을 많이 포함하는 상당히 무거운 주제이므로 이 아이디어를 어떻게 하면 축구 클럽에 적합한 방식으로 제시할 수 있을까요?
데이터
저는 축구를 해결하겠다는 원대한 비전을 가지고 작업을 시작했습니다. 최근 구글이 딥러닝이라는 머신러닝 기술을 사용해 바둑 세계 챔피언을 이긴 것을 보고 같은 개념을 축구에도 적용하고 싶었습니다. 하지만 모든 분석을 완료하고 프레젠테이션을 준비할 시간이 6주밖에 남지 않았기 때문에 좀 더 현실적인 수준으로 야망을 접고 페널티 박스 안팎에서 팀의 공격 행위를 평가하는 데만 집중하기로 결정했습니다.
이를 위해 저는 제안서의 일부로 Opta 온볼 이벤트 데이터와 카이론헤고 추적 데이터를 모두 신청했습니다. Opta 데이터는 경기 중 발생하는 일련의 온볼 이벤트를 제공하고, 광학 추적 데이터는 초당 25회 경기장에 있는 모든 선수의 XY 좌표를 제공합니다.
올바른 의사 결정 식별
축구 선수의 결정을 평가하는 것이 목적이었기 때문에 좋은 결정과 나쁜 결정을 판단할 방법이 필요했습니다. 몇 가지 옵션을 살펴본 끝에 선수의 행동이 팀의 전반적인 득점 가능성을 높이는지를 살펴보기로 결정했습니다.
이 득점 가능성을 계산하기 위해 저는 골대를 향해 슛을 날리는 선수의 위치와 모든 상대 선수의 위치를 기반으로 신경망을 만들었습니다. 그런 다음 네트워크가 이전에 본 적이 없는 슛 세트를 테스트하여 신경망이 득점을 얼마나 잘 예측하는지 정확도를 확인했습니다.
안타깝게도 결과는 다소 실망스러웠습니다. 신경망은 훈련에 많은 데이터가 필요할 수 있는데, 제한된 경기 세트만으로는 모델을 구축하기에 네트워크가 완전히 수렴할 수 있는 데이터가 충분하지 않았습니다. 상대 수비수와 골키퍼의 위치만 포함시켜 모델을 단순화해 보았지만 크게 개선되지는 않았습니다.
네트워크가 데이터의 관련 정보를 식별하는 데 약간의 도움을 줄 필요가 있었기 때문에 원시 XY 좌표에만 의존하지 않고 플레이어의 보로노이 테셀레이션을 비롯한 여러 가지 추가 기능을 추가했습니다.
보로노이 테셀레이션은 각 플레이어 주위에 그려진 모양으로, 다른 플레이어보다 플레이어와 가까운 영역을 표시합니다(아래 그림 1의 예시 참조).
플레이어의 보로노이의 면적이 넓을수록 주변에 공간이 넓어지고 상대방의 압박을 덜 받는 것으로 추정됩니다. 이 추가 기능 엔지니어링은 놀라운 효과를 발휘하여 신경망의 정확도가 상당히 향상되었습니다.
그림 1: 각 플레이어 주변 공간의 양을 보여주는 보로노이 테셀레이션 예시
해석 가능성
신경망은 많은 분야에서 뛰어난 능력을 발휘하지만, 그 단점 중 하나는 기본적으로 블랙박스이기 때문에 해석하기 어렵다는 점입니다. 한쪽 끝에 데이터를 입력하면 다른 쪽 끝에서 결과가 나오지만 네트워크가 어떻게, 왜 그런 답을 내놓았는지 알 수 없습니다.
저는 축구 팀과 결과를 논의할 수 있기를 원했고, 경험상 수학적 배경 지식이 없는 사람들이 블랙박스 알고리즘을 신뢰하는 것은 비약적인 도약이 될 수 있으므로 로지스틱 회귀를 기반으로 더 간단한 모델도 만들었습니다.
회귀의 정확도가 신경망의 정확도와 일치하지는 않았지만, 각 결과를 설명하는 데 사용할 수 있는 일련의 계수를 생성했습니다. 예를 들어 한 선수가 득점할 확률이 5%에 불과하다면 그 원인이 경기장 내 선수의 위치, 골대를 향한 각도, 주변에 수비수가 몇 명인지, 보로노이 영역이 얼마나 작은지 등을 코치에게 정확히 보여줄 수 있습니다.
며칠 동안 컴퓨터에서 데이터를 뒤적거린 끝에 마침내 각 이벤트가 팀의 득점 가능성에 미치는 영향을 보여주고 각 행동이 긍정적 또는 부정적 영향을 미치는 이유를 설명할 수 있는 행복한 입장에 도달했습니다.
데이터 제시
제가 제시하고 싶었던 주요 결과물은 선수의 행동이 팀의 득점 확률에 어떤 영향을 미치는지 보여주는 것이었기 때문에 이를 위해 실시간으로 추적 데이터를 애니메이션으로 보여주는 웹 앱을 만들었습니다(자세한 내용은 기사 마지막 부분을 참조하세요).
그런 다음 어느 팀이 공격하고 있는지 파악하고 공을 가진 선수가 현재 위치에서 득점할 확률과 그 선수가 팀원에게 성공적으로 패스하여 그 선수가 대신 슈팅하여 득점할 확률을 오버레이했습니다.
그림 2는 공을 가진 플레이어가 현재 위치에서 슛을 시도할 경우 득점 확률이 2%에 불과한 스크린샷의 예시입니다. 또한 같은 플레이어가 근처에 있는 팀 동료에게 패스를 성공적으로 전달하여 그 동료가 대신 슛을 쏘고 득점할 확률은 7%입니다.
이 예시의 비디오를 다시 보시면 패스가 더 나은 옵션임이 분명하지만, 이 결정이 골 득점 측면에서 얼마나 더 나은지 정확히 정량화할 수 있다는 추가적인 이점을 얻을 수 있습니다.
그런 다음 이러한 결정을 장기간에 걸쳐 집계하여 각 플레이어의 결정이 팀에 어떤 영향을 미치는지 확인할 수 있습니다.
그림 2: 목표 확률 예시
위의 예는 일반적으로 플레이어가 공격 중에 팀 동료에게 직접 슈팅이나 패스를 하려고 한다고 가정하지만, 항상 그런 것은 아닙니다. 종종 플레이어는 팀 동료가 달려갈 수 있도록 공을 공간으로 이동시키려고 합니다. 이를 고려하기 위해 그림 2의 왼쪽 하단에 표시된 값인 누적 득점 확률을 추가했습니다.
이 메트릭은 모든 개별 선수의 퍼센트를 하나의 수치로 결합하여 팀의 움직임과 형태가 전체 득점 가능성에 긍정적인 영향을 미치는지 부정적인 영향을 미치는지 확인할 수 있습니다. 여기서 누적 비율을 사용하는 것은 실제로는 한 명의 선수만이 슛을 시도하기 때문에 정확하지는 않지만, 팀의 전반적인 득점 위협을 나타내는 데 유용한 지표라는 것을 알게 되었고, 이 개념을 보여준 분석가들에게도 매우 좋은 반응을 얻었습니다.
피드백
운 좋게도 여러 프로팀 코치 및 분석가들과 이 작업에 대해 자세히 논의할 기회를 가졌는데, 피드백은 압도적으로 긍정적이었습니다. 특히 유소년 팀 코치들은 선수들이 달리거나 공을 크로스할 때 실시간으로 변화하는 비율을 볼 수 있기 때문에 이 앱이 아이들에게 특정 상황에서 어떻게 해야 하는지 가르칠 수 있는 좋은 방법이라고 생각했습니다.
실제로 앱의 전체 인터랙티브 측면은 정말 잘 작동하는 것 같았습니다. 정적인 그래프나 숫자 스프레드시트가 아니라 실제로 선수들이 뛰어다니는 모습을 보고 그것이 팀의 득점 확률에 어떤 영향을 미치는지 확인할 수 있다는 점이 사람들의 참여를 유도하고 관심을 끌 수 있는 것 같았습니다. 하루 종일 앱을 플레이하고 영상을 넘기며 다양한 유형의 이벤트의 효과를 살펴보는 사람들의 발길이 끊이지 않았습니다.
다음 단계
옵타프로 Forum 맞춰 앱을 개발할 시간이 제한되어 있었기 때문에 미처 구현하지 못한 아이디어가 산더미처럼 쌓여 있었습니다. 제 할 일 목록에서 가장 높은 순위에 있던 분야 중 하나는 수비수가 공격자를 덜 위험한 위치로 얼마나 잘 유도하는지, 수비 라인을 무너뜨리는지 등을 살펴봄으로써 공격뿐 아니라 수비도 정량화할 수 있는지 살펴보는 것이었습니다.
또한 동영상 위에 데이터를 오버레이하는 방법도 시도해보고 싶었습니다. 데이터가 표시되는 방식은 약간의 조정이 필요할 수 있지만, 애니메이션을 위해 그린 단순한 2차원 그래픽이 아닌 동영상에서 플레이어를 볼 수 있다면 사용자들의 참여도가 훨씬 더 높아질 가능성이 있습니다.
마지막으로...
앱이 실제로 작동하는 모습을 보고 싶은 분들을 위해 목표 확률과 추적 데이터에 추가할 수 있는 몇 가지 다른 오버레이를 보여주는 간단한 동영상을 준비했습니다.