Tuesday, November 17, 2009

Birim topaklandırma

Artımlı (incremental) ve çevrimici topak analizi ile ilgili mevcut çalışmalara bakarken, "A randomized Algorithm for Online Unit Clustering" isimli çalışmada çevrimici birim öbekleme diye bir terime rastladım (online unit clustering). Ünlü k-merkezli topaklandırma (k-means clustering) yönteminde amaç mevcut veriyi yarıcap toplamını en küçük yapacak şekilde k adet küre ile kaplamak iken birim topkalandırmada amaç tüm veriyi kapsayacak birim yarıçaplı en küçük küre sayısını ve bu küreleri belirlemek. Bu çalışmadan bunu öğrenmek şimdilik yeter bana.

Friday, November 13, 2009

Estimating Average Precision with Incomplete and Imperfect Judgments

"Estimating Average Precision with Incomplete and Imperfect Judgments" isimli çalışmaya belki üzerinde çalıştığım konuda (multi-label learning with incomplete class assignment) işime yarar diye bir göz attım. Fakat anladığım kadarıyla uğraştığımız problem bu çalışmanın amacından farklı.

Bu çalışmadaki amaç, değerlendirme yapabilmek için gerekli olan bilginin eksik olması durumunda başarım analizi için yeni yöntemler sunmak. Örneğin girilen bir konu için elde edilen tüm belgeler gerçek belgelerin tümünü içermeyebilir (incomplete judgement). Ya da dinamik ortamlarda bazı alakalı belgeler silinebilirler ya da güncelliklerini yitirebilirler (imperfect judgement). Amaç kullanılacak yöntemlerin böyle durumlardan çok etkilenmemeleri, yanı ideal ölçüm sonuçlarından fazla sapmamaları.

"Mean Average Precision"

Başarım analizini yapmak için kullanılan yöntemlerden birisi de "Mean Average Precision". Bu terimi Türkçe'ye çevirmek çok da zor olmamalı aslında, ama mesela "ortalama kesinlik" diye çevirsek tam karşılamıyor sanki. Neyse konumuz bu değil. Unutmamak için bu yöntemin kullanımı ile ilgili bir örnek vereyim. Örnek uygulamamız ise verilen bir kelime icin alakali metinleri bulmak olsun.

Kullanılan sınıflandırma yöntemi K1 konusu için mevcut tüm metinlere birer puan versin. Biz de metinleri puanlarına göre sıralayalım. Buna göre sadece en yüksek puanlı metinin K1 için doğru konu seçilmesi durumunda hesaplanan kesinlik (precision) Kes_1 olsun. Kesinlik, eğer en yüksek puanlı 2 metin icin hesaplanirsa Kes_2, 3 konu seçilirse Kes_3,...., n metin seçilirse Kes_n olsun.

Hemen kesinliğin tanımını verelim:

kesinlik = (bulunan sonuçlar içinde doğru olanların sayısı)/(tüm bulunan sonuçların sayısı)

Teker teker tüm olası kesinlikleri elde ettikten sonra, m toplam konu sayısı olmak üzere M1 için ortalama kesinlik söyle hesaplanır:

Ort_M1 = topla (Kes_1*a_1, Kes_2*a_2, Kes_3*a_3, ...., Kes_n*a_n)/(alakali metin sayisi)

Yukardaki formulde, a_k, k=1,2,...,n, k'inci metinin sozkonusu konuyla alakali olup olmadigini gosteren belirtectir. Yani eger k'inci metin alakaliysa ak=1, degilse ak=0'dir. Bunu izleyen adım ise, m toplam konu sayısı olmak üzere her konu için elde edilen ortalamaların ortalamasını almak:

OrtKes= aritmetik ortalama (Ort_K1 , Ort_K2 , Ort_K3, ...., Ort_Kn )

Buradaki amaç, yüksek puanlı metinlerin değerlendirilmesine öncelik vermek. Mesela metinlerden sadece bir tanesinin metinle alakasız (Y), diğerlerinin ise alakalı (D) olduğu durumu ele alalım. Bu durumda hayali 2 adet sınıflandırma yönteminin sonuçlarını (S1 ve S2) değerlendirelim:

S1 => D D D Y => OrtKes = ort(1,1,1) = 1
S2 => Y D D D => OrtKes = ort(0.5, 0.66, 0.75) = 0.64

Doğal olarak S1 burada S2'ye göre daha yüksek bir sonuç verdi. Burada görmemiz gereken şey bu başarım ölçümü yönteminin doğru sonuçların sıramada üst yerlere yerleştirilme başarımını
ölçmesidir.

Türkçe

Maalesef teknik çalışmaları Türkçe ifade etmek biz gençler için zorlaşıyor. Bir de yurt dışında yaşayınca buna teknik sorunlar ekleniyor (klavyede türkçe karakterlerin bazılarının olmaması gibi). Neyse hemen üç önemli internet sitesinin adreslerini koymakla başlayayım işe:

Bülent (Sankur) Hoca'nin çabasıyla hazırlanan Türkçe/İngilizce teknik terimler sözlüğü burada

Türkçe karakter sorununa Sabancı Üniversitesi'nden bir çözüm

Son olarak da TDK yazım kılavuzu: