|
İÇİNDEKİLER
İçindekiler
Önsöz 7
1. BÖLÜM
PYTHON PROGRAMLAMA DİLİ
1.1 GİRİŞ 19
1.2 PYTHON KÜTÜPHANELERİ 21
1.2.1. Veri Bilimleri Kütüphaneleri 22
1.2.1.1 Matplotlib 22
1.2.1.2 NumPy 22
1.2.1.3 Pandas 22
1.2.1.4 SciPy 23
1.2.1.5 SQLAlchemy 23
1.2.1.5 SymPy 23
1.2.1.6 Pillow 23
1.2.1.7 Seaborn 24
1.2.1.8 OpenCV Python 24
1.2.1.9 Scikit–image 24
1.2.1.10 NLTK 24
1.2.2. Makine Öğrenmesi Kütüphaneleri 25
1.2.2.1 Scikit–learn 25
1.2.2.2 PyLearn2 25
1.2.2.3 NuPIC 25
1.2.2.4 Ramp 26
1.2.2.5 Bob 26
1.2.2.6 PyBrain 26
1.2.2.7 MILK 26
1.2.2.8 Pattern 27
1.2.3. Derin öğrenme kütüphaneleri 27
1.2.3.1 TensorFlow 27
1.2.3.2 Keras 28
1.2.3.3 PyTorch 28
1.2.3.4 Hebel 28
1.2.3.5 Chainer 28
1.2.3.5 Theano 29
1.2.3.5 Caffe2 29
1.3 ANACONDA 29
1.3.1. Anaconda Dağıtımı 30
1.3.2 Anaconda Dağıtımı’nın Kurulumu 31
1.3.2 Spyder 38
2. BÖLÜM
YAPAY ZEKÂ KAVRAMI
2.1 AKIL VE ZEKÂ KAVRAMLARI 41
2.1.1 Akıl Kavramı 41
2.1.2 Zekâ Kavramı 41
2.1.2.1 Zekâ Türleri 42
2.2.1.2 Zekânın Bileşenleri 44
2.2 YAPAY ZEKÂ TEMEL KAVRAMI? 47
2.3 YAPAY ZEKÂ KAVRAMINI OLUŞTURAN ETMENLER 50
2.4 YAPAY ZEKÂNIN TARİHSEL GELİŞİMİ 51
2.5 YAPAY ZEKÂNIN ALT ALANLARI 55
2.5.1 Makine öğrenmesi ve örüntü tanıma 55
2.5.1.1 Örüntü Tanıma 56
2.5.1.2 Derin Öğrenme 56
2.5.2 Mantık tabanlı yapay zekâ 57
2.5.2.1 Deneyimden öğrenmek 57
2.5.3 Arama 58
2.5.4 Bilgi temsili 58
2.5.5 Planlama 58
2.5.6 Sezgisel 59
2.5.7 Genetik programlama 59
2.5.8 Sürü Zekâsı 59
2.5.9 Sibernetik 60
2.6 YAPAY ZEKÂ UYGULAMALARI 60
2.6.1 Bilgisayarlı Görme 62
2.6.2 Doğal Dil İşleme 62
2.6.2.1 Konuşma Tanıma 63
2.6.2.2 El yazısı tanıma 63
2.6.4 Uzman Sistemler 63
2.6.5 Bilgisayar Oyunları 64
2.6.6 Robotik 65
2.6.7 Durum tahmini 66
2.6.8 Veri Madenciliği ya da Bilgi Çıkarma 66
2.7 YAPAY ZEKÂDA ÇÖZÜM YAKLAŞIMLARI 67
2.8 İŞLETMELERDE YAPAY ZEKÂ 68
2.9 YAPAY ZEKÂ ETİĞİ VE GELECEĞİN İŞLETMELERİ 70
2.9.1. Geleceğin İşletmelerinde Yapay Zekâ Etiği 70
2.9.2. Uygulanabilir Çözümler 71
2.10 YAPAY ZEKÂNIN AVANTAJLARI VE DEZAVANTAJLARI 72
2.10.1 Yapay Zekânın Avantajları 73
2.10.2 Yapay Zekânın Dezavantajları 75
3. BÖLÜM
MAKİNE ÖĞRENMESİ
3.1. MAKİNE ÖĞRENMESİ KAVRAMI 79
3.2 MAKİNE ÖĞRENMESİNİN TEMELLERİ 81
3.2.1 Makine Öğrenmesinde Görevler 84
3.2.2 Makine Öğrenmesinde Deneyim 85
3.2.3 Makine Öğrenmesinde Performans 86
3.3 MAKİNE ÖĞRENMESİ TÜRLERİ 87
3.3.1 Denetimli Öğrenme 89
3.3.2 Denetimsiz Öğrenme 91
3.3.3 Yarı Denetimli Öğrenme 93
3.3.4 Pekiştirmeli Öğrenme 93
3.3.5 Toplu Öğrenme 94
3.3.6 Çevrimiçi öğrenme 95
3.3.7 Örnek Tabanlı Öğrenme 95
3.3.8 Model Tabanlı Öğrenme 96
3.4 MAKİNE ÖĞRENMESİ SÜREÇ ADIMLARI 96
3.4.1 Problemin Belirlenmesi 96
3.4.2 Veri Toplama 97
3.4.3 Veri Hazırlama ve Analiz Etme 97
3.4.4 Model Seçimi 98
3.4.5 Modelin Eğitimi 99
3.4.6 Model Değerlendirme 99
3.4.7 Tahmin ya da Çıkarım 100
3.5 MODEL DEĞERLENDİRME VE SINIFLANDIRMA PERFORMANS ÖLÇÜTLERİ 101
3.5.1. Karışıklık Matrisi 104
3.5.2 Doğruluk (Accuracy) 106
3.5.3. Duyarlılık (Hassasiyet) veya Hatırlama (SensitivityRecall) 107
3.5.4. Özgüllük (Specificity) 108
3.5.5. Kesinlik (Precision) 109
3.5.6 F1 Puanı (F1 Score ya da F measure) 109
3.5.7 Makine Öğrenmesi Modeli Performans Değerlendirme Ölçülerinin Hesaplanması 110
3.5.8 ROC Eğrisi ve AUC değeri 113
3.5.8.1 ROC Eğrisi 113
3.5.8.2 AUC Değeri 115
3.5.9 Python’da ROC Eğrisini Çizdirme AUC Değeri Hesaplama Örneği 116
3.6 BİLİŞSEL MODELLEME 117
4. BÖLÜM
AKILLI ETMENLER
4.1 GİRİŞ 119
4.2 ETMENLERİN ÖZELLİKLERİ 121
4.3 ETMEN TÜRLERİ 122
4.3.1 Basit Tepki Etmenleri 122
4.3.1.1 Model Tabanlı Etmenler 123
4.3.1.2 Hedefe Dayalı Etmenler 124
4.3.1.3 Fayda Tabanlı Etmenler 125
4.3.2 Ara Yüz Etmenleri 126
4.3.3 Mobil Etmenler 127
4.3.4 Bilgi Toplama Etmenleri 127
4.3.5 Çok Etmenli Sistemler 128
4.3.6 İşbirlikçi Etmen Sistemleri 129
4.3.7 Öğrenme Etmenleri 129
4.3.8 Robot Etmenler 130
4.4 ORTAMLARIN DOĞASI 131
4.4.1 Görev Ortamlarının Özellikleri 133
4.5 ETMENLER VE ORTAMLAR 136
4.5.1 Etmen Sistemleri 138
4.5.2 Etmenlerin İşlevi 139
4.5.3 Etmen Programları 142
4.5.3.1 Tablo tabanlı etmen 143
4.5.3.2 Basit Tepki Etmeni 143
4.5.3.3 Model Tabanlı Tepki Etmeni 144
4.6 İki Durumlu Elektrik Süpürgesi Ortamında Basit Tepki Etmeni Örneği 145
4.7 6X6 Matris Ortamında Temizlik Yapan Basit Tepki Etmeni Örneği 147
5. BÖLÜM
ARAMA İLE PROBLEM ÇÖZME
5.1 GİRİŞ 151
5.2 GENEL PROBLEM ÇÖZME 151
5.2.1 Problemin Tanımlanması 152
5.2.2 Problem Uzayı 153
5.2.3 Problem Çözme 153
5.2.4 Durumlar 153
5.2.5 Problemin çözümü 154
5.2.6 Problemin Tanımlanması 154
5.3 Arama 155
5.3.1 Arama Algoritmaları 156
5.3.2 Arama Algoritmalarının Özellikleri 158
5.4 BİLGİSİZ ARAMA ALGORİTMALARI 158
5.4.1 Derinlemesine Arama 158
5.4.2 Derinlemesine Sınırlı Arama 161
5.4.3 Yinelemeli Derinlemesine Arama 164
5.4.4 Enlemesine Arama 166
5.4.5 Maliyet Öncelikli Arama 168
5.4.6 Çift Yönlü Arama 171
5.4.7 Bilgisiz Arama Algoritmalarının Karşılaştırılması 174
5.5 BİLGİLİ ARAMA ALGORİTMALARI 174
5.5.1 En İyiyi Arama 175
5.5.2 A* Arama 177
5.5.3 AO* Arama 180
5.5.4 Araç–Sonuç Analizi 183
5.5.5 Tepe Tırmanma 184
5.5.5.1 Tepe Tırmanmanın Durum–uzay Şeması 185
5.5.5.1 Tepe Tırmanmanın Türleri 187
5.5.5.1.1. Basit Tepe Tırmanışı 187
5.5.5.1.2. En Dik–Yükseliş Tepesi Tırmanma 188
5.5.5.1.3. Rastgele Tepe Tırmanma 188
5.5.6 Oluştur ve Test Et 192
5.6 BİLGİSİZ VE BİLGİLİ ARAMA ALGORİTMALARININ KARŞILAŞTIRILMASI 193
6. BÖLÜM
RAKİP ARAMA
6.1 GİRİŞ 195
6.2 OYUN OYNAMA ARAMASININ ÖĞELERİ 197
6.3 OYUN AĞACI 197
6.3 RAKİP ARAMA TÜRLERİ 200
6.3.1 Minimax Algoritması 200
6.3.1.1 Minimax Algoritmasının Çalışması: 201
6.3.1 2 Python'da Minimax Uygulaması 204
6.3.2 Alfa–Beta Budama Algoritması 205
6.3.2.1 Alfa–Beta Algoritmasının Çalışması: 206
6.3.2.2 Alfa–Beta budamada Sıralamayı Taşıma 209
6.3.2.3 Alfa–Beta budamada Sıralamayı Taşıma 209
6.4 3x3 Tic–Tac–Toe Oyunu İçin Minimax Arama Yapan Basit Bir Uygulama Örneği 211
7. BÖLÜM
BİLGİ TEMSİLİ VE AKIL YÜRÜTME
7.1 GİRİŞ 217
7.1.1 Bilgi Kavramı 217
7.1.1.1 Bilginin Türleri 218
7.1.2 Bilgi Temsili Kavramı 220
7.1.2.1 Yapay Zekada Bilgi Temsili Döngüsü 221
7.1.2.3 Bilgi Temsilinin Gereksinimleri 222
7.1.2.4 Bilgi Temsilindeki Sorunlar 224
7.1.3 Akıl Yürütme Kavramı 225
7.2 NEDEN BİLGİ TEMSİLİ VE AKIL YÜRÜTME? 226
7.2.1 Bilgi Tabanlı Sistemler 227
7.2.2 Neden bilgi temsili? 229
7.2.3 Neden akıl yürütme? 230
7.3 MANTIĞIN ROLÜ 232
7.4 YAPAY ZEKÂDA BİLGİ TEMSİLİ TEKNİKLERİ 233
7.4.1 Mantıksal Temsil 233
7.4.2 Anlamsal Ağ Temsili 234
7.4.3 Çerçeve Temsili 236
7.4.4 Üretim Kuralları Temsili 236
7.4.5 Yapay Zekâda Bilgi Temsili Yaklaşımları 238
7.5 BİLGİ TABANLI ETMENLER 238
7.5.1 Genel Bilgi Tabanlı Etmen 239
7.5.2 Bilgiye Dayalı Etmen Seviyeleri 242
7.5.3 Bilgi Tabanlı Etmen Oluşturma Yaklaşımları 243
8. BÖLÜM
ZEKİ OPTİMİZASYON
8.1 ZEKİ OPTİMİZASYON VE ARAMA ALGORİTMALARI 245
8.2 ZEKİ OPTİMİZASYON TÜRLERİ 246
8.3 GENETİK ALGORİTMALAR 247
8.4 GENETİK ALGORİTMALARIN BİLEŞENLERİ 249
8.4.1 Genotip 249
8.4.2 Popülasyon 249
8.4.3 Uygunluk işlevi 250
8.4.4 Seçim 250
8.4.5 Genetik Değişim 251
8.4.6 Mutasyon 251
8.5 GENETİK ALGORİTMALAR TEORİSİ 252
8.6 GELENEKSEL ALGORİTMALARDAN FARKLILIKLARI 254
8.7 GENETİK ALGORİTMALARIN AVANTAJLARI 255
8.8 GENETİK ALGORİTMALARIN SINIRLAMALARI 256
8.9 GENETİK ALGORİTMALARIN EN ÇOK KULLANILDIĞI YERLER 257
8.10 GENETİK ALGORİTMALAR KULLANARAK PROBLEM ÇÖZME 258
8.10.1 Genetik Algoritmalarla Tahmin 259
8.10.2 DEAP Çerçevesi 263
8.10.3 OneMax Probleminin Genetik Algoritmalarla Çözümü 263
8.10.4 Sembol Regresyon Problemini Çözme 266
8.10.5 Katsayı Hesaplatma 269
8.10.6 N–Queens problemini çözme 272
8.10.7 Genetik Algoritma ile Özellik Seçimi 279
8.10.7.1 Parkinson Veri Kümesi ile Seçim 280
8.10.7.2 Göğüs Kanseri Veri Kümesi 285
8.10.7.3 PCOS Veri Kümesi 287
8.10.7.4 Iris Veri Kümesi 289
8.10.8 Modellerde Öne Çıkan Ayar Parametrelerinin Seçimi 290
8.11 PARÇACIK SÜRÜ OPTİMİZASYONU 293
8.12 KARINCA KOLONİ OPTİMİZASYONU 296
9. BÖLÜM
BULANIK MANTIK
9.1 GİRİŞ 301
9.2 BULANIK KÜME TEORİSİ 302
9.2.1 Bulanık küme işlemleri 307
9.3 BULANIK MANTIK DENETLEYİCİNİN GENEL YAPISI 309
9.3.1 Bulanıklaştırma Birimi 310
9.3.2 Bilgi Tabanı 310
9.3.3 Karar Verme Birimi 310
9.3.4 Durulama Birimi 310
9.4 Bulanık Denetim Kurallarının Oluşturulması 311
9.5 Karar Verme Mantığı 312
9.6 Çıkarım Motoru 313
9.7 Bulanık Çıkarım Yöntemleri 314
9.7.1 Birinci Tip Bulanık Çıkarım 314
9.7.2 İkinci Tip Bulanık Çıkarım 315
9.7.3 Üçüncü Tip Bulanık Çıkarım 316
9.7.4 Dördüncü Tip Bulanık Çıkarım 317
9.8 DURULAMA YÖNTEMLERİ 318
9.8.1 Max Kriteri Yöntemi 318
9.8.2 Maksimumların Ortalaması Yöntemi 318
9.8.3 Ağırlık Merkezi Yöntemi 319
9.9 DARALAN ÜYELİK FONKSİYONLU BULANIK MANTIK DENETLEYİCİ 319
9.9.1 Daralan Aralıklı Üyelik Fonksiyonları ile Bulanık Mantık Denetleyici Tasarımı 320
9.10 BULANIK MANTIK ÇIKARIM SİSTEMİ TASARIMI 323
9.11. BULANIK MANTIK UYGULAMALARI 324
9.11.1 Bulanık Küme İşlemleri Python Örneği 324
9.11.2 Öğrenciler İçin Spor Seçim Problemi 327
9.11.3 Arkadaşlık Teklif Etme Problemi 331
9.11.4 Bulanık C–Ortalamalar Kümeleme 335
9.11.5 Bulanık Mantık Denetleyici 343
9.12 BULANIK MANTIĞIN AVANTAJLARI VE DEZAVANTAJLARI 347
9.12.1 Avantajları 347
9.12.2 Dezavantajları 348
10. BÖLÜM
YAPAY SİNİR AĞLARI
10.1 GİRİŞ 349
10.2 YAPAY SİNİR AĞLARININ TEMELLERİ 349
10.2 YAPAY SİNİR AĞLARI MİMARİLERİ 353
10.2.1 Uyarlamalı Ağlar 355
10.2.2 İleri Beslemeli Ağlar İçin Geriye Yayılan Öğrenme 357
10.2.3 Eş Zamanlı İşletilen Ağlar 359
10.2.4 Zaman İçerisinden Geriye Yayılma 360
10.2.5 Gerçek Zaman Tekrarlanan Öğrenme 360
10.2.6 Karma Öğrenme Kuralı 361
10.2.7 Çevrim Dışı Öğrenme 361
10.2.8 Çevrim İçi Öğrenme 362
10.3 YAPAY SİNİR AĞLARI UYGULAMALARI 363
10.3.1 Çok Katmanlı YSA Örneği 363
10.3.2 Çok Katmanlı YSA Kısaltılmış Örneği 369
10.3.3 Scikit–Learn Kitaplığı ile Çok Katmanlı YSA Örneği 370
10.3.4. MLPClassifier ile YSA Sınıflandırıcı Örneği 371
10.3.5. MLPRegressor ile YSA Regresyon Örneği 375
10.3.6 YSA ile Sınıflandırma Örneği 378
11. BÖLÜM
SİNİRSEL BULANIK DENETİM
11.1 GİRİŞ 385
11.2. SİNİRSEL BULANIK DENETLEYİCİLERİN YAPISI 386
11.3. UYARLANABİLİR SİNİRSEL–BULANIK ÇIKARIM SİSTEMİ UYGULAMASI 389
Kaynakça 415 |