FikirKivami
Kayıtlı Üye
Yapay zekâ yapmak, tek bir düğmeye basmak değil; belirli bir işi öğrenebilen bir yazılım sistemi kurmaktır. En uygulanabilir yol, önce problemi ve veriyi tanımlamak, ardından hazır bir makine öğrenmesi kütüphanesiyle küçük bir model eğitmek ve modelin yeni girdilerdeki sonucunu ölçmektir. Aşağıdaki örnekte, metinleri iki sınıfa ayıran en küçük çalışan yapay zekâ uygulamasını kurabilirsiniz.
Örneğin amaç, bir mesajın "olumlu" ya da "olumsuz" olduğunu tahmin etmekse eğitim verisinde mesajlar ve doğru etiketleri bulunur. Model yalnızca eğitim örneklerini ezberlememeli; yeni bir mesajda da makul sonuç üretebilmelidir. Bu nedenle başarısını, eğitim sırasında kullanılmayan test verisiyle ölçmek gerekir.
Başlangıç için sınıflandırma, tahmin veya benzerlik arama gibi sınırları açık bir problem seçin. "İnsan gibi düşünen bir sistem" hedefi ölçülebilir olmadığı için iyi bir ilk proje değildir.
Bir yapay zekâ çıktısını doğrudan doğru kabul etmeyin. Özellikle sağlık, hukuk, finans, güvenlik veya kişisel veriler içeren uygulamalarda sonuçları insan denetimiyle doğrulayın. Modelin başarılı görünmesi, tarafsız olduğu, her durumda doğru çalıştığı veya neden o sonucu verdiğini açıkladığı anlamına gelmez.
İlk projeniz için tek bir görev seçin, ölçülebilir bir başarı ölçütü belirleyin ve küçük bir test veri kümesi hazırlayın. Sonraki geliştirme adımı, yanlış sınıflandırılan örnekleri inceleyip sorunun veriden mi, modelden mi yoksa hedefin yanlış tanımlanmasından mı kaynaklandığını ayırmaktır.
Yapay zekâ nasıl çalışır?
Bir yapay zekâ uygulamasında genellikle dört parça bulunur: girdi, model, eğitim verisi ve çıktı. Eğitim verisi, modele hangi girdinin hangi sonucu temsil ettiğini gösterir. Model bu örneklerdeki ilişkileri matematiksel olarak öğrenir. Daha sonra daha önce görmediği bir girdiyi sınıflandırır veya tahmin eder.Örneğin amaç, bir mesajın "olumlu" ya da "olumsuz" olduğunu tahmin etmekse eğitim verisinde mesajlar ve doğru etiketleri bulunur. Model yalnızca eğitim örneklerini ezberlememeli; yeni bir mesajda da makul sonuç üretebilmelidir. Bu nedenle başarısını, eğitim sırasında kullanılmayan test verisiyle ölçmek gerekir.
Hangi yöntem seçilmeli?
Seçim, yapmak istediğiniz işin türüne ve elinizdeki veriye bağlıdır. Başlangıçta hazır bir model veya kütüphane kullanmak, sıfırdan yapay sinir ağı yazmaktan daha güvenlidir.| Yaklaşım | Uygun olduğu durum | Başlangıç zorluğu |
|---|---|---|
| Kural tabanlı yazılım | Az sayıda açık ve değişmeyen koşul varsa | Düşük |
| Klasik makine öğrenmesi | Tablolu veri veya kısa metin sınıflandırma | Orta |
| Hazır büyük dil modeli | Metin üretme, özetleme veya soru yanıtlama | Düşük-Orta |
| Sıfırdan derin öğrenme modeli | Büyük ve özel veri kümesi ile araştırma gerektiren işler | Yüksek |
Python ile basit bir yapay zekâ modeli oluşturma
Bu örnek, kısa Türkçe metinleri olumlu veya olumsuz olarak sınıflandırır. Örneğin varsayımsal eğitim verisi kullanıldığı için gerçek bir ürünün doğruluğunu göstermez. Çalıştırmak için Python vescikit-learn paketi gerekir.- Problemi ve etiketleri belirleyin. Her metnin hangi sınıfa ait olduğunu yazın. Bu örnekte sınıflar
olumluveolumsuzolarak seçilmiştir. - Gerekli paketi kurun. Komut satırında
python -m pip install scikit-learnkomutunu çalıştırın. Kurulum tamamlanmadan Python dosyasını çalıştırmayın. - Modeli eğitin. Aşağıdaki kodu
ai_ornek.pyadıyla kaydedin ve çalıştırın:
Python:from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.linear_model import LogisticRegression metinler = [ "uygulama çok hızlı çalışıyor", "özellikleri kullanışlı ve başarılı", "program sürekli hata veriyor", "uygulama yavaş ve kullanımı zor" ] etiketler = ["olumlu", "olumlu", "olumsuz", "olumsuz"] vektorleyici = TfidfVectorizer() X = vektorleyici.fit_transform(metinler) model = LogisticRegression() model.fit(X, etiketler) yeni_metin = ["uygulama hızlı ve kullanışlı"] yeni_X = vektorleyici.transform(yeni_metin) print(model.predict(yeni_X)[0]) - Çıktıyı kontrol edin. Dosyayı
python ai_ornek.pykomutuyla çalıştırın. Programolumluveyaolumsuzyazdırır. Bu çıktı, modelin yeni metni eğitim örneklerindeki kelime örüntülerine göre sınıflandırdığını gösterir; metnin gerçekten doğru veya yanlış olduğunu kanıtlamaz. - Modeli gerçek test verisiyle değerlendirin. Eğitimde kullanılmamış etiketli örnekleri ayırın ve tahminleri doğru etiketlerle karşılaştırın. Test verisi olmadan görülen yüksek başarı, modelin yeni verilerde de başarılı olduğunu göstermez.
- Veriyi ve modeli geliştirin. Daha çeşitli, doğru etiketlenmiş ve kullanım amacını temsil eden örnekler ekleyin. Aynı veya çok benzer cümleleri hem eğitim hem test verisine koymak, başarıyı gerçekte olduğundan yüksek gösterebilir.
Model eğitmek ile hazır yapay zekâ kullanmak arasındaki fark
Kendi modelinizi eğitmek, verinin ve tahmin sürecinin daha fazla kontrolünü sağlar; ancak veri hazırlama, hata analizi ve bakım sorumluluğu size ait olur. Hazır bir model veya hizmet kullanmak daha hızlı başlangıç sağlayabilir, fakat modelin nasıl eğitildiği, hangi girdilerde hata yaptığı ve verilerin nasıl işlendiği ayrıca incelenmelidir.Bir yapay zekâ çıktısını doğrudan doğru kabul etmeyin. Özellikle sağlık, hukuk, finans, güvenlik veya kişisel veriler içeren uygulamalarda sonuçları insan denetimiyle doğrulayın. Modelin başarılı görünmesi, tarafsız olduğu, her durumda doğru çalıştığı veya neden o sonucu verdiğini açıkladığı anlamına gelmez.
İlk projeniz için tek bir görev seçin, ölçülebilir bir başarı ölçütü belirleyin ve küçük bir test veri kümesi hazırlayın. Sonraki geliştirme adımı, yanlış sınıflandırılan örnekleri inceleyip sorunun veriden mi, modelden mi yoksa hedefin yanlış tanımlanmasından mı kaynaklandığını ayırmaktır.