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 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!!!)
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:
Anomali tespiti sorunu Normal dağılımı iki parametreyle belirlenir–ortalaması (merkez nokstası), , ve varyansı yada standart sapması (dağılım genişliği),
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 “Normal” durumlarının örnekleri kullanarak ortalaması ve varyans değerleri tahmin edilebilir
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 “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 “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 p Anomali 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+Tx 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;
Tavsiye etme sorunu Tavsiye etme modelinin uygunluk maliyeti: 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
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
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
Tavsiye etme sorunu Bu ürün özelliklerini kullanarak müşteri tercih j modelleri bulunur önceki geçiş maliyeti azaltarak bulunur
Tavsiye etme sorunu Son geçişten müşteri j modellerini kullanarak ürün xi özellikleri tekrar bulunur önceki geçiş maliyeti azaltarak bulunur
Tavsiye etme sorunu Önceki geçişten xi özelliklerini kullanarak müşteri tercih j modelleri tekrar bulunur önceki geçiş maliyeti azaltarak bulunur
Tavsiye etme sorunu Yakınsamaya kadar tekrarlanır
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=XT
Tavsiye etme sorunu Bu gösterimde - Y=XT - 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 teta-parametreleri, =(1,2,...,m)
Tavsiye etme sorunu Bu ölçüde, rating matrisi - Y- bilinir biri Buna göre, Y=XT 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=XT 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: Yeni müşteriler için, j0 kullanılabilir, ve ratingleri ortalama tavsiye etme anlamında gelir (yanı Y’0 ratingler ortalama tercih anlamındadır)
Finito