ders notları - SciNet Central

Download Report

Transcript ders notları - SciNet Central

MIT563
Yapay Zeka ve Makine Öğrenmesi
Y. Doç. Yuriy Mishchenko
Ders planı
• Anomali tespiti sorunu (Anomaly estimation
problem)
• Tavsiye etme sorunu (Recommender systems
problem)
Genel kavramları
• Anomali tespiti ve tavsiye etme, modern
makine öğrenmesi sorunlarından birilerdir
• Anomali tespiti, kalite kontrolü, sahtekarlık
algılama (fraud detection, yanı kredi
kartlarıyla ilgili), vb sistemlerinde kullanılır;
ana amacı: sıradışı olayları yakalamak
• Tavsiye etme sistemleri, birçok e-komerse
sisteminde (hepsiburada vb) müşterilere
tavsiye etmek için kullanılır
Anomali tespiti sorunu
• Anomali tespiti sorunu
– Olağandışı olayları farketmek
• Ne için uygulanabilir:
– Kredi kartı ile ilgili olağandışı kullanıcı davranmayı
farketmek için, sahtekarlık (fraud) yakalamak
– Üretmede kötü parçalar bulmak (kalite kontrolü,
cihazın onarıma ihtiyacı belirleme, vb)
– Otomatik ayarlamada insan operatörün dikkatini
çekmek
Anomali tespiti sorunu
• Genel yaklaşım:
– “Normal” durumlar için bir model oluşturulur
– Bu model, olasılık modeli olmalıdır
• Bu model girdi-çıktı bir model değil, belli bir girdi için
olabilir farklı çıktılar için onların olasılıklarını verir
– Bu model, bu şekilde “normal” ve olağandışı
durumlarını ve onların olasılıklarını belirliyor
– Böyle bir model, genel makine öğrenme metodları
kullanarak oluşturur
Anomali tespiti sorunu
• Yeni bir durum için, bu model kullanarak bu
durum “normal” olması olasılığı belirtilir
• Durum “normal” modeline uygun değilse, yanı
“normal” durumda olasılığı çok fazla düşükse,
böyle olayları anomali olarak veriliyor
Anomali tespiti sorunu
• “Normal” model olarak sıkça normal dağılım
modeli kullanılır:
– Normal dağılımı, istatistiğin en önemli
dağılımlarından biridir; bu dağılımın ana özelliği,
“çan şekline” sahip olmasıdır
Anomali tespiti sorunu
• Normal dağılım aşağıdaki nedenlerle
önemlidir:
– Bir olayın sonucu birçok bağımsız rasgele
faktörlerle belirtilirse, bu olayın sonuçları normal
dağılım şekilde olmalıdır (Merkezi Limit Teoremi,
Central Limit Theorem)
Anomali tespiti sorunu
• Örnek olarak, bir olayın sonucu birçok
bağımsız rasgele faktörlerin toplamı şeklinde
olursa ...
• Bu sonuclar normal dağılım şeklinde
gerçekleştirilecektir (her zaman - altfaktörlerin
detaylı doğası fark etmez!!!)
X
X  x1  x2  x3  ...  xN
Anomali tespiti sorunu
• Bu nedenle, normal dağılım birçok gerçek
durumda görülebilir
• Anomali tespiti için, “normal” durumların
modeli bu şekilde belirtilebilir
Anomali tespiti sorunu
• Normal dağılımın olasılıkları bu şekilde
tanımlanır:
N ( x |  , ) 
2
( x )2

2
2

e
1
2
2
x ~ N (  , 2 )
Anomali tespiti sorunu
• Normal dağılımı iki parametreyle belirlenir–
ortalaması (merkez nokstası), , ve varyansı
yada standart sapması (dağılım genişliği), 
N ( x |  , 2 ) 
( x )2

2
e 2
1
2
2
Anomali tespiti sorunu
• Ortalama değeri , çan şeklinin merkez/orta
pozisyonunu belirtiyor
Anomali tespiti sorunu
• Varyans , çan şeklinin genişliğini belirtiyor
2
Anomali tespiti sorunu
Normal dağılımı önemli özelliği;
• Sonuçların...
– %68’i ortalamasından 2 aralığı içinde bulunur
– %95’i ortalamasından 4 aralığı içinde bulunur
– %99,9’i ortalamasından 6 aralığı içinde bulunur
Anomali tespiti sorunu
• Anomali tespiti sorunu:
– “Normal” durumlarının örnekleri kullanarak
ortalaması  ve varyans  değerleri tahmin
edilebilir
m
1

xi
m i 1

m

1
 
( xi   ) 2
m  1 i 1
2
Anomali tespiti sorunu
• “Normal” durumların dağılımı oluşturulabilir
– Bu model dağılıma göre, bütün durumların
“normal” olabilmek olasılığı tahmin edilebilir
Anomali tespiti sorunu
• Eğer yeni bir olay ortalamasından 3’dan daha
uzaktaysa, bu olayın “normal” olması olasılığı
çok düşüktür (1000 ‘de bir ‘den daha düşük) ...
Anomali tespiti sorunu
• Bu olay “anomali” olarak kaydedilebilir
anomali
Anomali tespiti sorunu
• Anomali tespiti:
– “Normal” örnekleri kullanarak, “normal”
durumlarının olasılık modeli oluşturulur
• “Anomali” örnekleri varsa, bu örnekler kullanarak bir
“threshold” (eşik) parametresini de belirtilir
– Yoksa, “threshold” farklı açıdan seçilir, örneğin,
normal durumlarının anomali olarak en fazla %0.1
olaylarda kaydedilmesi (demek - hata yapılması
olasılığı en fazla %0.1)
Anomali tespiti sorunu
• Anomali tespiti:
– “threshold” parametresini kullanarak, normal
bölge dışarı olan olaylar (demek ki “normal”
olması olasılığı “thershold”’den daha düşük)
anomali olarak kaydedilir
p
ANOMALI
p
ANOMALI
Anomali tespiti sorunu
• Anomali tespiti önceki makine öğrenme sorunlarından
farkı:
– Genellikle ,“normal” örnekleri çok ve “anomali” örnekleri
az (yada hiç) var – önceki makine öğrenme sorunlarında
genellikle ikisi de yeterli sayıda vardı
– “Normal” durumların tek türü, “anomali” durumların çok
türü olabilir: normal dışında her şey anomalidir – önceki
makine öğrenme sorunlarında genellikle iki durum türü
vardı
– Durum modeli oluşturmak için sadece “normal” örnekleri
kullanılır, “anomali” örnekleri yada kullanılmaz yada “eşik”
için kullanılır – önceki makine öğrenme sorunlarında
genellikle bütün örnekler kullanılmalıydı
Tavsiye etme sorunu
• Tavsiye etme sorunu:
– Bir müşteri için, onun tarafından önceden satın
alındığı yada arandığı ürünlere göre yeni ürünleri
tavsiye etmek
– Büyük e-komerse sistemlerinde, hepsiburada vb,
müşterilere tavsiye etmek için kullanılır
– Büyük ticaret uygulamaları var
Tavsiye etme sorunu
• Tavsiye etme sorunu, genel makine öğrenme
yaklaşımı kullanarak çözülebilir:
– Bütün ürünler için özellik vektörleri belirlenir,
örneğin:
•
•
•
•
•
Evde kullanım değeri; 0-5 yıldız rating,
Eğlence değeri; 0-5 yılzıd rating,
Kalite değeri; 0-5 yıldız rating,
Fiyat değeri; 0-5 yıldız rating,
Markası ünlülük, vb
Tavsiye etme sorunu
• Bu özellikleri kullanarak ve müşteriler için var
olan bilgi kullanarak müşterilerin tercih modeli
oluşturulur
– Yeni x-özellikli ürünün beğenilmesi “ratingi”,
h(x) =0+Tx
– En basit - lineer model de olabilir
– Yeni ürün için, müşterinin olabilecek 0-5 yıldızlı
“rating”i tahmin ediyor
Tavsiye etme sorunu
• Bu model, müşteri tarafından önceden
izlenmiş yada satın alınmış ürünler kullanarak
bulunabilir, onun teta-parametrelerini bulabilir
– Model teta-parametrelerine bağlı bir uygunluk
maliyetinin minimumu azaltılması gerekiyor
• Oluşturulmuş modeller, müşterilere yeni
ürünler tavsiye etmek için kullanılabilir
Tavsiye etme sorunu
Modeller, maliyet azaltarak buluyoruz;
1

T
i
i, j 2
m in
( j  x  y ) 
2m gorulmus urunler
2m


k
 j2
Tavsiye etme sorunu
Tavsiye etme modelinin uygunluk maliyeti:
1
m in
2m
 ( j
T
x  y
i
) 
i, j 2

j

2m
2
k
• yi,j i. ürün için j. müşterin 0-5 yıldızlı “rating”
(değerlendirme)
• xi, i. ürünün var olan “özellik” vektörüdür
• j, j. müşterin var olan tercih modelidir
Tavsiye etme sorunu
• Bu yaklaşıma göre, önce var olan müşterilerin
ratingleri - yi,j - ve bir şekilde önceden var olan
ürünlerin özellikleri - xi – için uygun müşteri terçih
modelleri - j - bulunabilir
1

T
i
i, j 2
m in
( j  x  y ) 
2m musteri bigileri
2m

 j
k
2
Tavsiye etme sorunu
• Bukadar mı ???
Tavsiye etme sorunu
• Bu yaklaşımın ana sorunu, binlerce ürünler
için özellikleri belirleme gerekliliği
• Gerçek durumda, bu çok zor ve çok pahalı bir
iş olabilir
Tavsiye etme sorunu
• Normalde var olan durum:
– Farklı müşteriler tarafından farklı ürünler için
sisteminde birçok rating zaten var, ürünlerin
özellikleri ama hiç yok
– Tavsiye etmek için, diğer kullanıcılar tarafından
verilmiş ratingler kullanarak hem ürünlerin
özellikleri hem de müşterilerin tercihleri
belirlemek istiyoruz
1
m in
2m
 ( j
Gj
T
x  y
i
) 
i, j 2

j

2m
k
2
Tavsiye etme sorunu
• Yaklaşım:
– Bir rasgele şekilde atanmış j modelleri kullanılır
– Bu rasgele j modellerini kullanarak, ürünlerin xi
özellikleri için model maliyet azaltarak optimal
değerleri bulunur
– Bu ürün özelliklerini kullanarak model maliyeti
azaltarak müşteriler için yeni j modelleri bulunur
– Bu şekilde devam edilir ...
Tavsiye etme sorunu
• Rasgele j tercih modellerini kullanarak ürün xi
özellikleri bulunur
varsayılmış
maliyeti azaltarak bulunur
1
m in
2m

Gj
( j  x  y
T
i
) 
i, j 2

2m

k
 j2
Tavsiye etme sorunu
• Bu ürün özelliklerini kullanarak müşteri tercih
j modelleri bulunur
önceki geçiş
maliyeti azaltarak bulunur
1
m in
2m

Gj
( j  x  y
T
i
) 
i, j 2

2m

k
 j2
Tavsiye etme sorunu
• Son geçişten müşteri j modellerini kullanarak
ürün xi özellikleri tekrar bulunur
önceki geçiş
maliyeti azaltarak bulunur
1
m in
2m

Gj
( j  x  y
T
i
) 
i, j 2

2m

k
 j2
Tavsiye etme sorunu
• Önceki geçişten xi özelliklerini kullanarak
müşteri tercih j modelleri tekrar bulunur
önceki geçiş
maliyeti azaltarak bulunur
1
m in
2m

Gj
( j  x  y
T
i
) 
i, j 2

2m

k
 j2
Tavsiye etme sorunu
Yakınsamaya kadar tekrarlanır
1
m in
2m

Gj
( j  x  y
T
i
) 
i, j 2


2m
k
 j2
Tavsiye etme sorunu
• Tavsiye etme özel matematiksel şekli
– Matematiksel şekilde, değerlendirme (rating)
matris tanımlıyoruz:
Y=(yi,j| j. müşteri tarafından i. ürünün değerlendirilmesi ratingi),
– Bu anlamda, tavsiye etme sorununda
değerlendirme matrisin özel faktör gösterimi
buluyoruz, daha kesin olarak - Y=XT
Tavsiye etme sorunu
• Bu gösterimde - Y=XT – X, ürünlerin özellik matrisi, yada bütün ürünler için
özellik vektörleri, X=(x1,x2,...,xm)
– , müşterilerin tercih matrisi, yada bütün
müşterilerin tercih modellerinin tetaparametreleri, =(1,2,...,m)
Tavsiye etme sorunu
• Bu ölçüde, rating matrisi - Y- bilinir biri
• Buna göre, Y=XT ilişkisinde olan X ve 
matrislerini bulmak gerekiyor
• Bu soruna “low rank matrix factorization”
denir, bu bir matematiksel bir özel sorun
Tavsiye etme sorunu
• Yanı, bir Y matrisi için Y=XT belirli boyutta
olan matris faktörleştirilmesi bulmak – “low
rank matrix factorization”‘dir
• Matematikte özel bir alan ve hem bu sorunun
özellikleri hem de çözüm yaklaşımları var
• Bu ölçüde, bu matematiksel sorunun
çözümleri tavsiye etme sorununda ticarette
kullanılabilir
Tavsiye etme sorunu
• Özel konu: “soğuk başlangıç” (cold start)
sorunu;
– Yeni müşteriler için, önceden tercih örnekleri
bulunmayabilir (aslında hiç yok normalde)
– Bu durumda, yeni müşteriler için bir “genel”
model kullanılmalıdır
– Böyle genel bir model olarak =0 modeli atamak
mantıklıdır
– Ama, bu modele göre bütün ürünlere Y=X T=0
ratingleri atanır – bu kötü ve mantıklı değil
Tavsiye etme sorunu
• Bu sorunu çözmek için, Y rating matrisinden
ortalama değerleri genellikle çıkartılır – yani
ortalama rating 0 olsun diye diyoruz, bütün
rating’ler bu sıfır noktasına göre yapılsın
• “Genel” ratingler, bu anlamda, sıfır oluyor,
istediğimiz gibi
• “Genel” model olarak (yanı yeni müşteriler
için) =0 model de kullanılabilir
Tavsiye etme sorunu
• Matematiksel, sıfır-ortalamalı ratingler bu şekilde
tanımlıyoruz:
Y '  Y  m ean(Y )
 m ean(Y ' )  0
model: Y '  X   T
• Yeni müşteriler için, j0 kullanılabilir, ve
ratingleri ortalama tavsiye etme anlamında gelir
(yanı Y’0 ratingler ortalama tercih anlamındadır)
FINITO