Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan...

47
Makine ¨ grenmesi ontemler Danıs ¸manlı ¨ grenme (Supervised learning) Danıs ¸mansız ¨ grenme (Unsupervised Learning) Regresyon Hafta 01 - Giris ¸ BGM 565 - Siber G ¨ uvenlik ic ¸ in Makine ¨ grenme Y ¨ ontemleri Bilgi G ¨ uvenli ˘ gi M ¨ uhendisli ˘ gi uksek Lisans Programı Dr. Ferhat ¨ Ozg ¨ ur C ¸ atak [email protected] ˙ Istanbul S ¸ ehir ¨ Universitesi 2018 - Bahar Dr. Ferhat ¨ Ozg ¨ ur C ¸ atak [email protected] Hafta 01 - Giris ¸

Transcript of Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan...

Page 1: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Hafta 01 - GirisBGM 565 - Siber Guvenlik icin Makine Ogrenme Yontemleri

Bilgi Guvenligi MuhendisligiYuksek Lisans Programı

Dr. Ferhat Ozgur [email protected]

Istanbul Sehir Universitesi2018 - Bahar

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 2: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Icindekiler

1 Makine OgrenmesiMakine Ogrenme UygulamalarıMakine OgrenmesininGelecegiDers Hakkında BilgilerUygulama Alanları

2 YontemlerTanımFormal ModelMakine OgrenmeProblemlerinin Sınıflandırılması

3 Danısmanlı ogrenme (Supervisedlearning)

Sınıflandırma

RegresyonSıralama (Ranking)

4 Danısmansız Ogrenme(Unsupervised Learning)

GirisKumelemeBoyut Azaltımı

5 RegresyonTek Degiskenli DogrusalRegresyonMaliyet fonksiyonu (Costfunction)Gradient DescentDogrusal Regresyon - Python

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 3: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Icindekiler

1 Makine OgrenmesiMakine Ogrenme UygulamalarıMakine OgrenmesininGelecegiDers Hakkında BilgilerUygulama Alanları

2 YontemlerTanımFormal ModelMakine OgrenmeProblemlerinin Sınıflandırılması

3 Danısmanlı ogrenme (Supervisedlearning)

Sınıflandırma

RegresyonSıralama (Ranking)

4 Danısmansız Ogrenme(Unsupervised Learning)

GirisKumelemeBoyut Azaltımı

5 RegresyonTek Degiskenli DogrusalRegresyonMaliyet fonksiyonu (Costfunction)Gradient DescentDogrusal Regresyon - Python

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 4: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Makine Ogrenme Uygulamaları

Sekil: Self-driving carsSekil: Oneri Sistemleri

Sekil: Facebook face recognition

Sekil: human-brain-project

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 5: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Makine Ogrenmesinin Gelecegi

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 6: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Ders

NotlandırmaI Derse katılım : %10I Odevler : %30I Proje : %25I Final : %35

KaynaklarI Applications of Data Mining in Computer

Security Daniel Barbara and Sushil JajodiaI Machine Learning and Data Mining for

Computer Security Marcus A. Maloof

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 7: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Araclar I

Python 3.5 (Oneri: 64-Bit)I Kutuphaneler

I scikit-learn (makine ogrenmesi)I keras (derin ogrenme)I tensorflow (derin ogrenme)I pandas (veri manipulasyonu)I matplotlib (veri goresellestirme)

I Gelistirme OrtamıI Spyder (Onerilen - MATLAB benzeri ortam)I Pycharm (Alternatif)

Python kutuphane kurulumu

pip install -U kutuphane adi

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 8: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Araclar II

Lab OrtamıI Jupyter: komut satırında jupyter notebook

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 9: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Makine Ogrenmesi I

Genel Tanım

I Tanım: Ogrenme modelini, ornek verilerden otomatik olarak cıkarmanınve genellestirmenin hesaplama surecidir.

I Ogrenme modelleri, veri ve nedensellikler arasındaki bagımlılıkları vegirdi ile cıktı arasındaki korelasyonları tanımlamak icin istatistikselfonksiyonları veya kuralları kullanmaktadır.

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 10: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Makine Ogrenmesi II

Neden Ogrenme?

I Ornek bir veri kumesi kullanarak bilgisayarları bir performans kriterinioptimize etmek icin programlamak.

I Makine ogrenimi her olay icin gerekli degildir.I Bordro hesabı

I Ogrenme ornekleriI Insan deneyiminin olmadıgı durumlar (Bio-enformatik)I Insan deneyiminin tam olarak acıklanamadıgı durumlar (Ses tanıma,

goruntu tanıma)I Cozumun zaman icinde degismesi (saldırı turleri)

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 11: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Makine Ogrenmesi III

Makine Ogrenmesine Ne Zaman Gerek Var?I Programlamak icin karmasık gorevler:

I Canlılar tarafından yapılan gorevlerI araba kullanmakI ses tanımaI resim tanıma

I Insan yeteneklerinin otesinde gorevler (Buyuk veri)I Astronomi verileriI DNA analizleriI Arama motorları

I Uyarlanabilirlik (Adaptivity)I Programlar yazıldıktan sonra degistirilemezlerI Istenmeyen e-posta algılama programları

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 12: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Ornek Model

Ornek Model

I Ogrenme: orneklerden (veri) genel modellerin cıkarılmasıI Veri: erisimi kolay ve etrafımızda doluI Bilgi: Pahalı ve sınırlı

I Ornek:I Musteri alısveris hareketlerinden (transactions) musteri davranısının

bulunmasıI ”Da Vinci Sifresi”’ni satın alanlar ”Kayıp Sembol”’de satın aldı.

I Hedef: Veriden anlamlı tahminler yapan modeller olusturmak.

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 13: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Uygulama Alanları

Uygulama AlanlarıI Perakende: Sepet analizi, musteri iliskileri yonetimiI Finans: kredi skorları, sahtekarlık tespiti (fraud)I Uretim: Optimizasyon, kontrolI Haberlesme: spam filtreleri, saldırı tespiti,I Bilim: yuksek boyutlu fizik verilerinin analiz edilmesi, biyolojiI Web: Arama motorları

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 14: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Icindekiler

1 Makine OgrenmesiMakine Ogrenme UygulamalarıMakine OgrenmesininGelecegiDers Hakkında BilgilerUygulama Alanları

2 YontemlerTanımFormal ModelMakine OgrenmeProblemlerinin Sınıflandırılması

3 Danısmanlı ogrenme (Supervisedlearning)

Sınıflandırma

RegresyonSıralama (Ranking)

4 Danısmansız Ogrenme(Unsupervised Learning)

GirisKumelemeBoyut Azaltımı

5 RegresyonTek Degiskenli DogrusalRegresyonMaliyet fonksiyonu (Costfunction)Gradient DescentDogrusal Regresyon - Python

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 15: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Tanım I

Makine OgrenmesiI Paradigma degisikligiI Klasik yontem (Klasik Programlama): Kurallar + Veri⇒ CevaplarI Makine Ogrenmesi: Veri + Cevaplar⇒ KurallarI Bir makine ogrenme sistemi programlanmaz, egitilir.

Makine Ogrenmesi - TeoriI Gozlem veri kumesi : XI Parametreler : θI Ogrenme modeli: fθ : X → YI Ogrenme hatası: E(fθ(X ),Y)

I Makine ogrenme algoritmaları hatayı minimize etmeye calısırlar.I Tahmin edilen cıktı, fθ(X ), ile gozlemlenen veri kumesi X arasında bulunan

fark.

I θ degistirilerek E(fθ(X ),Y) minimize edilmeye calısılır.

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 16: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Tanım II

NotasyonI Sayısal degerler (scalar) kucuk harf: x , λ, η, ornek x = 3.14I vektorler kalın harf: x, ornek x = [1.2, 2.4, · · · 0.2]I Bir vektorun i . elemanı: x(i)

I Girdi veri kumesi : X ∈ Rm×n ⇒ m adet satır (ornek) ve n boyutlu uzay(nitelik sayısı, kolon sayısı)

I k boyutlu sınıf etiket kumesi: C = {C1, · · ·Ck}I C : Ag saldırıları: {DDoS, SQL Injection, XSS v.b.}I C : Zararlı Yazılım: {Trojan, Backdoor, Virus, Botnet v.b.}

I Girdi ornekleri ve hedef etiket ciftleri:X = {(xi , yi)|x ∈ Rm×n, y ∈ {C1, · · ·Ck}}n

i=1

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 17: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Formal Model IIstatiksel Ogrenme Teorisi

I Ogrenmenin girdileriI Alan kumesi (Domain set): Etiketlenmek istenen veri kumesi, X . Zararlı

yazılım ogrenme problemi. Nitelikler (DNS, API). Diger isimlendirmeler:ornekler, ornek uzayı

I Etiket kumesi (Label set): iki elemanlı kume, genellikle {0, 1} veya{−1,+1}. Y olabilecek etiketler kumesini gostersin. Zararlı yazılım analiziicin Y ∈ {0, 1}. 0: Normal, 1: zararlı yazılım

I Egitim verisi (Training data): S = ((x1, y1), · · · (xm, ym)). Sonlu bir dizi ciftX × Y. Diger adlandırmalar: Egitim veri kumesi, training set

I Ogrenmenin cıktıları: Tahmin kuralı uretmesi istenir h : X → Y.Hipotez, sınıflandırıcı, model. Tahmin: h(x)→ y . Gercek sınıflandırıcıf : X → Y, f (x)→ y . y : tahmin edilen sınıf (zararlı yazılım veya degil),y : gercek sınıf

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 18: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Formal Model IIIstatiksel Ogrenme Teorisi

I Basarı olcutleri: Sınıflandırıcı hatası, D’den (Egitim veri kumesi)rastgele secilen bir ornegin x kullanılarak h(x) 6= f (x) ifadesininolasılıgıdır.

LD,f (h) = Px∼D

[h(x) 6= f (x)]

LD,f (h) genellestirme hatası (generalization error), risk, h’ın gercekhatasıI Deneysel risk minimizasyonu: f bilinmememsi sebebiyle gercek hatanın

hesaplanması imkansız. Bunun yerine egitim hatası hesaplanabilir.

LD(h) =|{i ∈ [m] : h(xi ) 6= yi}|

m

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 19: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Makine Ogrenme Problemlerinin Sınıflandırılması

Ogrenme Tipleri

I Iliskilendirme kuralları (Association rule learning): degiskenlerarasında iliskinin ogrenilmesi

I Danısmanlı ogrenme (Supervised learning): Degiskenlerden cıktıtahminiI Sınıflandırma (Classification)I Regresyon (Regression)I Sıralama (Ranking)I Sıralı kategoriler (Puanlar)

I Danısmansız ogrenme (Unsupervised learning): Veri uzerindebulunan desenin cıkarılmasıI Kumeleme (Clustering)I Boyut azaltma (Dimensionality reduction)

I Yarı danısmanlı ogrenme (Semi-supervised learning): Buyukmiktarda etiketlenmemis veriyle etiketlenmis kucuk bir miktarda veri

I Guclendirme ogrenimi (Reinforcement learning): Kumulatif odulu enust duzeye cıkarma

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 20: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Icindekiler

1 Makine OgrenmesiMakine Ogrenme UygulamalarıMakine OgrenmesininGelecegiDers Hakkında BilgilerUygulama Alanları

2 YontemlerTanımFormal ModelMakine OgrenmeProblemlerinin Sınıflandırılması

3 Danısmanlı ogrenme (Supervisedlearning)

Sınıflandırma

RegresyonSıralama (Ranking)

4 Danısmansız Ogrenme(Unsupervised Learning)

GirisKumelemeBoyut Azaltımı

5 RegresyonTek Degiskenli DogrusalRegresyonMaliyet fonksiyonu (Costfunction)Gradient DescentDogrusal Regresyon - Python

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 21: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Sınıflandırma (Classification) I

Ornek: DDoS Saldırısı

Normal

DDoS

1 2 3 4 5

1

2

3

4

5

θ1(SYNPaketleri)

θ 2(P

aylo

adbu

yukl

ugu)

I Bir sunucuya olan baglantılarınDDoS saldırı riski kararı icinSYN paket sayısı ve Payloadbuyuklugune bakılması

I θ1 : SYN Paket sayısıI θ2 : Payload buyuklugu

i f SYN > 25 and payload > 25:p r i n t ( ”DDoS a t tack ” )

e lse :p r i n t ( ” Normal t r a f f i c ” )

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 22: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Sınıflandırma (Classification) II

Uygulama AlanlarıI Yuz tanıma (Face recognition): Isık, acı, gozluk, makyaj ve sac

stilinden bagımsız olarak algılamaI Karakter tanıma: Farklı el yazısı tarzından bagımsızI Ses tanıma (Speech recognition): farklı ortamlarda seslerin tanınmasıI Hastalık Teshisi: semptomlardan hastalık tespit edilmesiI Biometrik: Kisinin fiziksel veya davranıs karakteristiklerinden tanıma:

yuz, iris, imza gibi bilgilerden

Danısmanlı Ogrenme Ornekleri

Bir kurumda siber guvenlik alanında calıstıgınızı kabul edin. Sizden birproblem icin cesitli algoritmalar kullanarak model olusturulması istensin.I Problem 1: Kullanılan kimlik dogrulama sistemi uzerinde bulunan her bir

hesap icin normal/ele gecirilmis (compromised) olarak karar vermekistiyorsunuz.I Sınıflandırma Problemi

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 23: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Regresyon (Regression) I

Ornek: Bir ag icerisinde toplam paket sayısının Istemcisayısıyla degisimi

I x : istemci sayısıI y : paket sayısıI y = wx + bI y = hθ(x)

I h: modelI θ: parametrelerI θ = (w , b)

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 24: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Regresyon (Regression) II

Uygulama AlanlarıI Bilgisayar sayısının ag trafigine etkisiI Urun fiyatlarının satıs uzerine etkisiI Bir hastalıgın baslangıc yasıI Bir robot kolunun kinematigi

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 25: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Sıralama (Ranking) I

Sıralama (Ranking)I X ogelerinin belirli bir listesini sıralayan bir fonksiyon bulunmasıI Cift yonlu yaklasım

I Sınıflandırma problemi olarak: {x1, x2} dogru sekilde sıralı mı?I Noktasal yaklasım

I Regresyon problemi olarak: h(x)oyle ki x1 < x2 ⇔ f (x1) < f (x2)

I Liste bazında yaklasımI En iyi liste secimi.

Kullanım alanları

I Oneri sistemleriI Kullanıcıların bereaber aldıkları urunlerI Kullanıcılara video onerileri (Youtube)

I Bilgi cıkarımıI DokumanI Arama motorları

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 26: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Icindekiler

1 Makine OgrenmesiMakine Ogrenme UygulamalarıMakine OgrenmesininGelecegiDers Hakkında BilgilerUygulama Alanları

2 YontemlerTanımFormal ModelMakine OgrenmeProblemlerinin Sınıflandırılması

3 Danısmanlı ogrenme (Supervisedlearning)

Sınıflandırma

RegresyonSıralama (Ranking)

4 Danısmansız Ogrenme(Unsupervised Learning)

GirisKumelemeBoyut Azaltımı

5 RegresyonTek Degiskenli DogrusalRegresyonMaliyet fonksiyonu (Costfunction)Gradient DescentDogrusal Regresyon - Python

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 27: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Danısmansız Ogrenme (Unsupervised Learning) I

I Egitim veri kumesinin cıktı etiketleri mevcut degilI Yogunluk tahmini (Density estimation): Verideki yapının bulunmasıI Kumeleme (Clustering)I Boyut azaltma (Dimensionality reduction)

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 28: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Kumeleme (Clustering) I

KumelemeI Amac: Nesneleri kumelere gruplamak.I Aynı kume icerisinde yer alan nesneler, diger kumelerde yer alan

nesnelere gore daha benzer olacaklardır.

−2.0 −1.5 −1.0 −0.5 0.0 0.5 1.0 1.5 2.0−2.0

−1.5

−1.0

−0.5

0.0

0.5

1.0

1.5

2.0

−4 −3 −2 −1 0 1 2 3 4−3

−2

−1

0

1

2

3

4

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 29: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Kumeleme (Clustering) II

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 30: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Kumeleme (Clustering) III

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 31: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Kumeleme (Clustering) IV

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 32: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Boyut Azaltma (Dimensionality Reduction) I

Boyut AzaltımıI Amac: Girdi veri kumesinde yer alan degisken sayısının azaltılmasıI Nitelik secimi (Feature selection)

I Sadece iliskili niteliklerin secilmesiI Nitelik cıkarımı (Feature extraction):

I Veri kumesini daha az boyuta sahip bir uzaya cevirilmesiI Saklama alanı ve hesaplama zamanının azaltılmasıI Dogrusallıkların kaldırılmasıI Gorsellestirme (2 veya 3 boyutla)I Yorumlanabilir hale getirme

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 33: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Icindekiler

1 Makine OgrenmesiMakine Ogrenme UygulamalarıMakine OgrenmesininGelecegiDers Hakkında BilgilerUygulama Alanları

2 YontemlerTanımFormal ModelMakine OgrenmeProblemlerinin Sınıflandırılması

3 Danısmanlı ogrenme (Supervisedlearning)

Sınıflandırma

RegresyonSıralama (Ranking)

4 Danısmansız Ogrenme(Unsupervised Learning)

GirisKumelemeBoyut Azaltımı

5 RegresyonTek Degiskenli DogrusalRegresyonMaliyet fonksiyonu (Costfunction)Gradient DescentDogrusal Regresyon - Python

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 34: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Tek Degiskenli Dogrusal Regresyon ILinear regression with one variable

Danısmanlı ogrenme(Supervised learning)

Regresyon Problemi:

I Surekli degerler

I Sınıflandırma: Discrete-value

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 35: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Tek Degiskenli Dogrusal Regresyon IILinear regression with one variable

Istemci sayısı (x) Paket sayısı (y)80 10085 100110 130· · · · · ·

Notasyon: X ∈ Rm×n

m: ornek sayısı (satır sayısı)x : girdi degiskeni/niteliklery : cıktı/hedef degisken(

x(i), y i)

: i . egitim girdisi

Egitimkumesi

Algoritma

h (hipotez)IstemciSayisi

Paket sayısıtahmini

hipotez h gosterilim: h(x) = w0+w1x

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 36: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Maliyet fonksiyonu ICost function

Istemci sayisi (x) Paket sayisi (y)80 10085 100110 130· · · · · ·

I Hipotez: hw = w0 + w1xI wi : parametrelerI wi nasıl secilecek?I Hata: ε = y − h(x)

−1 −0.5 0.5 1 1.5 2

−1

1

2

Sekil: h = 1.5 + 0x

−1 −0.5 0.5 1 1.5 2

−1

1

2

Sekil: h = 0 + 0.5x

−1 −0.5 0.5 1 1.5 2

−1

1

2

Sekil: h = 1 + 0.5x

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 37: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Maliyet fonksiyonu IICost function

−1 −0.5 0.5 1 1.5 2

−1

1

2

Cozum: w0 ve w1 degerlerininsecimiyle (x , y) egitimorneklerinin h(x) degerininy ’ye yakın olması.

minimizew0,w1

=1

2m

m∑i=1

(h(x (i))− y (i)

)2

C(w0,w1) =1

2m

m∑i=1

(h(x (i))− y (i)

)2

minimizew0,w1

C(w0,w1)

(1)

C(w0,w1): Maliyet fonksiyonu (Cost function)

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 38: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Maliyet fonksiyonu IIICost function

h(x) = 0 + x

−1 −0.5 0.5 1 1.5 2

−1

1

2

C(w0,w1) =1

2m

m∑i=1

(h(x (i))− y (i)

)2

=1

2m

(02 + 02 + · · ·+ 02

)= 02

(2)

C(w0,w1)

−2 −1 1 2 3

−2

−1

1

2

w1

C

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 39: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Maliyet fonksiyonu IVCost function

h(x) = 0 + 0.5x

−1 −0.5 0.5 1 1.5 2

−1

1

2

C(w0,w1) =1

2m

m∑i=1

(h(x (i))− y (i)

)2

=1

2× 6

((0.25− 0.5)2 + (0.5− 1)2 + (1− 2)2 + · · ·+ (1.5− 3)2

)= 0.25

(3)

C(w0,w1)

−2 −1 1 2 3

−2

−1

1

2

w1

C

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 40: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Maliyet fonksiyonu VCost function

h(x) = 0 + x

−1 −0.5 0.5 1 1.5 2

−1

1

2

C(w0,w1) =1

2m

m∑i=1

(h(x (i))− y (i)

)2

=1

2× 6

((0.25− 0.5)2 + (0.5− 1)2 + (1− 2)2 + · · ·+ (1.5− 3)2

)= 0.25

(4)

C(w0,w1)

−2 −1 1 2 3

−2

−1

1

2

w1

C

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 41: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Gradient Descent I

Gradient Descent

Fonksiyon: C(w0,w1) veya C(w) = C(w0,w1, · · ·wn)Amac: min

w0,w1C(w0,w1)

Ozet:I w0,w1 icin herhangi bir degerler baslayın (Ornek: w0 = 0,w1 = 0)I w0,w1 degerlerini degistirerek, C(w0,w1) maliyet fonksiyon degerini

minimize etmeye calısın.I C(w0,w1)’un minimum degerini bulun.

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 42: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Gradient Descent II

00.5 1

1.5 2 0

0.5

10

0.5

1

w0

w1

C(w

0,w

1)

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 43: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Gradient Descent III

Gradient descent algoritması herhangi bir degerle baslayıp, w degerlerindeher bir iterasyonda guncellemeler yapar.

deger yakınsaya kadar {wj = wj − α ∂

∂wjC(wj)

}

α : Learning rate∂∂wj

C(wj)

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 44: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Gradient Descent IV

w1 = w1 − α∂

∂w1C(w1)

Kucuk α degeri

−2 −1 1 2 3

−2

−1

1

2

Buyuk α degeri

−2 −1 1 2 3

−2

−1

1

2

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 45: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Gradient Descent V

∂wjC(w0,w1) =

∂wj

12m

m∑i=1

(h(x (i))− y (i)

)2

=∂

∂wj

12m

m∑i=1

(w0 + w1x (i) − y (i)

)2

j = 0⇒ ∂

∂w0C(w0,w1) =

1m

m∑i=1

(h(x (i))− y (i)

)j = 1⇒ ∂

∂w1C(w0,w1) =

1m

m∑i=1

(h(x (i))− y (i)

)x (i)

(5)

Hatırlatma

(f · g)′ = f ′g + g′f

deger yakınsaya kadar {w0 = w0 − α 1

m

∑mi=1

(h(x (i))− y (i)

)w1 = w1 − α 1

m

∑mi=1

(h(x (i))− y (i)

)· x (i)

}

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 46: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Dogrusal Regresyon - Python I

import pandas as pdimport matplotlib.pyplot as plt

# veri kumesini okuverikumesi = pd.read_csv("ds1.txt",delimiter="\t")

X = verikumesi.iloc[:,:-1].valuesy = verikumesi.iloc[:,1].values

# veri kumesini egitim ve test olarak parcalafrom sklearn.cross_validation import train_test_splitX_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=0)

# dogrusal regresyon modelifrom sklearn.linear_model import LinearRegressionregressor = LinearRegression()regressor.fit(X_train, y_train)

# tahminy_pred = regressor.predict(X_test)

# veri gorsellestirmeplt.scatter(X_train, y_train, color=’red’)plt.plot(X_test, y_pred, color=’blue’)plt.show()

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris

Page 47: Hafta 01 - Giris - BGM 565 - Siber Güvenlik için Makine Ögrenme … · 2020. 7. 17. · I Alan kumesi¨ (Domain set): Etiketlenmek istenen veri kumesi,¨ X. Zararlı yazılım

Makine Ogrenmesi Yontemler Danısmanlı ogrenme (Supervised learning) Danısmansız Ogrenme (Unsupervised Learning) Regresyon

Dogrusal Regresyon - Python II

Dr. Ferhat Ozgur Catak [email protected] Hafta 01 - Giris