SatirArasi
Kayıtlı Üye
İşe yarayan bir yapay zekâ programı yapmak için önce çözülecek problemi seçin, örnek girdiler ve doğru çıktılardan oluşan veri hazırlayın, bu verilerle bir model eğitin ve yeni girdiler üzerinde sonucu test edin. Aşağıdaki örnekte dış kütüphane kullanmadan, mesajı iki sınıftan birine ayıran basit bir algılayıcı model kuruluyor. Bu örnek, makine öğrenmesinin temel akışını gösterir; gelişmiş bir sohbet botu veya insan düzeyinde anlayış sağlamaz.
Model, girdideki özelliklerle çıktı arasındaki ilişkiyi öğrenir. Bu ilişki ne kadar çeşitli ve doğru etiketlenmiş veriyle öğretilirse sonuçlar genellikle o kadar kullanılabilir olur. Ancak modelin eğitim verisini ezberlemesi, yeni mesajları doğru anlayabildiğini kanıtlamaz. Bu nedenle eğitimde kullanılmayan ayrı test örnekleriyle kontrol yapılmalıdır.
Programı çalıştırın. Komut satırında dosyanın bulunduğu klasöre geçip
Çıktıyı kontrol edin. İlk tahminin
Yeni örneklerle test edin.
Daha gerçekçi bir uygulamada metinler temizlenir, sözcükler sayısal özelliklere dönüştürülür, eğitim ve test verileri ayrılır, başarı ölçütleri hesaplanır ve yanlış sınıflandırılan örnekler incelenir. Görüntü, ses veya sohbet uygulaması geliştirmek istiyorsanız aynı temel akış korunur; yalnızca veri türü, özellik çıkarma yöntemi ve model değişir.
Önemli sınır: Eğitim verisinde kişisel, gizli veya izinsiz toplanmış bilgileri kullanmayın. Gerçek kullanıcı verisiyle çalışırken verinin kaynağını, kullanım amacını ve saklama güvenliğini ayrıca değerlendirin.
Yapay zekâ programı hangi parçalardan oluşur?
Bir yapay zekâ uygulamasında genellikle dört temel parça bulunur: girdi verisi, model, eğitim ve tahmin. Örneğin amaç, kısa mesajları “olumlu” veya “olumsuz” olarak sınıflandırmaksa eğitim verisinde her mesajın yanında doğru sınıf da bulunmalıdır.Model, girdideki özelliklerle çıktı arasındaki ilişkiyi öğrenir. Bu ilişki ne kadar çeşitli ve doğru etiketlenmiş veriyle öğretilirse sonuçlar genellikle o kadar kullanılabilir olur. Ancak modelin eğitim verisini ezberlemesi, yeni mesajları doğru anlayabildiğini kanıtlamaz. Bu nedenle eğitimde kullanılmayan ayrı test örnekleriyle kontrol yapılmalıdır.
Python ile en küçük çalışan örnek
Ön koşul olarak bilgisayarınızda Python 3 çalıştırabilen bir ortam bulunmalıdır. Aşağıdaki örnekte her cümle iki sayıyla temsil edilir: olumlu sözcüklerin sayısı ve olumsuz sözcüklerin sayısı. Bu, gerçek dilin tamamını temsil etmez; yalnızca modelin nasıl eğitildiğini görünür kılan varsayımsal bir örnektir.- Bir Python dosyası oluşturun. Dosyayı
yapay_zeka.pyadıyla kaydedin. - Eğitim verisini ve modeli ekleyin. Aşağıdaki kodda her iç liste bir girdiyi, son değer ise beklenen sınıfı belirtir.
Python:
# Her satır: [olumlu_sözcük_sayısı, olumsuz_sözcük_sayısı, sınıf]
# 1 = olumlu, 0 = olumsuz
veri = [
([3, 0], 1),
([2, 0], 1),
([0, 3], 0),
([0, 2], 0),
]
agirliklar = [0.0, 0.0]
bias = 0.0
ogrenme_orani = 0.1
for _ in range(20):
for ozellikler, beklenen in veri:
toplam = sum(a * x for a, x in zip(agirliklar, ozellikler)) + bias
tahmin = 1 if toplam >= 0 else 0
hata = beklenen - tahmin
for i in range(len(agirliklar)):
agirliklar[i] += ogrenme_orani * hata * ozellikler[i]
bias += ogrenme_orani * hata
def tahmin_et(olumlu, olumsuz):
ozellikler = [olumlu, olumsuz]
toplam = sum(a * x for a, x in zip(agirliklar, ozellikler)) + bias
return "olumlu" if toplam >= 0 else "olumsuz"
print(tahmin_et(3, 0))
print(tahmin_et(0, 3))
Programı çalıştırın. Komut satırında dosyanın bulunduğu klasöre geçip
python yapay_zeka.py komutunu çalıştırın. Sisteminizde komut farklıysa python3 yapay_zeka.py kullanılabilir.Çıktıyı kontrol edin. İlk tahminin
olumlu, ikinci tahminin olumsuz olması beklenir. Bu sonuç, yalnızca verilen iki özellik ve küçük eğitim verisi için modelin sınıflandırma yaptığını gösterir.Yeni örneklerle test edin.
tahmin_et(1, 0) veya tahmin_et(1, 2) gibi girdiler deneyin. Sonuçlar beklenmiyorsa eğitim verisini çeşitlendirin ve modeli daha önce görmediği örneklerle ayrıca değerlendirin.Bu örnek neyi kanıtlar, neyi kanıtlamaz?
Program, eğitim verisinden sayısal bir karar sınırı öğrenip yeni sayılar için sınıf üretir. Bu nedenle basit bir makine öğrenmesi örneğidir. Fakat cümlelerin anlamını gerçekten kavradığını, alay veya bağlamı anladığını ya da gerçek mesajlarda yüksek doğruluk sağlayacağını kanıtlamaz. Çünkü sözcüklerin sırası, yazım hataları, dil bilgisi ve bağlam bu örnekte modele verilmemiştir.Daha gerçekçi bir uygulamada metinler temizlenir, sözcükler sayısal özelliklere dönüştürülür, eğitim ve test verileri ayrılır, başarı ölçütleri hesaplanır ve yanlış sınıflandırılan örnekler incelenir. Görüntü, ses veya sohbet uygulaması geliştirmek istiyorsanız aynı temel akış korunur; yalnızca veri türü, özellik çıkarma yöntemi ve model değişir.
Önemli sınır: Eğitim verisinde kişisel, gizli veya izinsiz toplanmış bilgileri kullanmayın. Gerçek kullanıcı verisiyle çalışırken verinin kaynağını, kullanım amacını ve saklama güvenliğini ayrıca değerlendirin.