Hafta 05 - Karar Ağaçları/Kümeleme

Benzer belgeler
VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN

Hafta 03/04 - Uzaklık/Benzerlik - En Yakın Komşular - Karar Ağaçları

Kümeler arası. Küme içi. uzaklıklar. maksimize edilir. minimize edilir

Web Madenciliği (Web Mining)

YZM 3217 YAPAY ZEKA DERS#10: KÜMELEME

Hafta 09 -Topluluk Yöntemleri - Boyut Azaltma - Anomali Tespiti

Eğitim seti (training set) sınıflandırma modelinin elde edileceği kayıtları içerir

Makine Öğrenmesi 3. hafta

VERİ MADENCİLİĞİ (Karar Ağaçları ile Sınıflandırma) Yrd.Doç.Dr. Kadriye ERGÜN

VERİ MADENCİLİĞİ (Kümeleme) Yrd.Doç.Dr. Kadriye ERGÜN

Boosting. Birol Yüceoğlu Migros T.A.Ş.

Web Madenciliği (Web Mining)

VERİ MADENCİLİĞİ (Veri Ön İşleme-2) Yrd.Doç.Dr. Kadriye ERGÜN

Gözetimli & Gözetimsiz Öğrenme

Ağaç (Tree) Veri Modeli

Makine Öğrenmesi 2. hafta

Karar Ağacı Öğrenmesi(Decision Tree Learning)

Veri Madenciliği. Bölüm 5. Sınıflandırma 1. Doç. Dr. Suat Özdemir.

YZM ALGORİTMA ANALİZİ VE TASARIM DERS#9: AÇGÖZLÜ ALGORİTMALAR

K En Yakın Komşu Methodu (KNearest Neighborhood)

Veri Madenciliği Karar Ağacı Oluşturma

VERİ MADENCİLİĞİ (Sınıflandırma Yöntemleri) Yrd.Doç.Dr. Kadriye ERGÜN

Büyük Veri İçin İstatistiksel Öğrenme (Statistical Learning for Big Data)

Hafta 01 - Giriş. BGM Siber Güvenlik için Makine Öğrenme Yöntemleri. Yüksek Lisans Programı. Dr. Ferhat Özgür Çatak

Eğiticili (supervised) öğrenme: Sınıflandırma (classification) Sınıf sayısı ve bir grup örneğin hangi sınıfa ait olduğu bilinir

127 - Twoing Algoritması ile Sınıflandırma Kalp Hastalığı Uygulaması MEHMET AKİF ERSOY ÜNİVERSİTESİ İLHAN UYSAL MEHMET BİLEN SAMİ ULUKUŞ

Ankara Üniversitesi, SBF İstatistik 2 Ders Notları Prof. Dr. Onur Özsoy 1

3 KESİKLİ RASSAL DEĞİŞKENLER VE OLASILIK DAĞILIMLARI

Hafta 13 - Adversarial ML

Uzaktan Algılama Teknolojileri

RD lerin Fonksiyonları

ISSN: El-Cezerî Fen ve Mühendislik Dergisi Cilt: 3, No: 2, 2016 ( )

Zeki Optimizasyon Teknikleri

Week 9: Trees 1. TREE KAVRAMI 3. İKİLİ AĞAÇ DİZİLİMİ 4. İKİLİ ARAMA AĞACI 2. İKİLİ AĞAÇ VE SUNUMU > =

Metin Sınıflandırma. Akış

Bilgisayar programlamanın üç temel mantık yapısından biridir. Diğer ikisi ise Seçilim(Selection) ve Döngü(Loop, Iteration)dür.

BLM-431 YAPAY ZEKA. Ders-4 Bilgisiz Arama Yöntemleri. Yrd. Doç. Dr. Ümit ATİLA

Veri madenciliği yöntemleri

Karar Ağacı Öğrenmesi(Decision Tree Learning)

YÖNEYLEM ARAŞTIRMASI - III

2.1 Bir Sınıfı Örneklerinden Öğrenme Vapnik-Chervonenkis (VC) Boyutu Olası Yaklaşık Doğru Öğrenme... 21

Tanımı Amacı Özellikleri Kullanım Alanları Varsayımları Yöntemleri Uygulama aşamaları. Neleri göreceğiz?

Fonksiyon Optimizasyonunda Genetik Algoritmalar

ARALIK TAHMİNİ (INTERVAL ESTIMATION):

Web Madenciliği (Web Mining)

İÇİNDEKİLER ÖN SÖZ...

Web Server Sunucu Loglarının K-Komşu Algoritması ile İ ncelenmesi

Altın Oran Arama Metodu(Golden Search)

İçindekiler. Ön Söz... xiii

KARAR AĞAÇLARI SÜMEYYE ÖZKAN BAHAR BAKAR İZEL KOLCU

PARÇACIK SÜRÜ OPTİMİZASYONU BMÜ-579 METASEZGİSEL YÖNTEMLER YRD. DOÇ. DR. İLHAN AYDIN

1.58 arasındaki her bir değeri alabileceği için sürekli bir

Matematiksel Optimizasyon ve Yapay Öğrenme

PARALEL VERİ MADENCİLİĞİ ALGORİTMALARI. BAŞARIM 09, Nisan 2009, ODTÜ, Ankara

MEH535 Örüntü Tanıma. Karar Teorisi

Veri Yapıları. Ağaçlar

ANADOLU ÜNİVERSİTESİ. ENM 317 Prof. Dr. Nihal ERGİNEL

ALTIN ORAN ARAMA (GOLDEN SECTION SEARCH) METODU

13. Olasılık Dağılımlar

Yapılan alan araştırması sonucunda aşağıdaki sonuçlar elde edilmiştir. ( ) ( ) ( ) ( )

İSTATİSTİK VE OLASILIK SORULARI

Rassal Değişken Üretimi

Çok-öbekli Veri için Aradeğerlemeci Ayrışım

HACETTEPE ÜNİVERSİTESİ BAHAR DÖNEMİ

YZM YAPAY ZEKA DERS#6: REKABET ORTAMINDA ARAMA

Ders 6: Sürekli Olasılık Dağılımları

BBM Discrete Structures: Final Exam Date: , Time: 15:00-17:00

Akış YILDIZ TEKNİK ÜNİVERSİTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ

Hafta 10 - Vektör Uzay Modelleri

Uzaktan Algılama Uygulamaları

TEK BOYUTLU RASSAL DEĞİŞKENLER

istatistik 4. Bir frekans dağılımına ilişkin birikimli seriler 1. Birimlerle ilgili aşağıdaki ifadelerden hangisi

TÜREV VE UYGULAMALARI

rasgele değişkeninin olasılık yoğunluk fonksiyonu,

PAPATYA YAYINCILIK EĞİTİM Bilgisayar Sis. San. ve Tic. A.Ş. Veri Madenciliği Yöntemleri Dr. Yalçın ÖZKAN -II-

OLASILIK VE İSTATİSTİK

YZM YAPAY ZEKA DERS#4: BİLGİSİZ ARAMA YÖNTEMLERİ

RASSAL DEĞİŞKENLER VE OLASILIK DAĞILIMLARI. Yrd. Doç. Dr. Emre ATILGAN

bitık MOBİL TİCARET UYGULAMASI ABDULLAH ÇİÇEKCİ

BIP116-H14-1 BTP104-H014-1

BLM-431 YAPAY ZEKA. Ders-5 Bilgili Arama Yöntemleri. Yrd. Doç. Dr. Ümit ATİLA

OLASILIĞA GİRİŞ P( )= =

ANADOLU ÜNİVERSİTESİ OLASILIĞA GİRİŞ

BLM-431 YAPAY ZEKA. Ders-3 Durum Uzayında Arama. Yrd. Doç. Dr. Ümit ATİLA

WEIBULL DAĞILIMI WEIBULL DAĞILIMI ANADOLU ÜNİVERSİTESİ

OLASILIK ve KURAMSAL DAĞILIMLAR

10.Hafta Minimum kapsayan ağaçlar Minimum spanning trees (MST)

VERİ MADENCİLİĞİ (Veri Önişleme-1) Yrd.Doç.Dr. Kadriye ERGÜN

Görüntü Sınıflandırma

Anadolu Üniversitesi Endüstri Mühendisliği Bölümü İST328 Yöneylem Araştırması 2 Dersi Bahar Dönemi. Hazırlayan: Doç. Dr.

BÖLÜM III: Şebeke Modelleri. Şebeke Kavramları. Şebeke Kavramları. Şebeke Kavramları. Yönlü Şebeke (Directed Network) Dal / ok

Kitle: Belirli bir özelliğe sahip bireylerin veya birimlerin tümünün oluşturduğu topluluğa kitle denir.

Regresyon ve Sınıflandırma

ÜNİTE:1. İstatistiğin Tanımı, Temel Kavramlar ve İstatistik Eğitimi ÜNİTE:2. Veri Derleme, Düzenleme ve Grafiksel Çözümleme ÜNİTE:3

Algoritma Geliştirme ve Veri Yapıları 2 Veri Modelleri. Mustafa Kemal Üniversitesi

BİYOİSTATİSTİK Bazı Olasılık Dağılışları Dr. Öğr. Üyesi Aslı SUNER KARAKÜLAH

Ders 4: Rastgele Değişkenler ve Dağılımları

SÜREKLİ OLASILIK DAĞILIŞLARI

2.1 Gri Düzey Eş Oluşum Matrisi ( GLCM) Gri düzey eş oluşum matrisi Haralick tarafından öne sürülmüştür [1]. Đstatistiksel doku analizi yöntemidir.

MEH535 Örüntü Tanıma. 6. Boyut Azaltımı (Dimensionality Reduction)

Transkript:

BGM 565 - Siber Güvenlik için Makine Öğrenme Yöntemleri Bilgi Güvenliği Mühendisliği Yüksek Lisans Programı Dr. Ferhat Özgür Çatak ozgur.catak@tubitak.gov.tr İstanbul Şehir Üniversitesi 2018 - Bahar

İçindekiler 1 Karar Ağaçları Giriş Tek Değişkenli Ağaçlar Sınıflandırma Ağaçları Karar Ağacı Algoritmaları Python 2 Giriş nin Amacı K-Ortalamalar K-Means İçin Silhouette Analizi Hierarchical clustering DBSCAN Model Değerlendirme

İçindekiler 1 Karar Ağaçları Giriş Tek Değişkenli Ağaçlar Sınıflandırma Ağaçları Karar Ağacı Algoritmaları Python 2 Giriş nin Amacı K-Ortalamalar K-Means İçin Silhouette Analizi Hierarchical clustering DBSCAN Model Değerlendirme

Giriş Böl-ve-fethet stratejisine dayalı hiyerarşik veri yapılarıdır. Girdi uzayını lokal bölgelere yinelemeli olarak ayıran hiyerarşik model. Bir karar ağacı modeli, karar düğümü ve hedef yapraklarından oluşmaktadır. Her bir karar düğümü f m(x) şeklinde bir test fonksiyonuna sahiptir. 100 x2 80 60 w 2 40 c 3 c 1 c 2 c1 hayır x1 > w1 evet x2 > w2 20 hayır evet w 0 1 0 2 4 6 8 10 c2 c3 x 1

Tek Değişkenli Ağaçlar Univariate Trees Tek Değişkenli Ağaçlar Her bir düğümde sadece bir öznitelik kontrol edilir. Düğümde kullanılan öznitelik, x i, kesikli olması durumunda n adet farklı ayrıştırma gerçekleştirilmelidir. Örnek: öznitelik servis {http, ftp, ssh} olması durumunda 3 farklı dallanma olmalıdır. Düğümde kullanılan öznitelik, x i, sürekli olması durumunda ise kesikli hale getirilmelidir. Örnek: paket sayısı f m(x i ) : x i > w m w m değeri, uygun bir yöntemle seçilmiş olan eşik değeridir. Karar düğümü, girdi uzayını ikiye bölmektedir: L m = {x x j > w m} ve R m = {x x j w m} İkili ayrıştırma: binary split

Sınıflandırma Ağaçları I Classification Trees Sınıflandırma Ağaçları Bir ayrıştırmanın ne kadar doğru yapıldığının ölçümü: Belirsizlik ölçümü (Impurity Measure) Eğer bir ayrıştırma yapıldıktan sonra, bir dal içinde yer alan örneklerin tamamı aynı sınıfa etiketine sahip olması durumunda, bu ayrıştırma saftır (pure). Düğüm m, bu düğümde yer alan örnek (satır) sayısı N m, ve sınıf C i ye ait olan örneklerin sayısı N i m olsun. Bu durumda bir örneğin, x, m düğümüne eriştiğinde bir C i sınıfına ait olma olasılığı: P(C i x, m) = Ni m N m (1) Elinizde 5 adet zararlı yazılım (y m = {ransomware, trojan, trojan, ransomware, backdoor}) olduğunu kabul edin. Bu durumda N m = 5. Seçtiğiniz bir yazılımın, x, ransomware (C i = ransomware) olma olasılığı nedir? x ve m bilindiğine göre C i nin olasılığı - koşullu olasılık. P(C i x, m) = Ni m N m = 2 5 = 0.4

Sınıflandırma Ağaçları II Classification Trees Entropy Düzensizlik ölçümlerinden bir tanesidir. K H m = p i log 2 (p i ) (2) i=1 1 entropy = p log2(p) (1 p) log2(1 p) 0.8 0.6 0.4 0.2 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 p

Sınıflandırma Ağaçları III Classification Trees Düzensizlik ölçüm yöntemleri Entropy tek yöntem değildir. İki sınıflı problem için 1. sınıf için olasılık, p 1 = p, 2. sınıf için olasılık p 2 = 1 p 1 = 1 p Genel çözüm: φ(p, 1 p) negative olmayan fonksiyon tanımlanmalıdır. Negative olmayan fonksiyon: φ 0, φ R + Özellikleri: φ(0, 1) = φ(1, 0) = 0 φ(p, 1 p) fonksiyonu [0, 1/2] aralığında artış, [1/2, 1] aralığında azalış göstermelidir. Yöntemler: Entropy: φ(p, 1 p) = p log 2 (p) (1 p) log 2 (1 p) Gini: φ(p, 1 p) = 2 p (1 p) Misclassification Error: φ(p, 1 p) = 1 max(p, 1 p)

Sınıflandırma Ağaçları IV Classification Trees φ(p, 1 p) = plog 2 p (1 p)log 2 (1 p) 1 entropy 0.8 0.6 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 p φ(p, 1 p) = 2 p (1 p) 1 gini 0.8 0.6 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 p φ(p, 1 p) = 1 max(p, 1 p) 1 Misclassification 0.8 0.6 0.4 0.2 0 0 0.2 0.4 0.6 0.8 1 p

Sınıflandırma Ağaçları V Classification Trees Düzensizlik (Impurity) Bir düğüm m saf (pure) değilse, düzensizliği en fazla azaltacak şekilde sahip olduğu örnekler ayrıştırışmalıdır. Bir düğümün sahip olduğu örneklerin sınıf etiketleri aynı ise bu düğüm saftır. Düğüm m ait olan örneklerin içinde j dalının örnek sayısı N mj olsun. Bu durumda j dalının içinde C i sınıfının olasılığı P(C i x, m, j) = p i mj = Ni mj N mj Ayrıştırma olduktan sonra toplam düzensizlik I m = N j=1 N mj N m K pmjlog i 2 (pmj) i (3) i=1

Karar Ağacı Algoritmaları I ID3 (Iterative Dichotomiser 3) 1986 yılında Ross Quinlan tarafından önerilmiştir. Kategorik hedefler (sınıflar) için kategorik öznitelikleri kullanmaktadır. Bilgi kazancının en fazla olacağı nitelik seçilerek aşağıya doğru devam etmektedir.

Karar Ağacı Algoritmaları II C4.5 1993 yılında Ross Quinlan tarafından önerilmiştir. Sayısal değerler içerebilir. Bir eşik değeri seçilerek aralığın orta noktası bulunur. Sayısal değere sahip olan nitelik sıralanır x f = {v 1, v 2,, v n}. Eşik değeri ortanca değer seçilebilir Örnek: bir niteliğin içerdiği değerler sıralansın. x f = {15, 20, 25, 30, 35, 40}. x f R 6 olması nedeniyle 25 ve 30 ortanca değerlerdir. Eşik noktası t f = 25+30 = 27.5. 2 Bu nitelik değerleri x f = { 27.5, 27.5, 27.5, > 27.5, > 27.5, > 27.5}

Karar Ağacı Algoritmaları III CART (Classification And Regression Trees) C4.5 algoritmasına oldukça benzer. Sayısal değerlerin eşik değerleri için bilgi kazanım değerinin en yüksek olduğu değer seçilir. scikit-learn kütüphanesi CART kullanmaktadır. Sayısal değerlerin ayrıştırılabilmesi için en yüksek kazanç noktasını bulmaktadır.

Python Python class sklearn.tree.decisiontreeclassifier( criterion= gini, splitter= best, max_depth=none, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features=none, random_state=none, max_leaf_nodes=none, min_impurity_decrease=0.0, min_impurity_split=none, class_weight=none, presort=false)

Lab Lab - 1

İçindekiler 1 Karar Ağaçları Giriş Tek Değişkenli Ağaçlar Sınıflandırma Ağaçları Karar Ağacı Algoritmaları Python 2 Giriş nin Amacı K-Ortalamalar K-Means İçin Silhouette Analizi Hierarchical clustering DBSCAN Model Değerlendirme

Giriş Bir veri kümesi içerisinde yer alan benzer nesnelerin aynı gruplarda yer alacak şekilde ayrıştırılmasıdır. Birçok gerçek dünya veri kümesinde örneklem tek bir öbek yerine bir kaç farklı öbekten gelebilmektedir. 100 80 60 40 20 0 0 1 2 3 4 5 6 7 8 9 10

nin Amacı Amaç Bir veri kümesi içerisinde yer alan benzer nesnelerin aynı gruplarda yer alacak şekilde ayrıştırılmasıdır. Örnekler: Bir hastalığa neden olan genlerin gruplanması Benzer ilgileri olan kişilerin gruplanması Table: User-Item Matrix Film 1 Film 1 Film n user 1 10 1 8 user 2 3 9 2 user n 10 1 8

nin Uygulama Alanları Uygulama Alanları Veri kümesinde genel karakteristiğini anlamak Veriyi görselleştirmek Örnekler Sosyal ağlarda toplulukların bulunması

Centroids ve Medoids Centroid Kümedeki noktaların ortalaması. µ = 1 x (4) C x C Medoid Centroide en yakın nokta m = arg mind(x, µ) (5) x C 3 2 1 0 1 2 3 3 2 1 0 1 2 3

K-Ortalamalar K-means clustering K-Ortalamalar Her bir küme içinde varyansı düşürmek Parametre: kümesi sayısı k Var(C) = 1 C x µ c 2 Yüksek sayıda örnek içeren veri kümeleri için uygun bir yöntemdir. Algoritma 4 adımdan oluşmaktadır. Rassal k adet centroid belirle Veri kümesinde yer alan her bir örneğe en yakın centroide göre küme etiketi ata Kümeler için de ortalama yöntemi ile yeni centroidleri hesapla centroidlerde belirli bir eşik değerininden daha az değişim oluncaya kadar yukarıda yer alan adımları tekrarla. x C

Lab Lab - 2

K-Means İçin Silhouette Analizi I Silhouette Analizi Oluşturulan kümelerde yer alan verilerin tutarlığını ölçmek için kullanılan bir yöntemdir. a(i) : i noktası ile aynı kümede yer alan noktalar arasında bulunan uzaklığın ortalaması a(i) ne kadar küçük ise doğru bir küme ataması yapıldığı anlamındadır. b(i): i nin üye olmadığı diğer kümelerde yer alan noktalara olan uzaklığın en az değeri. En yakın komşuya olan ortalama uzaklık. Silhouette: b(i) a(i) s(i) = max{a(i), b(i)} 1 a(i)/b(i) if a(i) < b(i) s(i) = 0 if a(i) = b(i) b(i)/a(i) 1 if a(i) > b(i) 1 s(i) 1 (6)

K-Means İçin Silhouette Analizi II Silhouette s(i) ifadesi a(i) b(i) için 1 e yaklaşır. a(i) ifadesi küme içinde uzaklık olması nedeniyle, değerin düşük olması doğru bir kümede olduğu anlamına gelir. b(i) büyük olması en yakın kümeye uzak olduğunu dolayısıyla doğru kümede olduğu anlamına gelir. Ortalama s(i) ise bir kümede yer alan bütün örnekleri s(i) değerlerinin ortalamasıdır.

Lab Lab - 3

Hierarchical clustering I Hierarchical clustering 1 Kümeleri bir araya getirerek ya da birbiri ile ayırarak oluşturan genel bir kümeleme algoritması ailesidir. Bu kümeler hiyerarşisi bir ağaç (veya dendrogram) olarak temsil edilir. Ağacın kökü (root), tüm örnekleri toplayan tekil kümedir (unique cluster), yapraklar sadece bir örnekle kümedir.

Hierarchical clustering II

Hierarchical clustering III

Hierarchical clustering IV

Hierarchical clustering V

Hierarchical clustering VI Single Linkage İki küme arasındaki uzaklık, kümeler içinde yer alan örnekler arasında bulunan en kısa uzaklıktır. d(r, s) = min(d(x r, x s)) x r r,x s s

Hierarchical clustering VII Complete Linkage İki küme arasındaki uzaklık, kümeler içinde yer alan örnekler arasında bulunan en uzun uzaklıktır. d(r, s) = max(d(x r, x s)) x r r,x s s

Hierarchical clustering VIII Average Linkage İki küme arasındaki uzaklık, kümeler içinde yer alan örnekler arasında bulunan en uzun uzaklıktır. d(r, s) = 1 d(x ri, x si ) r s x ri r x si s 1 http://www.econ.upf.edu/ michael/stanford/maeb7.pdf

Lab Lab - 4

DBSCAN I Density-based spatial clustering of applications with noise Convex Set Euclid uzayında yer alan bir nesne convex olabilmesi için bütün noktalarının doğrusal bir çizgi ile birleşebilmelidir. K-means, hierarchical clustering: convex veya küre biçimli kümeler oluşturmaktadır. Hataya neden olabilir.

DBSCAN II Density-based spatial clustering of applications with noise Algoritma İki parametre: ɛ: epsilon ve minimum points ( MinPts ) ɛ-neighborhood bir nesneden ɛ uzaklığında yer alan nesneler. N ɛ(p) = {q d(p, q) ɛ} Yüksek yoğunluk (high density): bir nesnenin ɛ-komşuluğunda yer alan nesnelerin sayısı en az MinPts olması

DBSCAN III Density-based spatial clustering of applications with noise ɛ ve MinPts verildiğinde nesneler 3 gruba ayrılırlar. Core point: ɛ içinde MinPts den daha fazla nesne içeren noktalar. Küme içinde yer alan noktalar Border point: MinPts den daha az nokta içeren fakat bir core point e komşu. Noise point: Core point veya border point olmayan noktalar Python class sklearn.cluster.dbscan(eps=0.5, min_samples=5,metric= euclidean,metric_params=none, algorithm= auto,leaf_size=30, p=none, n_jobs=1)

Model Değerlendirme I Homogenity C: class set, K : cluster set h = 1 H(C K ) H(C) (7) Python: sklearn.metrics.homogeneity score Her bir küme içinde yer alan sınıf dağılımı aynı ise H(C K ) = 0 h = [0, 1]. 1 e yaklaştıkca doğru kümelenmiştir. Completeness h = 1 H(K C) H(K ) (8) Python: sklearn.metrics.completeness score h = [0, 1]. 1 e yaklaştıkca doğru kümelenmiştir.