5.2 Lojistik Regresyon (Logistic Regression)
Last updated
Last updated
Lojistik regresyon, iki olası sonucun olduğu sınıflandırma problemleri için olasılıkları modellemektedir. Bu, sınıflandırma problemleri için doğrusal regresyon modelinin bir uzantısıdır.
Doğru lojistik regresyon model yorumunu mu arıyorsunuz? Zaman kazanın ve karmaşıklıklardan (log odds, vs.) kurtulun; lojistik regresyon yorumlama cheat sheet'ine göz atın.
Doğrusal regresyon modeli, regresyon problemleri için iyi çalışabilir, ancak sınıflandırma için başarısız olur. Peki neden? İki sınıf durumunda, sınıflardan birini 0, diğerini 1 ile etiketleyebilir ve doğrusal regresyon kullanabilirsiniz. Teknik olarak bu yöntem çalışır ve çoğu doğrusal model programı size ağırlıklar verecektir. Ancak bu yaklaşımda birkaç sorun vardır:
Doğrusal model olasılık üretmez, ancak sınıfları sayılar (0 ve 1) olarak ele alır ve noktalar ile hiperplan arasındaki mesafeleri en aza indiren en iyi hiperplânı (tek bir özellik için bu bir doğrudur) uydurur. Yani, sadece noktalar arasında interpolasyon yapar ve bunu olasılıklar olarak yorumlayamazsınız.
Doğrusal model aynı zamanda ekstrapolasyon yapar ve size sıfırın altındaki ve birin üzerindeki değerleri verir. Bu, sınıflandırma için daha akıllıca bir yaklaşım olabileceğine dair iyi bir işarettir.
Tahmin edilen sonuç bir olasılık değil, noktalar arasındaki doğrusal bir interpolasyondur, bu yüzden bir sınıfı diğerinden ayırt edebileceğiniz anlamlı bir eşik yoktur. Bu konuyla ilgili iyi bir örnek Stackoverflow'da verilmiştir.
Doğrusal modeller, birden fazla sınıfın olduğu sınıflandırma problemlerine genişletilemez. Bir sonraki sınıfı 2, sonra 3 vb. ile etiketlemek zorunda kalırsınız. Ancak sınıflar arasında anlamlı bir sıra olmayabilir ve doğrusal model, özellikler ile sınıf tahminleriniz arasındaki ilişkiye garip bir yapı zorlar. Pozitif ağırlığa sahip bir özelliğin değeri ne kadar yüksekse, bu, daha yüksek sayılı bir sınıfın tahminine o kadar fazla katkıda bulunur. Ancak, benzer sayılarla etiketlenmiş sınıflar, diğer sınıflardan daha yakın olmayabilir.
Sınıflandırma için bir çözüm lojistik regresyon. Doğrusal bir çizgi ya da hiper düzlem oluşturmak yerine, lojistik regresyon modeli, doğrusal eşitliğin çıktısını 0 ile 1 arasına sıkıştırmak için lojistik fonksiyonunu kullanıyor. Lojistik fonksiyonu aşağıda tanımlanmıştır.
Ve bu şekilde görünür
Doğrusal regresyondan lojistik regresyona geçiş oldukça kolaydır. Doğrusal regresyonda, biz hedef değişkeni ve özellikler arasındaki ilişkiyi doğrusal bir model olarak ele alırız.
Sınıflandırma içinse, 0 ile 1 arasındaki olasılıkları hedef değeri olarak tercih ederiz ve böylece denklemin sağ tarafını lojistik fonksiyonu içinde kullanırız. Bu çıktı değerlerimizin 0 ile 1 arasında kalmasını sağlar.
Tümör örneğine tekrar geri gelelim, ama bu sefer doğrusal regresyon yerine lojistik regresyon kullanalım.
Lojistik regresyonla sınıflandırma daha etkili sonuç verdi ve biz iki durumda da 0.5 eşik değerini kullanabiliriz. Ek veri noktalarının eklenmesi elde edilen eğriyi ciddi olarak etikilemez.
Lojistik regresyondaki ağırlıkların yorumu, doğrusal regresyondakinden farklıdır; çünkü lojistik regresyonda sonuç 0 ile 1 arasında bir olasılıktır. Bu nedenle, ağırlıklar artık olasılığı doğrusal bir şekilde etkilemez. Ağırlıklı toplam, lojistik fonksiyon ile bir olasılığa dönüştürülür. Bu yüzden, yorumlama yapabilmek için, denklemi yeniden düzenlememiz gerekir; böylece formülün sağ tarafında yalnızca doğrusal terim kalır.
ln() fonksiyonu içindeki terime "odds" (olayın olma olasılığının olmama olasılığına bölümü) denir ve logaritmaya sarıldığında "log odds" olarak adlandırılır.
Bu formül, lojistik regresyon modelinin log odds için bir doğrusal model olduğunu gösterir. Harika! Ama bu pek de yardımcı görünmüyor! Terimleri biraz yeniden düzenleyerek, özelliklerden biri xjx_jxj 1 birim değiştirildiğinde tahminin nasıl değişeceğini anlayabilirsiniz. Bunu yapmak için, denklemin her iki tarafına exp() fonksiyonunu uygulayabiliriz:
Daha sonra, özellik değerlerinden birini 1 birim artırdığımızda ne olduğunu karşılaştırırız. Ancak farkı incelemek yerine, iki tahminin oranına bakarız:
Aşağıdaki kuralı uygularız
Ve pek çok terimi kaldırırız:
Sonunda, sadece bir özellik ağırlığının exp() fonksiyonu kadar basit bir şey elde ederiz. Bir özelliği 1 birim artırmak, odds oranını (çarpan olarak) faktörü kadar değiştirir. Bunu şu şekilde de yorumlayabiliriz: 'deki 1 birimlik bir değişiklik, log odds oranını ilgili ağırlığın değeri kadar artırır. Çoğu insan odds oranını yorumlar, çünkü ln() terimlerini düşünmek zihni zorlar. Odds oranını yorumlamak bile alışmayı gerektirir. Örneğin, odds 2 ise, bu, olasılığının olasılığından iki kat daha yüksek olduğu anlamına gelir. Eğer bir ağırlık (= log odds oranı) 0.7 ise, ilgili özelliği 1 birim artırmak odds'u (yaklaşık 2) ile çarpar ve odds 4 olur. Ancak genellikle odds ile uğraşmaz ve ağırlıkları sadece odds oranları olarak yorumlarsınız. Çünkü aslında odds hesaplamak için her bir özellik için bir değer belirlemeniz gerekir, bu da yalnızca verisetinizde belirli bir örneğe bakmak istediğinizde anlamlıdır.
Lojistik regresyon modelindeki farklı özellik türleri için yorumlamalar şunlardır:
Sayısal özellik: Özellik 'yi 1 birim artırırsanız, tahmin edilen odds faktörü kadar değişir.
İkili kategorik özellik: Özellik değerlerinden biri referans kategorisidir (bazı dillerde, 0 olarak kodlanır). Özellik 'yi referans kategorisinden diğer kategoriye değiştirmek, tahmin edilen odds'u faktörü kadar değiştirir.
İkiden fazla kategoriye sahip kategorik özellik: Birden çok kategoriyi ele almanın bir yolu one-hot-encoding'dir, yani her kategori için ayrı bir sütun oluşturulur. L kategoriye sahip bir kategorik özellik için yalnızca L-1 sütuna ihtiyacınız vardır, aksi takdirde aşırı parametrelendirilmiş olur. L-inci kategori referans kategorisidir. Doğrusal regresyonda kullanılabilecek başka kodlamalar da kullanabilirsiniz. Her bir kategori için yorumlama, ikili özelliklerin yorumlamasına eşdeğerdir.
Kesişim (Intercept): Tüm sayısal özellikler sıfır olduğunda ve kategorik özellikler referans kategorisinde olduğunda, tahmin edilen odds olur. Kesişim ağırlığının yorumu genellikle önemli değildir.
Çeşitli risk faktörlerine bağlı rahim ağzı kanseri olma durumunu tahmin etmek için lojistik regresyon kullanıyoruz. Aşağıdaki tablo, tahmin edilen ağırlıkları, ilişkili odds oranlarını ve tahmin edilen ağırlıkların standart hatalarını göstermektedir.
TABLO 5.3: TABLO 5.4 - Rahim ağzı kanseri verisetine lojistik regresyon modeli uygulanmasının sonuçları. Modelde kullanılan özellikler, tahmin edilen ağırlıkları, ilgili odds oranları ve standart hataları gösterilmektedir.
Weight
Odds ratio
Std. Error
Intercept
-2.91
0.05
0.32
Hormonal contraceptives y/n
-0.12
0.89
0.30
Smokes y/n
0.26
1.30
0.37
Num. of pregnancies
0.04
1.04
0.10
Num. of diagnosed STDs
0.82
2.27
0.33
Intrauterine device y/n
0.62
1.86
0.40
Sayısal bir özellik yorumu ("Num. of diagnosed STDs"): Teşhis edilmiş cinsel yolla bulaşan hastalık (STD) sayısındaki bir artış, kanser vs. kanser olmama olasılığını 2.27 kat artırır; diğer tüm özellikler sabit tutulduğunda. Unutmayın, korelasyon nedensellik anlamına gelmez.
Kategorik bir özellik yorumu ("Hormonal contraceptives y/n"): Hormonlu doğum kontrolü kullanan kadınlar için, kanser vs. kanser olmama odds’u, hormonlu doğum kontrolü kullanmayan kadınlara kıyasla 0.89 oranında daha düşüktür, diğer tüm özellikler sabit tutulduğunda.
Doğrusal modelde olduğu gibi, yorumlar her zaman “diğer tüm özellikler sabit tutulduğunda” ifadesiyle birlikte gelir.
Doğrusal regresyon modelinin birçok artısı ve eksisi, lojistik regresyon modeli için de geçerlidir. Lojistik regresyon, birçok farklı kişi tarafından yaygın olarak kullanılmıştır, ancak sınırlı ifade gücüyle (örneğin, etkileşimlerin manuel olarak eklenmesi gerekir) mücadele eder ve diğer modeller daha iyi tahmin performansına sahip olabilir.
Lojistik regresyon modelinin bir diğer dezavantajı, ağırlıkların yorumlanmasının daha zor olmasıdır çünkü ağırlıkların yorumu çarpansaldır ve toplamsal değildir.
Lojistik regresyon, tam ayrışmadan muzdarip olabilir. Eğer bir özellik iki sınıfı mükemmel bir şekilde ayırabiliyorsa, lojistik regresyon modeli artık eğitilemez. Bunun nedeni, o özellik için ağırlığın yakınsamamasıdır, çünkü optimal ağırlık sonsuz olacaktır. Bu gerçekten biraz talihsizdir çünkü böyle bir özellik gerçekten faydalıdır. Ancak, her iki sınıfı ayıran basit bir kuralınız varsa makine öğrenimine ihtiyacınız yoktur. Tam ayrışma sorunu, ağırlıklara ceza ekleyerek veya ağırlıkların önsel olasılık dağılımını tanımlayarak çözülebilir.
Olumlu tarafta, lojistik regresyon modeli yalnızca bir sınıflandırma modeli değil, aynı zamanda olasılıklar da verir. Bu, yalnızca nihai sınıflandırma sağlayan modellere göre büyük bir avantajdır. Bir örneğin bir sınıfa ait olma olasılığının %99 veya %51 olduğunu bilmek büyük bir fark yaratır.
Lojistik regresyon, ikili sınıflandırmadan çok sınıflı sınıflandırmaya da genişletilebilir. Bu durumda Multinominal Regresyon olarak adlandırılır.
Tüm örneklerde R dilindeki glm fonksiyonunu kullandım. Lojistik regresyonu, Python, Java, Stata, Matlab gibi veri analizi yapmak için kullanılabilen her programlama dilinde bulabilirsiniz.