Professional Documents
Culture Documents
Uzman Si̇stemlere Gi̇ri̇s2
Uzman Si̇stemlere Gi̇ri̇s2
SERAL ÖZŞEN
KONYA-2015
9.10.2017 1
KONULAR
1. Yapay Zeka Kavramına giriş, tarihçe ve gelişimi
2. Kural-tabanlı sistemler
3. Bulanık uzman sistemler
4. Sınıflama, öğrenme ve kümeleme kavramları
5. Yapay Sinir Ağları
6. Evrimsel hesaplama
9.10.2017 2
1. Yapay Zeka Kavramına Giriş,
tarihçe ve gelişimi
Zeka:
- Birinin bir şeyi anlama ve öğrenme yeteneği
Yapay Zeka:
-İnsan zekası gerektiren problemlerin çözümünü
makinelerin yapabilmesi
Alan Turing (kariyer:1930, Enigma)
Makineler zeka testini geçebilir mi?: Turing testi
9.10.2017 3
9.10.2017 4
1. Yapay Zekanın «KARANLIK» zamanları (1943-56)
Warren McCulloch (Felsefe ve Tıp)
Yapay Nöron modeli
(on- off)veWalter Pitts (matematikçi):
9.10.2017 5
John von Neumann (Turing
arkadaşı-matematikçi)
-nükleer bomba projesi
-EDVAC (Electronic Discrete Variable
Aotomatic Computer) proje danışmanı (ilk
kayıtlı program içeren makinelerden)
9.10.2017 6
2. Yapay Zeka Beklentileri (1956- 1960’ların sonu)
John McCarthy (Dartmouth workshop katılımcısı):
-LISP
-Advice Taker (1958): ilk bilgi tabanlı sistem
Frank Rosenblatt (1962): Perceptron
yakınsama teoremi
Lotfi Zadeh (1965): Fuzzy sets
…..
Genel Problem çözücüler, zayıf metodlar.
9.10.2017 7
3. Gerçekleşmeyen hayaller, gerçeğin
etkisi (1960 sonları- 1970’lerin başları )
Dezavantajlar:
Genel metodlar tanımlandı
Çözülmeye çalışılan problemler çok
geniş bir alanda ve çok zordu
İngiliz hükümeti maddi desteği azalttı
9.10.2017 8
4. Teknoloji gelişimi- başarının anahtarı (1970 başları-
1980’lerin ortaları )
İşlem yapabilecek hızlı programlara ihtiyaç vardı
DENDRAL(1963): kimyasal analizi (NASA): kütle
spectrogram’ımın belirlenmesi- uzman deneyimi , ilk
başarılı bilgi-tabanlı sistem (knowledge-based system), bilgi
mühendisliği temeli
MYCIN (1976): tıbbi teşhis sistemi (enfeksiyonlu kan hastalıkları
teşhisi), kural tabanlı uzman sistem
PROSPECTOR (1983): mineral araştırma. Kural tabanlı sistem +
anlamlı ağ yapısı (semantic network)
Kısıtlı algoritmalar, problem-tabanlı, performansları çok iyi
değil, oluşturulmaları çok uzun yıllar almış, ..vs
9.10.2017 9
5. Sinir Ağlarının Yeniden Doğuşu (1980
ortaları ve sonrası)
YSA’nın oluşması için teorik altyapı:
1960’ların sonları- YSA gelişimi: 1980 ortaları
(teknoloji!!!!!, 1969’da Minsky ve Papert tek
katmanlı perceptronların matematiksel
zayıflığını gösterdi- heves kalmadı)
Grossberg, 1980: adaptif rezonans teorisi
(Self-organized-maps için alt yapı)
Hopfield, 1982: Hopfield ağları
Kohonen, 1982: Self-organized-maps
Barto, Sutton ve Anderson, 1983:
takviyeli öğrenme- kontrol
Rumelhart ve McClelland, 1986: GERİ
YAYILIMLI ÖĞRENME ve çok katmanlı
perseptronlar (Bryson ve Ho, 1969)
Broomhead ve Lowe, 1988: layered
feedforward networks with radial
basis functions
9.10.2017 10
6. Evrimsel Hesaplama, ya da yaparak
öğrenme (1970’lerin başları ve sonrası)
Doğal seleksiyon ve genetik
Genetik algoritmalar, evrimsel stratejiler ve
genetik programlama
John Holland, 1975: genetik algoritma kavramı:
kromozomların binary kodlanması, seçme,
çaprazlama ve mutasyon
…. ve diğerleri
9.10.2017 11
7. Bilgi Mühendisliği (1980 sonları-günümüz)
YSA: symbolic reasoning sistemlerine göre daha iyi
9.10.2017 12
2. Kural-Tabanlı Sistemler
Trafik lambası,
EĞER kırmızı İSE bekle.
IF traffic light is red THEN wait.
(IF-THEN yapısı, KURAL).
IF: koşul
THEN: durum ya da aksiyon
Kurallar ile ilişkiler (EĞER Yakıt deposu boş
ise araba ölüdür), tavsiyeler (EĞER hava
bulutlu ise şemsiye al), direktifler (EĞER
yakıt deposu boş ise DOLDUR), stratejiler
(EĞER araba çalışmıyor ise yakıt deposunu
kontrol et ), sezgiler (EĞER numune sıvı,
ph>6 ve sirke gibi kokuyorsa numune asetik
asit olabilir) anlatılabilir.
9.10.2017 13
Uzman Sistem Bileşenleri
9.10.2017 14
Kural-tabanlı uzman sistem yapısı
If-then kurallarından
hangilerinin alınacağını
belirler, çıkarım yapılır
9.10.2017 15
Uzman sistemin temel karakteristikleri
Yüksek-kaliteli performans (hız ikinci planda ama çok
önemli)temel kurallar, sezgisel kurallarAçıklayıcılık
Sembolik çıkarımsama
Belirli bir işlem sırası yok, tam olmayan çıkarımsama
yapılır,tam olmayan, belirsiz ve bulanık varilerle uğraşılır.
Uzman hata yapabilir
Geleneksel programlar & uzman sistemler ???
-tam veriler, kesin ve doğru sonuçlar
-uzman sistemlerde bilgi ve işlenmesi ayrılmış durumda
(modüler, değiştirilebilir ve anlaşılır yapı)
9.10.2017 16
İleri ve geri zincirleme çıkarım teknikleri
IF-THEN kuralları: domain
Facts: data
Çıkarım makinesi, veritabanındaki gerçekler ile bilgi
tabanındaki her kuralı karşılaştırır. Eşitleme varsa: FİRED
Ateşlenen kurallar
gerçekler setini
yenileyebilir.
Çıkarım zincirleri
(Inference chains):
If kısmı ile
gerçeklerin eşleşmesi
9.10.2017 17
Zincirleme çıkarım teknikleri, örnek:
Veritabanı: A, B, C, D ve E gerçekleri
Bilgi tabanı:
Kural 1: IF Y is true AND D is true
THEN Z is true
Kural 2: IF X is true AND B is true AND E is true
THEN Y is true
Kural 3: IF A is true THEN X
is true
9.10.2017 18
İleri zincirleme: data-driven method
Önceki örnek: ileri zincirleme. Bilinen veriden başlar,
her seferinde en
Kural 1: Y & D → Z yukardaki kural işleme
Kural 2: X & B & E → Y tabi tutulur, her kural
Kural 3: A → X
iki yeni kural ekleyelim: 1 kere işleme alınır
Kural 4: C → L Devam edildiğinde M ve
Kural 5: L & M→ N N de eklenecek
9.10.2017 19
Geri zincirleme: goal-driven method
Hedef (goal) vardır.
Bu hedefe ulaşmak
için diğer kurallar
sorgulanır,
sorgulama esnasında
ara-hedefler (sub-
goals)
oluşturulabilinir.
İleri zincirlemede
aynı sonuç için 4
kural ateşlenirken,
geri zincirlemede 3
kural ateşlendi.
Eğer uzman önce
belli bilgilere ihtiyaç
duyup ona göre yeni
kurallar oluşturacak
ise ileri zincirleme.
Bir hipotez çözüm
üretip onu
ispatlamak için yeni
kural ve gerçeklere
ihtiyaç duyacaksa,
geri zincirleme
kullanılmalıdır.
İleri ve geri
zincirleme kombine
olarak ta
kullanılabilir. Fakat
9.10.2017
20
genellikle geri
zincirleme kullanılır.
Conflict resolution (çatışma
çözümü):
bilinen bir döngüde bir gerçek için
birden fazla kuralın ateşlenebileceği
kurallar içinden bir kuralı seçme
yöntemine denir.
Önleme yöntemleri:
-kuralları öncelik sırasına göre dizme
-en spesifik kuralı seç (spesifik kural
genel olandan daha fazla bilgi içerir)
-veritabanına en son eklenen veriyi
kullanan kuralı seç
9.10.2017 21
Kural sayısı arttığında uzman tüm kuralları görüp yorum
yapamayabilir:
sistemi bilgi hakkındaki bilgi ile donatmalıyız.
Metaknowledge: bilginin bilgisi (knowledge about
knowledge). Ortam bilgisini kullanmak ve kontrol
etmek için gerekli olan bilgi-Metarule. Domain-
independent. Metarule-1:
Uzmandan gelen kurallar, acemiye göre önceliklidir
Metarule-2:
İnsan hayatının kurtarılması ile ilgili kurallar Güç sistemi
elemanlarındaki fazla yükü temizleme ile ilgili
kurallardan daha önceliklidir.
Mearule-3:
Dersi dinlemek ile ilgili kurallar ders metaryli
kurallarına göre önceliklidir.
9.10.2017 22
Kural tabanlı sistemleri avantaj ve
dezavantajları:
Avantajları: Dezavantajları:
Kurallar arasında net
Doğal bilgi gösterimi olmayan ilişkilerin var
Düzenli bir yapı olması. Bireysel kurallar
(IF-THEN yapısı) tüm stratejiyi nasıl etkiliyor?
Bilgi ile bilginin Etkin olmayan arama
işlendiği kısımlar ayrı stratejisi: zaman tasarrufu
ve real-time uygulamalarda
(modüler ve adaptif) eksiklik
Eksik ve kesin Öğrenme eksikliği.
olmayan bilgileri de Deneyimden öğrenmezler:
işleyebilmesi uzman söyler.
9.10.2017 23
3. Bulanık Uzman Sistemler
Uzmn tarafından sağlanan bilgi: «güç transformatörü
hafif bir şekilde yüklendiğinde bu yükü sürekli
tutabilirim». İnsan: anlar. Bilgisayar: ???
Bulanık mantık, bulanık olan bir mantık değildir,
bulanıklığı açıklamak için geliştirilmiş bir mantıktır.
Temeli: Tüm nesne ve olgular derecelere sahiptir
(Motor gerçekten ÇOK ISINDI, elektrikli arabalar ÇOK
HIZLI DEĞİL, İstanbul GÜZEL bir şehir, …vb)
Geleneksel mantık: keskin sınırlar (Elektrikli arabanın
menzili 300 km’den az ise KISA, 300 km’den fazla ise
UZUN )
9.10.2017 24
1930, Jan Lukasiwwicz: Çok değerli mantık. Uzun, eski
ve sıcak kavramları üzerinde keskin mantık yerine çok
değerli mantık kullanmış. Olasılık değerleri (olabilirlik
değerleri) atanmış. Örneğin 181 cm uzunluğundaki
adam: 0.86 değeri atanmış. (Uzun olma olasılığı yüksek)
…..
1965, Lotfi Zadeh: Fuzzy Sets Theory
Neden Bulanık Mantık?
9.10.2017 25
Bulanık Setler:
Set kavramı bir çok elemanı içeren bir grup olarak
kullanılabilir: Araba derken bir çok arabanın
oluşturduğu bir seti ifade ediyoruz. Bir araba
derken de bu set içindeki bir arabadan bahsediyoruz.
X: bir set, x: bir eleman. x ya X’e dahildir (x Є X) ya
da değildir. (belirsiz durumları açıklayamaz)
Örnek: UZUN adam örneği
Klasik mantık: Adam uzun mu? (evet ya da hayır), 180
cm sınırı.
Bulanık mantık: Adam ne kadar uzun? (üyelik bilgisi.
Adam 0.82 üyelikle uzun gibi)
9.10.2017 26
«oldukça kısa», «kısa»,
«ortalama» ve «oldukça
uzun» setleri
Yatay eksen: «universe of
discourse»: seçilen bir
değişkene uygulanabilecek
tüm değerlerin bulundupu
aralık
Dikey eksen: üyelik değeri
9.10.2017 27
Bulanık set: bulanık sınırları olan set
X: universe of discourse (değer evreni), x: elemanlar.
Kesin mantık: A seti, A’nın karakteristik fonksiyonu
ile ifade edilir.
9.10.2017 28
Bilgisayarda Bulanık set nasıl ifade edilir?
Öncelikle üyelik fonksiyonu belirlenmelidir.
(Uzmanlara danışılabilir, son yıllarda: YSA)
Uzun adam örneği:
Üç set: kısa, orta uzun. Bulanık mantık: 184 cm: orta setinin uzun üyesi
(0.1 üyelik değeri ile) fakat uzun setinin de üyesi (0.4 üyelik değeri ile)
-X={x1, x2, x3, x4, x5 } :
referans süper set. (Universe
of discourse)
-A: subset of X
A={x2, x3}
Burada A şu şekilde de
tanımlanabilir:
A={(x1,0), (x2,1), (x3,1), (x4,0),
(x5,0)}. ({(xi, µi(x)} şeklinde
tanımlanmış)
Buradaki soru şudur: µA(x)
sadece 0, 1 şeklinde iki
değerden birini mi alacaktır
yoksa 0-1 aralığında herhangi
bir değer mi alacaktır?
9.10.2017 29
Bulanık subset’lerin gösterimi şu şekilde yapılır:
A={(x1, µA(x1)}, {(x2, µA(x2)},…{(xn, µA(xn)}
Veya (genellikle)
A={(µA(x1)/x1}, {(µA(x2)/x2},…{(µA(xn)/xn}
Üyelik fonksiyonları: sigmaid, gaussian, pi → iyi gösterim fakat hesapsal yük.
Pratikte: Lineer üyelik fonksiyonları (hesapsal kolaylık)
Uzun adam örneğinde «uzun adam» seti bir «fit vektör» ile şu şekilde ifade
edilebilir:
Uzun adam=(0/180, 0.5/185, 1/190) veya
Uzun adam=(0/180, 1/190)
Benzer şekilde:
Kısa adam=(1/160, 0.5/165, 0/170)
Kısa adam=(1/160, 0/170)
Ortalama adam=(0/165, 1/175, 0/185)
9.10.2017 30
Dilsel değerler ve sınırlar
«Ahmet uzun bir adamdır»: Ahmet: dilsel değişken,
uzun: dilsel değer.
Sınırlar (hedges): bulanık setlerin şeklini düzenlerler.
Çok (very), biraz (somewhat), oldukça (quite), daha çok
yada daha az (more, less), hafifçe (slightly) gibi sıfatlar
içerirler. Yüklemleri, sıfatları, zamirleri ve hatta tüm cümleyi
değiştirebilirler.
* çok amaçlı değiştiriciler: çok, oldukça, çok
çok fazla,…gibi
*gerçekle ilişkili olanlar: oldukça doğru,
çoğunlukla yanlış,…gibi
* olasılıklar: olabilir, çok olabilirliği yok,…gibi
*miktar belirteçleri: çoğu, bir kaç, çok az,…gibi
*olabilirlikler: hemen hemen imkansız ve
ya oldukça olası,…gibi
9.10.2017 31
Sınırlar insan düşünmesini
taklit etmeyi kolaylaştırır.
Önceki örnekteki setler
"very" sıfatını kullanarak
yeniden düzenlenmiştir.
Pratik uygulamalarda
Sıkça kullanılan sınırlar
(hedges):
Very:
Extremely:
Very Very:
More ya da Less:
Indeed:
9.10.2017 32
Bulanık Setler Üzerindeki İşlemler:
Complement (tersini alma)
-klasik set teorisi: set’e dahil olmayanlar neler?
-bulanık set teorisi: elemanların set’e dahil olmama
oranları nelerdir?
µ¬A(x)=1-µA(x)
Uzun adam=(0/180, 0.25/182.5, 0.5/185, 0.75/187.5, 1/190)
Uzun olmayan adam=(1/180, 0.75/182.5, 0.5/185,0.25/187.5, 0/190)
Containment (içerme)
-klasik set teorisi: hangi setler hangi diğer setleri içerir? -
bulanık set teorisi:⊂ hangi setler diğer setlere dahildir? (very
tall man tall man)
9.10.2017 33
Intersection (Kesişme)
-klasik set teorisi: hangi elemanlar her iki sete de dahildir?
-bulanık set teorisi: elemanların ne kadarı her iki
sette vardır?
Şişman ve uzun (klasik mantık: kesişimde yer alması
için hem şişman hem de uzun)
A ve B bulanık setleri (X değer evreninde) var.
µA∩B(x)=min[µA(x), µB(x)]= µA(x)∩µB(x)
Örnek:
Uzun adam=(0/165, 0/175, 0/180, 0.25/182.5, 0.5/185,1/190)
Ortalama adam=(0/165, 1/175, 0.5/180,0.25/182.5, 0/185,
0/190) İse
Uzun adam ∩ Ortalama adam= (0/165, 0/175, 0/180, 0.25/182.5, 0/185, 0/190)
9.10.2017 34
Union (Birleşim)
-Klasik set teorisi: herhangi bir sete dahil olan elemanlar hangileridir?
-Bulanık set teorisi: Elemanların ne kadarı herhangi bir
sete dahillerdir?
A ve B bulanık setleri (X değer evreninde)∪ var. µA∪B(x)=max[µA(x),
µB(x)]= µA(x) µB(x) Örnek:
Uzun adam=(0/165, 0/175, 0/180, 0.25/182.5, 0.5/185,1/190)
Ortalama adam=(0/165, 1/175, 0.5/180,0.25/182.5, 0/185, 0/190)
İse ∪
Uzun adam Ortalama adam= (0/165, 1/175, 0.5/180, 0.25/182.5, 0.5/185, 1/190)
-değişme özelliği,
A B= B A
- ∪ ∪
∪ ∪
birleşme özelliği,
A (B C)= (A B) C
-
∪ ∪ ∪
dağılma özelliği,
A (B ∩ C)= (A B)∩(A C)
-
∪
denklik özelliği,
A A=A,
-
∪
birim uzay,
A Ø= A, A∩Ø=Ø
değilleme,
¬¬A=A
-De morgan kuralı:
¬(A ∩ B)=¬A ∪ ¬B
9.10.2017 35
Bulanık Kurallar:
IF x is A
THEN y is B
9.10.2017 36
Bulanık kurallarla sonuç oluşturma: (Fuzzy reasoning)
-koşulu değerlendirme (IF kısmı)
-olguyu gerçekleştirme (THEN kısmı)
Klasik mantık: koşul doğru ise (1) gerçekleştir
Bulanık mantık: koşul belli dereceye kadar doğru ise
gerçekleştir (üyeliği >0.8 ise)
9.10.2017 37
Kural: (Ağırlık tahmin modeli)
IF height is tall
THEN weight is heavy
Bu şekildeki çıkarımsama: monotonic selection
------------------------------------------------------------------
IF kısmı birden fazla parçadan oluşursa:
IF project_duration is long
AND project_staffing is large
AND peoject_funding is inadequate
: tüm parçaların∪ üyeliği ayrı ayrı değerlendirilir ve bulanık set işlemleri gerçekleştirilir (AND: , OR: ∩)
--------------------------------------------------------------------
THEN kısmı birden fazla parçadan oluşursa:THENriskishigh
IF temperature is high
THEN hot_water is reduced; cold water is increased
:tüm parçalar eşit derecede etkilenir.
9.10.2017 38
Bulanık Çıkarımsama (Fuzzy Inference)
Bulanık set teorisini kullanarak verilen giriş
9.10.2017 39
9.10.2017 40
Bulanık Çıkarımsama (Fuzzy
Inference)
belirli giriş değerleri için (x1
ve y1) hangi setlere hangi
üyelikle dahil oldukları
hesaplanır.
Kural değerlendirme:
Kural 1:
IF x is A3
OR y is B1
THEN z is C1
Normalde:
µA B=max(µA(x), µB(x))
İle
hesaplanm ası ger ekiyor du.
µB(x)
9.10.2017 41
Kural çıkışlarının toplanması:
-clipped (örnekteki yapılan)
-scaled
9.10.2017 42
Geri-bulanıklaştırma (Defuzzification)
Bir çok yöntem ama en yaygını: centroid tekniği (kütle
merkezi (alanları eşit olarak ikiye bölen çizgi))
∫ =
9.10.2017 43
2. Sugeno-style inference:
Mamdami yöntemi:İki boyutlu bir şekil üzerinden
integral alarak centroid bulmamızı istiyor: hesapsal
olarak etkin değil.
Sugeno, mamdami ile aynı sadece kural sonucu değişik.
IF x is A
AND y is B
THEN z is f(x,y)
Burada f(x,y), matematiksel bir fonksiyondur.
9.10.2017 44
Sonuç hesabı:
WA(Weighted Average-
Ağırlıklı ortalama):
∗ + 2∗2+ 3∗3
=
= 0.1+0.2+0. 5
+2+3
0.1∗20+0.2∗50+0.5∗80
= 65
9.10.2017 45
Bulanık bir uzman sistemin tasarımı:
1) Problemi belirle ve dilsel değerleri tanımla
2) Dilsel değerler ve çıkışlailgili bulanık setleri tanımla
3) Bulanık kuralları oluştur
4) Bulanık çıkarımsama yapabilmek için bulanık setleri
ve kuralları kodla
5) Sistemi değerlendir ve ayar yap
9.10.2017 46
ÖRNEK:
Kişinin boyuna ve kilosuna göre yapması gereken
egzersiz miktarının belirlenmesi.
9.10.2017 47
4. Sınıflama, Kümeleme ve
Öğrenme Kavramları
Veri madenciliği uygulamaları aşağıdaki iki
kategoriden birinde uygulanmaktadır:
1. Eldeki verilerle tanımlanan bir sistemin modelini
üreten, tanımsal veri madenciliği,
2. Mevcuttaki veriye dayalı olarak daha önceden
karşılaşılmamış, yeni bilgileri üreten tahminsel veri
madenciliği.
9.10.2017 48
ÖRNEK:
SİSTEM
giriş çıkış
R1
giriş R2 çıkış
Çıkış=giriş/(R1+R2)*R2
giriş
? çıkış
Bölüm-1 49
4. Sınıflama, Kümeleme ve
Öğrenme Kavramları
Veri madenciliği görevleri:
Sınıflama (Classification)
Regresyon (regression)
Kümeleme (Clustering)
Özetleme(Summarization)
Bağımlılık modellemesi (Dependency Modelling)
Değişim ve sapma tespiti (Change and
Deviation Detection)
Bölüm-1 50
Problemin tanımlanması
Verilerin toplanması
Önişleme
Model tahmini
Örnekler
X
Bağımlı değişken
Z
SİSTEM
Y Bağımsız değişken
Bağımlı değişken
Bölüm-1 52
4. Sınıflama, Kümeleme ve Öğrenme
Kavramları
Verinin kalitesi:
• veri doğru olmalı
• veri tam olmalı
• veri tutarlı olmalı
• Veri kendi tipinde kaydedilmiş olmalı (sayısal
tipli bir veri ise sayısal değerli olması,..vs.)
• Veri gereksiz yere büyük olmamalı
• Veri zaman faktörü ile tutarlı olmalı
• Veri iyi anlaşılır olmalı
• Veri yorumlama farklarına imkan verecek
Bölüm-1 53
bulanıklıkta olmamalı
Sınıflama
Örnek: bir iş için uygun işçi bulmak
başarılı
başarısız
Bölüm-3 54
sınıflama
Örnek: klimanın otomatik artışı - azalması
Ortam sıcaklığı
İstenen derece
Çıkış değerleri
Pencerelerin durumu
Klima (0.5 derece artır
ya da azalt)
Nem
Bölüm-3 55
sınıflama
Örnek: hastalık sınıflama
56
kümeleme
57
kümeleme
Bölüm-3 58
Tahmin (regresyon)
Örnek: reklam harcamalarına bağlı gelecek öğrenci
sayısının modeli
Bölüm-3 59
Tahmin (regresyon)
Bölüm-3 60
Tahmin (regresyon)
Tahmin problemlerinin farklı çözümleri olabilir
Bölüm-3 61
Öğrenme teknikleri
Makine Öğrenmesi yöntemleri verinin yapısına
göre ikiye ayrılır.
Danısmanlı (supervised) Öğrenme: Veri,
etkiye tepki prensibiyle çalısan sistemlerden
alınır ve giris-çıkıs düzeninde organize edilir.
Danısmansız (unsupervised) Öğrenme: Sınıf
bilgisi olmayan veya verilmeyen veri içerisindeki
grupları kesfetmeyi hedefler.
Bölüm-3 62
Danişmanli öğrenme
Bölüm-3 63
Danışmanlı öğrenme
Bölüm-3 64
Danışmansız öğrenme:
Danışmansız öğrenmede elde bulunan veriler için
onlara karşılık gelen çıkışlar önceden bilinmez. Örneğin
klima örneğinde ortam sıcaklığı, nem,..vs. gibi giriş
verileri elimizde vardır fakat her bir giriş verisine
karşılık klimanın derecesinin artırılması ya da
azaltılmasını söyleyen çıkış verisi yoktur.
Bölüm-3 65
Danışmansız öğrenme:
Örneğin: (bir sınıflama problemi var ise)
Danışmanlı öğrenme Danışmansız öğrenme
Bölüm-3 66
Danışmansız öğrenme
Uygulamalar,
otomatik olarak haber sınıflandırma (örneğin
news.google.com)
benzer haberleri aynı kümelere koyup aynı
başlanğıçtan kullanıcılara sunmak
Sosyal ağlar analizi; facebookta ilişki grafikler vb
Pazar analizi; müşterilerin tercihleri açıklama
Doğal veriler anlama; ekonomi, bioloji, vb
67
Eğitme ve test
kavramları
EĞİTME İŞLEMİ
Asıl çıkışlar
Bölüm-3 68
Eğitme ve test
kavramları
TEST İŞLEMİ Asıl çıkışlar
Eğitilmiş
test Model Sistem Hata
verileri (y=3x+exp(2x)) çıkışı hesaplama
Sistemin
performansı
Bölüm-3 69
5. Yapay Sinir Ağları
70
Perceptron
Perceptronlar, son derece sınırlı olmalarına karşın en eski sinir
ağlarından biridir.
Perceptron, bir sinir hücresinin birden fazla girdiyi alarak bir
çıktı üretmesi prensibine dayanır.
Ağın, beklenen çıktısı 1 iken Net girdi eşik değerinin altında ise
ağırlık değerleri arttırılmaktadır.
[Sinaps]
End If
Örnekler X1
X1 1 (1,0) (1,1)
Eşik Output
0
X2 1
X2
• Net parametre değerleri (0,0) (0,1)
(bias, W1, W2) = 0, 1, 1)
X
1 X Bias + W1*X1 + W2 *X2 Output Target
2
1 1 0+1*1 + 1*1 = 2 1 1
1 0 0+1*1+1*0=1 1 0
0 1 0+1*0+1*1=1 1 0
0 0 0+1*0+1*0=0 0 1
Perceptronlar XOR problemi gibi doğrusal
olarak sınıflandırılamayan problemleri
çözümünde başarısızdır.
Çok Katmanlı
Perceptron (MLP)
86
XOR problemini çözmek için yapılan çalışmalar sonucu çok
katmanlı algılayıcı modeli geliştirilmiştir. Rumelhart ve
arkadaşları tarafından geliştirilen bu modele hata yayma modeli
veya geriye yayılım modeli(back propogation model) de
denilmektedir.
87
Çok Katmanlı Ağ Modelinin Yapısı
Ara
Katman
Girdi Çıktı
Katmanı Katmanı
G1 Ç1
G2 Ç2
G3 Ç3
Eşik Eşik
Değeri Değeri
88
Girdi Katmanı:
Dış dünyadan gelen girdileri alarak ara katmana gönderir. Bu katmanda bilgi işleme olmaz. Gelen her bilgi geldiği gibi bir
sonraki katmana gider. Her proses elemanın sadece bir tane girdisi ve bir tane çıktısı vardır. Yani, girdi katmanındaki her proses elemanı bir sonraki katmanda bulunan
proses elemanlarının hepsine bağlanır.
90
Çok katmanlı ağ öğretmenli öğrenme stratejisini kullanır.
Ağa, hem örnekler hem de örneklerden elde edilmesi
gereken çıktılar verilmektedir.
Sistem, kendisine gösterilen örneklerden genellemeler
yaparak problem uzayını temsil eden bir çözüm uzayı
üretmektedir. Daha sonra gösterilen benzer örnekler için bu
çözüm uzayı sonuçlar ve çözümler üretebilmektedir.
91
Çok Katmanlı Ağ Hücresi
Girdi Nöron n : net giriş toplamı
a : çıkış
Σ : Toplam fonksiyonu.
f : Aktivasyon fonksiyonu.
•Sigmoid
•Tanh
•Lineer
92
Bir çok giriş için genellikle bir nöron yeterli olmayabilir. Paralel
işlem yapan birden fazla nörona ihtiyaç duyulduğunda katman
kavramı devreye girmektedir. S tane nöronun tek bir katmanı
Şekil’de gösterilmiştir. Burada her giriş bir nörona bağlıdır.
93
Çok Katmanlı Ağın Öğrenme Kuralı
Çok katmanlı ağın öğrenme kuralı en küçük kareler
yöntemine dayalı “Delta Öğrenme Kuralı”’nın
genelleştirilmiş halidir. Bu yüzden “Genelleştirilmiş Delta
Kuralı” olarak da isimlendirilmektedir.
94
“Genelleştirilmiş Delta Kuralı” iki aşamadan oluşur.
95
I) İleri Doğru Hesaplama
Bu safhada bilgi işleme eğitim setindeki bir örneğin
Girdi Katmanından ağa gösterilmesi ile başlar. Gelen girdiler
hiç bir değişiklik olmadan ara katmana gönderilir.
Çki = Gk
96
Ara
Katman
Girdi Çıktı
Katmanı 1 Katmanı
G1 Ç1
ÇK1 2
G2 . ÇK2 Ç2
. 3
. ÇK3
Gk Ç3
ÇKi i
Eşik Eşik
Değeri Değeri
97
Ara katmandaki her proses elemanı girdi katmanındaki
bütün proses elemanlarından gelen bilgileri bağlantı
ağırlıklarının (A1,A2,....) etkisi ile alır. Önce ara katmandaki
proses elemanlarına gelen
kullanılarak hesaplanır:
net girdi (NETja) şu formül
NETja=∑Akj Çki
k=1
98
Ara
Katman
Girdi Çıktı
Katmanı 1 Katmanı
G1
2
Ç1
wA1j
G2 Ç2
.
. wA2j 3
Gk . Ç3
wAkj
j
Eşik Eşik
Değeri Değeri
NETja=∑Akj Çki
k=1
99
Sigmoid fonksiyonu kullanılması halinde çıktı:
1
Ç a= +β
-(NET
j )
a a
1+e j j
100
Ara
Katman
Girdi Çıktı
Katmanı 1 Katmanı
G1 Ç1
2
wA1j
G2 . Ç2
. wA2j 3
Gk .
Ç3
wAkj
j
wβj
Eşik Eşik
Değeri Değeri
Ç a= 1
j -(NET a+β a)
1+e j j 101
Ara katmanın bütün proses elemanları ve çıktı katmanının
proses elemanlarının çıktıları aynı şekilde kendilerine gelen
NET girdinin hesaplanması ve sigmoid fonksiyonundan
geçirilmesi sonucu belirlenirler. Çıktı katmanından çıkan
değerler bulununca ağın ileri doğru hesaplama işlemi
tamamlanmış olur.
102
II) Geriye Doğru Hesaplama
Ağa sunulan girdi için ağın ürettiği çıktı ağın beklenen
çıktıları ile karşılaştırılır. Bunların arasındaki fark hata olarak
kabul edilir. Amaç bu hatanın düşürülmesidir.
Bu hata, ağın ağırlık değerlerine dağıtılarak bir sonraki
iterasyonda hatanın azaltılması sağlanır. Çıktı katmanındaki
m. Proses elemanı için oluşan hata Em ;
Em =Bm- Çm
103
Em =Bm- Çm
Yukarıdaki hata, bir proses elemanı için oluşan hatadır.
Çıktı katmanı için oluşan toplam hatayı (TH) bulmak için
bütün hataların toplanması gerekir.
TH=1/2(∑Em2)
104
Ağın ağırlıklarını değiştirmek için 2 durum söz konusudur:
105
Ara Katman ile Çıktı Katmanı Arasındaki
Ağırlıkların Değiştirilmesi
Ara katmandaki j. Proses elemanı çıktı katmanındaki m.
Proses elemanına bağlayan bağlantının ağırlığındaki değişim
miktarına ∆Aa denirse; herhangi bir t zamanında ağırlığın
değişim miktarı şöyle hesaplanır:
∆Ajma(t)=λδmÇja + α ∆Ajma(t-1)
106
Momentum katsayısı ağın öğrenmesi esnasında yerel bir
optimum noktaya takılıp kalmaması için ağırlık değişim
değerinin belirli bir oranda bir sonraki değişime eklenmesini
sağlar.
∆Ajma(t)=λδmÇja + α ∆Ajma(t-1)
107
f’(NET) aktivasyon fonksiyonunun türevidir. Sigmoid
fonksiyonun kullanılması durumunda ;
108
Benzer şekilde eşik değer ünitesinin de ağırlıklarını
değiştirmek gerekmektedir. Çıktı katmanında bulunan proses
elemanlarının eşik değer ağırlıkları βç ile gösterilirse; bu
ünitenin çıktısı sabit ve 1 olması nedeni ile değişim miktarı:
∆βmç(t) = λ δm + α ∆ βmç(t-1)
109
Ara Katmanlar Arası veya Ara Katman Girdi
Katmanı Arasındaki Ağırlıkların Değiştirilmesi
Ara katman ile çıktı katman arasındaki ağırlıkların
değişiminde her ağırlık için sadece çıktı katmanındaki bir
proses elemanının hatası dikkate alınmıştır. Oysaki bu
hataların oluşmasında girdi katmanı ve ara katman
arasındaki ağırlıkların payı vardır.
110
Girdi katmanı ile ara katman arasındaki ağırlıkların değişimi ∆Ai
miktarı:
ile gösterilirse değişim
∆Akji(t)=λ δja Çki + α∆Akji(t-1)
δja=f’(NET)∑δmAjma
m
111
Aktivasyon fonksiyonu olarak sigmoid fonksiyonun
kullanılması durumunda ;
δ a = Ç a (1- Ç A a
)∑δ
a
m
j j j m jm
112
Benzer şekilde eşik değer ünitesinin de ağırlıklarını
değiştirmek gerekmektedir. Ara katman eşik değer ağırlıkları
βa ile gösterilirse değişim miktarı ;
∆βja(t)=λδja + α ∆βja(t-1)
βja(t)=βja(t-1) + ∆ βja(t)
113
XOR Problemi
XOR problemini çözerken kullanılacak
aktivasyon fonksiyonu 2 şekilde seçilerek
YSA’da hücrelerin
çözüm getirilmeye
çalışılmıştır :
114
Step Fonksiyon ile Çözüm
Aktivasyon
a3 = w2 * o1 + w3 * o2
a3 = 1 * 0+ 1* 0 = 0
Çıktı
a4 = w1 * o1 + w5 * o3 + w4 * o2
a4 = -1 * 0 + 2 * 0 + (-1 * 0) = 0
O4=0
116
Adım 1. Ağırlıkların başlangıç değerlerinin verilmesi
– Ağırlıklar verilirken genel olarak küçük değerler seçilir.
Adım 2. Çıkışların hesaplanması
– Ara katmandaki oj gibi bir hücrenin çıkışı aşağıdaki
sigmoid fonksiyon ile hesaplanır.
1
oj = f ( ∑ wjioi - θj ) =
-α ( ∑ wjioi - θj )
1+e
♦ wji = weight of input i to neuron j
♦α is a constant
♦θj =node threshold
♦F=sigmoid function
117
Adım 3. Ağırlıkların ayarlanması
118
Bu kısa hatırlatmadan sonra XOR problemimize dönersek;
3
0.02
0.01
- 0.02
2 1
0.02
0.03
4
119
İlk durumumuz o3=1 ,o4=1 ve α ve θ değerleri de sırasıyla 1 ve 0
olsun.Ayrıca n öğrenme hızı da 0.3 olsun Bu durumda ;
1 3
1
0.02-0.018
0.01-0.010165
- 0.02
2 1
O2= 1 + e
O3= = 0.509
–(1x0.01 + 1x0.02) = 0.678 1 4
0.02
1 + e –[0.678x(-0.02) + 1x 0.02 + 1 x0.03)
1 0.03
δ1 = 0.509(1-0.509)(0-0.509) = -0.127
∆w12 = 0.3(-0.127) x 0.678 = -0.0258318, 1 3 -0.018
w12 = - 0.02 – 0.0258318 = -0.0458318 - 0.02-0.0458318
-0.010165
2 1
-0.020165
1 4
-0.008
121
Sonuçta aşağıdaki ağırlıklara ulaşıldığında ağ öğrenmesini
durdurur.
Sonuçta :
3
4.98
O3=1,O4=0 için
5.62 0.01’lik bir hata payı ile
2 - 11.30 1
5.60 O2=0.9964
4.98
4 O1=0.9999
122
Uygulama
IRIS sınıflama problemi: YSA (MATLAB)
9.10.2017 123
5. Evrimsel Hesaplama
GENETİK ALGORİTMA (GA)
Genetik Algoritmanın Tanımı
Genetik algoritma, doğadaki evrim mekanizmasını örnek alan bir arama
metodudur ve bir veri grubundan özel bir veriyi bulmak için kullanılır.
Genetik algoritmalar doğada geçerli olan en iyinin yaşaması kuralına
dayanarak sürekli iyileşen çözümler üretir.
Bunun için kullandığı operatörler;
uygunluk fonksiyonu (fitness) : toplumdaki her kromozomun ne kadar
iyi olduğu bulmayı amaçlayan fonksiyondur. Bu fonksiyon GA nın
beynini oluşturmaktadır.
yeniden kopyalama (recombination) : yeni çözümler üretmek için
çaprazlama (crossover) işlemi yapılır ve bu eşleme uygunluk
fonksiyonuna göre yapılır.
değiştirme (mutation) : sadece bir çözüm üzerinde yapılan işlemdir.
124
5. Evrimsel Hesaplama
GENETİK ALGORİTMA (GA)
9.10.2017 125
Kromozomun şifrelenmesi
1. İkili kodlama
Bu yöntem ilk GA uygulamalarında kullanıldığı için hala en çok
kullanılan yöntemlerdir. Her kromozom, 0 ve 1 lerden oluşan
bit dizisidir ve ikili diziyle ifade edilir. Bu dizideki her bit,
çözümün bir özelliğini taşır. Dizinin tümü ise bir sayıya
karşılık gelir.
Kromozom A: 101110010110
Kromozom 2: 010110100000
126
Kromozomun şifrelenmesi (Devam..)
2. Permütasyon kodlama
Bu kodlama Gezgin Satıcı Problemi ve iş sıralama problemleri
gibi sıralam problemlerinde kullanılır. Burada her kromozom
bir numaralar dizisidir.
Kromozom A: 35127604
Kromozom B: 01562347
127
Gen takası (Çaprazlama) ve Mutasyon
128
Gen takası (Çaprazlama) ve Mutasyon (Devam..)
Çocuk-1(orijinal) : 11011001
Çocuk-2: 11111001
129
Gen takası (Çaprazlama) ve Mutasyon (Devam..)
2.Permütasyon kodlanmış
kromozomÇaprazlama:
Kromozom-1: 123456789
Kromozom-2: 453689721
Çocuk-1 : 123489721
Çocuk-2 : 453656789
Çocuk-1(orijinal) : 123456789
Çocuk-2: 183456289
130
Kromozom Seçimi
1. Rulet tekeri seçimi
Bu yöntemde seçilme işlemi bireylerin
(kromozomların) uygunluk değerine göre
yapılmaktadır. Fakat uygunluk değeri en büyük
olanın seçileceği garanti edilmez, yalnız seçilme
şansı daha fazla olacaktır.
Bu yöntemde bütün uygunluk değerleri
bir tabloya yazılır ve toplanır. Uygunluk
değeri toplama bölünerek bireylerin
[0,1] aralığında seçilme olasılıkları
belirlenir.
Rulet tekerleği seçimi çözümlerin
uygunluk değerlerinin pozitif olması
gerekir.
131
Kromozom Seçimi (Devam..)
2. Sıralama seçimi
Rulet tekeri seçimi, uygunluklar çok farklıysa problemlere yol açar.
(Örneğin, en iyi kromozomun uygunluğu %90 ise diğer kromozomlar çok az
seçilme şansına sahip olacaktır.)
Sıralama seçimi önce populasyonu sıralamakta ve ardından her
kromozomun bu sıralamada uygunluğu aranmaktadır. En kötüsü 1
uygunlukta, ikinci kötüsü 2 uygunlukta vb., en iyisi ise N
uygunlukta olacaktır.
Böylelikle bütün kromozomlara seçilme şansı verilir. Fakat bu
yöntemde en iyi kromozomlar, diğerlerinden daha farklı
olmadığından çözüme yaklaşma yavaş olacaktır.
132
Kromozom Seçimi (Devam..)
133
Genetik Algoritmaların Çalışma Prensibi
Adım 1: Olası çözümlerin kodlandığı bir çözüm grubu oluşturulur
(çözüm grubu (population), çözümlerin kodları (string) da kromozom
olarak adlandırılır).
Adım 2: Her kromozomun ne kadar iyi olduğu bulunur (fitness
function).
Adım 3: Bu kromozomlar eşlenerek (mating), yeniden kopyalama
(recombination) ve değiştirme (crossover) operatörleri uygulanır. Bu
sayede yeni bir toplum oluşturulur.
Adım 4: Yeni kromozomlara yer açmak için eski kromozomlar
ortadan kaldırılır.
Adım 5: Tüm kromozomların uygunlukları tekrar hesaplanır.
Adım 6: İşlemler tekrarlanarak verilmiş zaman içerisinde daha iyi
olan yeni nesillerin oluşturulması gerçekleştirilir (3. adıma gidilir).
Adım 7: O ana kadar hesaplanma sırasında en iyi kromozom
bulunduğunda istenen sonuç elde edilmiş olur.
134
GA’nın Performansını Etkileyen Nedenler
Kromozom sayısı:Kromozom sayısını arttırmak çalışma zamanınıarttırırken, azaltmak da
kromozom çeşitliliğini yok eder.
Mutasyon Oranı:Kromozomlarbirbirinebenzemeye başladığında
halaçözüm noktalarının uzağında bulunuyorsa mutasyon işlemi GA’nın
sıkıştığı yerden kurtulmak için tek yoludur. Ancak yüksek bir değer
vermek GA’ın kararlı bir noktaya ulaşmasını engelleyecektir.
135
Nesillerin birbirinden ayrıkolupolmadığı:Normalolarakhernesil
tümüyle bir önceki nesle bağlı olarak yaratılır. Bazı durumlarda yeni nesli eski
nesille birlikte yeni neslin o ana kadar elde edilen bireyleri ile yaratmak yararlı
olabilir.
Parametre kodlanmasının nasıl yapıldığı:Kodlananın nasıl
yapıldığıen önemli noktalardan biridir. Örnek vermek gerekirse
kimi zaman bir parametrenin doğrusal yada logaritmik kodlanması
GA’nın performansında önemli bir farka yol açabilir.
137
Örnek: Fonksiyon Maksimizasyonu
Problem : f(x)=x², x∈[0, 31] şeklinde verilen bir fonksiyonun.
Amaç : Verilen aralıkta fonksiyonun maksimizasyonu.
Adım 1: x’in 0 ve 1'lerden oluşan 2 tabanındaki gösterilimi
yapılmaktadır
0 : “00000” 31 : “11111” olacaktır.
Adım 2: Toplumun birey sayısı n:4 olarak seçilmiştir. Toplumu
oluşturan dört birey, her biri 5 bit uzunluğunda birer kromozomla
temsil edildiği için toplam 20 kere yazı tura atmak suretiyle
belirlenmiştir.
Birey 1: 01101, x = 13 , x² = 169
Birey 2: 11000, x = 24 , x² = 576
Birey 3: 01000, x=8, x² = 64
Birey 4: 10011, x = 19 , x² = 361
138
Adım 3: Belirlenen bireyler için f(x)=x² ile uygunluk değerlerini
hesaplanır. Dört bireyin toplam uygunluk değerleri;
139
Adım 4: Toplumda ki birey sayısının sabit kaldığı
varsayıldığından, rulet tekerleği 4 kere çevrilerek çiftleşme
havuzu oluşturulur.
Birey 1 : 1 kere
Birey 2 : 2 kere
Birey 3 : 0 kere
Birey 4 : 1 kere
140
Adım 5: Çiftleşme havuzu belirlendikten sonra iki aşamalı
çaprazlama uygulanır.
İkinci aşamada her ikili grup için birer kere zar atılarak
çaprazlaşmanın oluşacağı nokta belirlenir. Zar atılarak 1. Grup
için k=4 ve 2. Grup içinde k=2 olarak belirlenmiştir.
141
Adım 6: Son aşama olan mutasyon işlemi bitler düzeyinde uygulanır.
Birey 3’ün 2 numaralı bitinde mutasyon işlemi tapılmaktadır.
Oluşan Birey 3 : 11011
Mutasyon sonucu oluşan Birey 3 : 10011
Bu adımın tamamlanmasıyla bir sonraki kuşağı oluşturacak toplumun
bireyleri belirlenmiş olur. Yeni toplum şu şekildedir;
Birey 1 : 01100, x=12, x²=144
Birey 2 : 11001, x=25, x²=625
Birey 3 : 10011, x=19, x²=361
Birey 4 : 10000, x=16, x²=256
142