İki uç aynı yönün komşusu olabilir
Bir çizim günlüğünde iki okun yönü 350 ve 10 derece olarak kaydedilmiş. Yapay zekâ ortalamayı 180 derece yazıyor. Sayıları toplamak ve ikiye bölmek hatasızdır; fakat sonuç iki okun baktığı yerin tersini gösterir. Yönler bir sayı doğrusu üzerinde durmaz. Tam turdan sonra başlangıca dönersiniz. Bu nedenle aritmetik işlemi kabul etmeden önce ölçünün doğrusal mı, dairesel mi olduğunu belirlemek gerekir.
Bu örnekte açı sıfırı sağa bakar, pozitif yön saat yönünün tersidir ve tam tur 360 derecedir. Pusulada kullanılan kuzey başlangıcını burada kullanmıyoruz. Kaynak kaydınız başka bir başlangıç veya yön kullanıyorsa aynı sayılar başka okları anlatabilir. Dönüşümün ilk satırına bu sözleşmeyi yazın; bir görsele bakıp eksenin nereden başladığını tahmin ederek hesap kurmayın.
Açıları önce aynı çemberde temsil edin
SciPy’nin circmean tanımı, açıları birim çemberdeki vektörler olarak birleştirip ortalama bileşkenin açısını alır. Bileşke sıfır olduğunda tek bir yön belirlenmez; kütüphane böyle bir girdi için uygulamaya bağlı bir sayı döndürebilir. Dolayısıyla ekranda bir sayı bulunması yönün anlamlı olduğuna tek başına kanıt değildir. Aşağıdaki hesapta sıfıra çok yakın bileşke için açık bir durma kuralı koyacağız.Kaynak: SciPy — circmean
Hesap makinesinin sinüs ve kosinüs kipini kontrol edin. Dereceyi radyana çevirmek için π/180 ile çarpılır. Her açıya x=cos(açı), y=sin(açı) çifti atanır. Önce bütün x değerlerinin, sonra bütün y değerlerinin ortalaması bulunur. İki ortalama bileşenin oluşturduğu okun yönü atan2(y,x) ile hesaplanır. Negatif çıkan açı, 360 eklenerek bu yazıdaki 0 dahil 360 hariç aralığa taşınır.
Sentetik iki yönün açık hesabı
| Kayıt | Derece | x | y |
|---|---|---|---|
| Y1 | 350 | 0,984808 | −0,173648 |
| Y2 | 10 | 0,984808 | 0,173648 |
| Ortalama | Açı henüz hesaplanmadı | 0,984808 | 0 |
İki y bileşeni birbirini götürür; x bileşeni pozitif kalır. Ortalama ok sağa bakar, yani yön 0 derecedir. Bileşke uzunluğu R=√(x²+y²) yaklaşık 0,984808 olur. Bu sayı bu iki eşit ağırlıklı okun birbirine yakın durduğunu gösterir. Ölçüm cihazının doğruluğu, çizimin kalitesi veya yapay zekânın güven yüzdesi değildir. R için yüzde 98 doğru gibi bir etiket eklemeyin.
Aritmetik ortalama: (350+10)/2=180°. Dairesel ortalama: 0° ile aynı yön. Ortalama bileşke uzunluğu: yaklaşık 0,984808. En kısa açısal uzaklıklar: 350°→0° için 10°, 10°→0° için 10°. 0° ve 360° aynı yönü temsil eder; çıktı bu sözleşmede 0° olarak gösterilir.
Sonucu kontrol etmek için açı etiketini geçici olarak değiştirin. 350 dereceyi aynı yön olan −10 dereceyle yazarsanız iki fiziksel ok değişmez. Aritmetik ortalama bu kez sıfır çıkar; önceki 180 ile uyuşmaz. Dairesel yöntem ise iki gösterimde de aynı yöne gider. Girdinin eşdeğer gösteriminden etkilenmeme deneyi, burada yalnız beklenen bir sayıyla karşılaştırmaktan daha açıklayıcıdır.
Ortalamadan önce eksik koşulları soran istem
Y1=350°, Y2=10° sentetik yönler. Sıfır sağa, pozitif açı saat yönünün tersine; gözlemler eşit ağırlıklı ve aynı eksene ait. Açıları radyana çevir, sinüs/kosinüs ortalamalarını hesapla, atan2 ile yönü bul. R uzunluğunu ayrıca yaz. Eğitim kuralı: R<1e-12 ise tek yön bildirme. Aritmetik ortalamayı ve 350 yerine −10 yazılan eşdeğer girdiyi karşılaştır. Boş veya sonlu olmayan girdiyi sıfır açı yapma; gerçek ölçüm ya da model başarısı iddia etme.
Eşit ağırlık burada açık bir seçimdir. Biri bir saniyelik, diğeri bir saatlik gözlemi temsil ediyorsa bu iki kaydı eşit tutmak başka bir soruyu yanıtlar. Önce neyin ortalamasını istediğinizi belirleyin. Rüzgâr gibi bir bağlamda hız ağırlıklı ortalama yönü aramakla yalnız yön gözlemlerinin ortalamasını aramak aynı işlem değildir. Bu yazının küçük çizim örneğinde süre veya hız ağırlığı verilmemiştir.
Bir sayı üretmemeniz gereken çift
Şimdi bağımsız bir senaryoda 0 ve 180 dereceyi alın. Bir ok sağa, diğeri sola bakar. x bileşenleri 1 ve −1, y bileşenleri matematiksel olarak sıfırdır; ortalama vektör yok olur. atan2 işlevinden hangi sayı gelirse gelsin, bu sıfır vektörün tek bir baskın yönü yoktur. İki karşıt yönü 90 derece diye özetlemek verinin ortasında bulunmayan bir yön uydurur.
| Girdi | Bileşke | Rapor |
|---|---|---|
| 350°,10° | R≈0,984808 | Ortalama yön 0° |
| 0°,180° | R≈0 | Tek yön belirlenemiyor |
| Boş liste | Hesaplanmaz | Gözlem yok |
| Birim veya eksen bilinmiyor | Hesap ertelenir | Kaynak sözleşmesi gerekli |
Bilgisayarda sin(180°) tam sıfır yerine çok küçük bir sayı olabilir. Örnekteki 1e-12 eşiği bu hesap artığını elemek için seçilmiş bir eğitim kuralıdır. Gerçek gözlemlerde yönün yeterince belirgin olup olmadığı için uygun eşik ayrıca tanımlanır. Sayısal sıfır toleransını, dağınık yönleri tek açıyla özetlemenin iş bakımından kabulüyle karıştırmayın; bunlar iki farklı karardır.
Aynı deneyi başka başlangıç çevresinde kurun
80 ve 100 derece için bileşenleri hesaplayın. Beklenen ortalama yönü önce çizerek tahmin edin, sonra hesabınızı yapın. Ardından 80 ve 260 derecelik ikinci çifti ayrı değerlendirin. İki çiftte de aritmetik ortalama bir sayı verir; hangi çiftte bu sayıyı yön özeti olarak kullanabileceğinizi bileşke üzerinden açıklayın. İkinci çiftte bir sonucu zorla seçmek yerine hangi bilginin kaybolduğunu yazın.
80° ve 100° → x ortalaması 0, y ortalaması yaklaşık 0,984808; yön 90°, R≈0,984808. 80° ve 260° birbirine karşıttır; R≈0, tek yön yok. Aritmetik 170° cevabı bu belirsizliği çözmez.
Kendi kaydınıza döndüğünüzde açı, eksen sözleşmesi, ağırlık ve bileşke uzunluğunu birlikte saklayın. Böylece daha sonra yalnız ortalama sütununu gören biri tek yönün hangi koşulda üretildiğini anlayabilir. Yapay zekâya verilecek en yararlı kontrol görevi, ortalamayı tekrar söylemesi değil, eşdeğer açı gösteriminde sonucu koruması ve karşıt yönlerde belirsizliği açık bırakmasıdır.
Kaynaklar ve doğrulama
- SciPy — circmean
Ortalama bileşke vektörün açısı ve sıfır bileşkede uygulamaya bağlı sonuç.
Erişim ve kontrol:
Üretken Yapay Zekâ ile İş Verimliliği
Üretken Yapay Zekâ ile İş Verimliliği programında sayısal bir çıktının temsil ettiği soruyu kurmayı ve karşı örnekle sınamayı çalışabilirsiniz.
- Bireysel tarih henüz açıklanmadı