Blog / E-Spor / Küçük Ligler İçin 5 Adımlı Makine Öğrenmesi Rehberi: Hile Tespiti İçin Veri Şablonları ve Hızlı Uygulama
Küçük Ligler İçin 5 Adımlı Makine Öğrenmesi Rehberi: Hile Tespiti İçin Veri Şablonları ve Hızlı Uygulama
E-Spor

Küçük Ligler İçin 5 Adımlı Makine Öğrenmesi Rehberi: Hile Tespiti İçin Veri Şablonları ve Hızlı Uygulama

Giriş

Küçük liglerde (amatör e-spor ligleri, yerel turnuvalar, sunucu tabanlı rekabet ortamları) hile tespiti yapmak, büyük organizasyonların kaynaklarına sahip olmadan da mümkün ve gereklidir. Bu yazıda, veri toplama ve şablonlarından başlayıp hafif modellerin üretime alınmasına kadar 5 adımlık, pratik ve uygulanabilir bir rehber sunuyorum. Her adımda somut veri şablonları, özellik setleri, model tercihleri ve hızlı devreye alma notları yer alacak.

Adım 1: Hedef Belirleme ve Basit Etiketleme Stratejisi

İlk yapılacak iş, neyi hile olarak sayacağınızı açıkça tanımlamaktır. Küçük liglerde üç ana kategori işe yarar:

  • Net hile: Yazılım veya dış destek kullanan oyuncular (ör. aimbot, wallhack).
  • Davranışsal anomali: Olağan dışı hareket, imece dışı skor artışı.
  • İstismar/bug: Oyunun hatalarını kötüye kullanma.

Etiketleme için pratiktir: moderatör onayıyla "1=hile, 0=normal, 2=şüpheli" üç seviyeli etiket kullanın. Bu şekilde veri dengesiz olduğunda esnek strateji uygulanır.

Örnek Etiketleme Politikası

  • Moderasyon kanıtı (video/screenshot) -> 1
  • Tek seferlik tuhaflık, kanıt yok -> 2
  • Sürekli normal oyun -> 0

Adım 2: Hafif Veri Şablonları (CSV) — Minimum ve Gelişmiş

Küçük ligler genellikle sınırlı veri saklama kapasitesine sahiptir. Kolay toplanabilir ve anlamlı olacak şekilde iki seviye şablon öneriyorum.

Minimum Şablon (satır = maç-oyuncu)

match_id,player_id,team,score,kills,deaths,assists,play_time_seconds,client_ping,cheat_label

Bu şablon anlık olarak sunucudan veya maç sonu raporlarından çıkarılabilir. Hedef, hızlı korrelasyonları yakalamaktır.

Gelişmiş Şablon (ek özellikler, satır = hareket/snippet)

timestamp,match_id,player_id,x,y,z,velocity,aim_delta,weapon,shot_accuracy,headshot_rate,ping,action_type,cheat_label

Gelişmiş şablon, kısa zaman aralıklarıyla kayıt alınmasına dayanır ve zaman serisi modellerine imkan verir.

Adım 3: Özellik Mühendisliği — Hileye Duyarlı Şablonlar

Model başarısının sırrı özelliklerde gizlidir. Küçük ligler için hesaplama maliyeti düşük, açıklanabilir özellikler kullanın.

Örnek Özellik Seti (Maç-Özet Düzeyi)

  • kill_death_ratio = kills / max(1, deaths)
  • score_per_min = score / (play_time_seconds / 60)
  • avg_ping = ortalama ping
  • headshot_rate = headshot_count / max(1, total_shots)
  • sudden_score_spike = maç içi 1 dakikalık en yüksek skor artışı
  • consistency = standart sapma(hedef_aci) — nişan hareketlerinin stabil olması bazen hile belirtisi

Zaman Serisi / Snippet Özellikleri

  • average_velocity, max_velocity, velocity_jitter
  • aim_delta_mean, aim_delta_std, aim_delta_skew
  • shot_interval_mean, shot_interval_std
  • weapon_switch_rate

Özelliklerin normalize edilmesi (ör. min-max veya z-score) ve oyuncu-temelli normalizasyon (oyuncunun kendi geçmişine göre z-score) küçük liglerde hataları azaltır.

Adım 4: Model Seçimi ve Hızlı Eğitime Alma

Küçük ligler için amaç düşük gecikme, kolay interpretasyon ve küçük veriyle çalışabilen modellerdir. Aşağıdaki seçenekler uygundur:

  • Basit sınıflandırıcılar: Logistic Regression, Random Forest (küçük ağaç sayısı), XGBoost hafif ayarı.
  • Anomali tespiti: Isolation Forest, One-Class SVM (etiket azsa).
  • Zaman serisi: Basit LSTM (küçük katman), veya 1D CNN snippet modelleri.

Pratik öneri: Etiketli veri az ise önce Isolation Forest ile şüpheli örnekleri çıkarın, sonra bu örnekleri moderatöre verip doğrulatarak denetimli eğitim yapın.

Hızlı Eğitim İpuçları

  • Özelliğe dayalı cross-validation (match-fold) kullanın: aynı maçtan gelen satırları aynı fold'ta tutun.
  • Imbalanced veri: class_weight veya focal loss kullanın.
  • Model hafifleştirme: ağaç sayısını azaltın, özellik seçimiyle boyutu düşürün.

Adım 5: Üretime Alma, İzleme ve Sürekli Öğrenme

Küçük liglerde hızlı devreye alma önemlidir. Basit bir pipeline şöyle olabilir:

  1. Sunucuya gelen her maç sonrası CSV üretimi ve küçük ETL.
  2. Özellik çıkarımı (saniyeler içinde çalışan Python script veya Go hizmeti).
  3. Model inference: hafif model bir REST endpoint ya da doğrudan sunucu üzerinde çalışan kütüphane (pickle/onnx).
  4. Şüpheli bildirimi: otomatik rapor + moderatör onayı akışı.

İzleme için kritik metrikler:

  • False Positive Rate: moderatör yükünü artıran yanlış alarmlar.
  • Time-to-detect: hile tespitinin gecikmesi rekabeti etkiler.
  • Model drift: özellik dağılımlarında zamanla değişim.

Sürekli Öğrenme Stratejisi

Her hafta moderatör doğrulamasıyla yeni etiketleri toplayın. Küçük veri setleri için haftalık veya iki haftada bir yeniden eğitim uygundur. Kritik: üretimde aşırı sık model değiştirmeyin; değişim kontrolü ve A/B testi iyi bir pratiktir.

Değerlendirme, Eşik Belirleme ve Açıklanabilirlik

Modeli değerlendirirken yalnızca accuracy'ye bakmayın. Kullanılabilecek metrikler:

  • Precision@k (en şüpheli k oyuncu içindeki gerçek hile oranı)
  • Recall (kayıp hile oranı)
  • F1-score, ROC-AUC

Eşik belirleme küçük liglerde operasyona özgüdür: moderasyon kapasitenize göre precision ağırlıklı eşik seçin. SHAP veya simple feature importance ile kararları açıklayın; moderatörlerin güvenini kazanmak için gerekebilir.

Pratik Kontrol Listesi ve Hızlı Başlangıç Önerisi

  • 1. İlk 2 hafta: Minimum şablon ile veri topla.
  • 2. 3-4 hafta: Moderatör etiketlemesi yap, şüpheli örnekleri doğrula.
  • 3. 1-2 aylık veri: Basit Random Forest veya Logistic Regression eğit.
  • 4. Üretim: Offline batch inference ile başlayıp, ardından gerçek zamanlıya geç.
  • 5. İzleme: Haftalık drift raporu ve aylık model yeniden eğitim döngüsü kur.

Sık Karşılaşılan Tuzaklar ve Çözümleri

  • Aşırı alaka: Çok sıradışı oyunculara ceza vermek yerine moderasyon kontrolü yapın.
  • Veri sızıntısı: Eğitim ve test verilerini maç düzeyinde ayırın.
  • Privacy: Oyuncu verilerini saklarken anonimleştirme ve gerektiğinde silme politikası uygulayın.

Sonuç

Küçük liglerde hile tespiti, doğru adımlarla fazla kaynak harcamadan kurulabilir. Özetle:

  • Net hedef ve pratik etiketleme ile başlayın.
  • Minimum ve gelişmiş veri şablonları kullanarak esnek veri toplayın.
  • Basit, hesaplı ve açıklanabilir özellikler tercih edin.
  • Hafif modeller ve moderatör onayıyla iteratif öğrenme döngüsü kurun.
  • İzleme, eşik yönetimi ve açıklanabilirlikle sürdürülebilir bir sistem oluşturun.

Bu rehber, küçük liglerin hem teknik hem operasyonel açıdan hızlıca hayata geçirebileceği bir yol haritasıdır. Her adımda verilen veri şablonlarını kullanarak ilk prototipi birkaç hafta içinde çalışır hale getirebilirsiniz.

Uygulama sırasında karşılaştığınız spesifik veri örnekleri veya altyapı kısıtları varsa, bunları paylaşın; rehberi sizin ortamınıza uyarlayacak pratik öneriler sağlayabilirim.