Yapay Zeka – Makine Öğrenmesi, Derin Öğrenme – Scikit-Learn

Açıklama: Yapay Zeka Nedir? Makine Öğrenmesi ve Derin Öğrenme Nedir? Regresyon Analizi nedir? Scikit-Learn nedir? Scikit-Learn ile sık kullanılan fonksiyonlar nelerdir?

Bilgisayar biliminde Yapay Zeka (AI) terimi, bir bilgisayar, robot veya başka bir makine tarafından sergilenen herhangi bir insan benzeri zeka anlamına gelir. Popüler kullanımda yapay zeka, bir bilgisayarın veya makinenin insan zihninin yeteneklerini taklit etme – örneklerden ve deneyimlerden öğrenme, nesneleri tanıma, dili anlama ve bunlara yanıt verme, karar verme, problem çözme – ve bunları ve diğerlerini birleştirme yeteneğini ifade eder. Bir otel misafirini selamlamak veya araba kullanmak gibi bir insanın gerçekleştirebileceği işlevleri yerine getirme yetenekleridir.

Gerçek bir biyolojik zeka var ve ayrıca sanki bir yapay zeka var diyebiliyorsunuz. İnsanlar olarak gerçekleştirdiğimiz makinaların düşünmelerini sağladığımız bir yaklaşım olarak düşünebilirsiniz. Ancak hiç de öyle bir düşünme durumunun söz konusu olmadığını sizler de biliyorsunuz.

Yapay Zeka dört kategoride ele alınabilir: 

https://present5.com/advanced-artificial-intelligence-lecture-1-introduction-to-ai/

  1. İnsan gibi düşünebilmek
  2. Makul düşünebilmek
  3. İnsan gibi davranışlar sergileyebilmek
  4. Makul davranışlar sergilemek

Aslında etrafınızda gördüğünüz, kullandığınız,  bütün Yapay Zeka(AI) teknolojileri 4. kategoriye giriyor. Şu an ne insan gibi davranışlar sergileyebilen makineler yapabildik, ne de makul düşünebilen makinalar yapabildik. İnsan gibi düşünebilmek kategorisine de çok uzağız diyebilirsiniz.

Doğada 4 temel kuvvet vardır. Sizler şuan bir tanesinin mühendisliğini yapabiliyorsunuz. Mühendisliğini yapabildiğiniz kuvvet ise Elektromanyetik Kuvvet. Elektromanyetik Kuvvete bir mühendis gibi işleyebiliyorsunuz, elektronlar ile işlem yapabiliyorsunuz veya hesaplamalar yapabiliyorsunuz. Son 200 yılda biz bunları tanıdık. Örneğin, Yer Çekimi(Gravity)’nin parçacığı bile bulunamadı veya bulunmaya çalışıyor diyebilirsiniz. Atom altı kuvvetler, Güçlü ve Zayıf Nükleer Kuvvetler’in ise şuan Avrupa Nükleer Araştırma Merkez (Cern)’inde bilimi yapılıyor. Yani şuan Elektromanyetik Kuvvet üzerinden beyni veya Yapay Zekayı tanımlayabiliyorsunuz. Doğada yer alan diğer kuvvetler ile de etkileşimi olduğunu düşünürseniz, şuan 2 Kategori’de de yer alan düşünebilen Yapay Zeka kısmına uzak olduğumuzu anlayabilirsiniz.

https://www.space.com/four-fundamental-forces.html

Bir kitabı bir masanın üstünde tutan kuvvet (kitabı yere çeken yerçekimi yerine), elektromanyetik kuvvetin bir sonucudur: Masanın atomlarındaki elektronlar, kitabın atomlarındaki elektronları iter. ( NASA/Shutterstock)

Makine Öğrenmesi ve Derin Öğrenme 

  • Makine öğrenimi , kendi kendine öğrenen yapay zeka uygulamasının bir alt kümesidir. Aslında, daha fazla veriyi özümsedikçe, gerçekleştirmek için tasarladığı belirli görevi giderek daha fazla doğrulukla gerçekleştirmek için kendini yeniden programlıyor.
  • Derin öğrenme , belirli bir görevi insan müdahalesi olmadan giderek daha yüksek doğrulukla gerçekleştirmeyi kendisine öğreten makine öğrenimi uygulamasının bir alt kümesidir.

Scikit-Learn

  • Scikit-learn, ilk olarak David Cournapeau tarafından 2007’de bir Google yaz kod projesi olarak geliştirildi. Daha sonra Matthieu Brucher projeye katıldı ve tez çalışmasının dışında kullanmaya başladı.
  • Scikit-learn, Python’da tutarlı bir arayüz aracılığıyla bir dizi denetimli ve denetimsiz öğrenme algoritması sağlar. İzin verilen, basitleştirilmiş bir BSD lisansı altında lisanslanmıştır ve akademik ve ticari kullanımı teşvik eden birçok Linux dağıtımı altında dağıtılmaktadır.
  • Kütüphane, Scikit-Learn’ü kullanmadan önce yüklenmesi gereken SciPy (Scientific Python) üzerine inşa edilmiştir.

Regresyon analizi

  • Regresyon analizi, bir sisteme dahil edilen bağımlı (Y) ve bağımsız değişkenler (x1, x2,…, xn) arasındaki ilişkiyi değerlendirmek için yaygın olarak kullanılan istatistiksel araçlardan biridir.
  1. Basit doğrusal regresyon,
  2. Çok değişkenli regresyon analizi,
  3. Doğrusal olmayan regresyon analizi olarak sınıflandırılabilir.

Bu veri kümesinde bağımlı değişken maaş olacak ve diğer değişkenler bağımsız olacak. Regresyon analizi yapmak için soracağınız soru;

Maaşı ne etkiliyor?

  • Kütüphaneyi çağırma; 
  • Pandas’ın read fonksiyonu ile okuyacağımız için çağırdık.

  • Veriyi okumak;
  • Cinsiyeti, yaşı, eğitimi, mesleği, başlangıç maaşı, süre, önceki iş tecrübeleri değişkenleri bağımsız değişkenlerdir.
  • Veriyi excel dosyası olduğu için read_excel ile okuduk ve bir değişkenin içine atadık.

  • Veriyi tanımak;
  • Taşların toplamı 474 ve hepsi 474 gözüküyor, kayıp veri (missing data) yok demek ki.
  • Örneğin bağımsız değişkenlerden yaşa baktığımız zaman sola yığıldığını yani 25 ile 35 yaşında daha çok veri olduğunu görebilirsiniz.
  • Daha anlaşılır olması için Transpozunu alabilirsiniz.

Basit Doğrusal Regresyon

𝑌=𝛽0+𝛽1𝑋𝑙

  • Veriyi Görselleştirmek;
  • X değişkeni olarak başlangıç maaşını, y değişkeni olarak ise şuan ki maaşı seçtik.
  • Pozitif bir korelasyon olduğunu söyleyebilirsiniz.
  • İlişki tam olarak linear olmayabilir ama biz öyle varsayacağız.

  • Scikit-Learn’de Doğrusal Regresyon Problemi eğitmek;
  • Kütüphaneyi çağırdık ve LinearRegression fonksiyonunu ya da predictor’ını çağırdık.
  • Siz genel olarak; regresyon olsun classifier olsun aynı işleri yapacaksınız.
  • Bir tane predictor object’i oluşturacaksınız ve daha sonra aldığınız bağımsız değişkenler ile modeli fit edeceksiniz.
  • O da size modeli train edecek ve ondan sonra prediction yapabileceksiniz.
  • Ana iş akışı bu şekilde diyebilirsiniz.
  • Tek bir feature ile çalışacağınız için başlangıç maaşlarını-salbegin alabilirsiniz.
  • y bağımslı değişkeni için maaş-salary aldık.
  • Modeli fit ettikten sonra, başlangıç maaşının katsayısını-coefficient print fonksiyonu ile yazdırabilirsiniz.
  • intercept-regresyon sabitidir, zaman zaman bias’da denilebilir.

www.veribilimiokulu.com/basit-dogrusal-regresyon

  • Sonucun yorumlanması
  • coefficient : 1.9094497290679824 # katsayı
  • intercept : 1928.2057573545462 # regresyon sabiti-bias

Y = 1928.2057573545462 + 1.9094497290679824 x (salbegin)

  • LR içinde katsayıları scikit-learn tutuyor, siz sadece predict fonksiyonunu çağırmalısınız.
  • Eğer yeni salbegin-başlangıç maaşı ile birileri eklenirse veri kümesine
  • 20.000, 25.000, 30.000 için maaşları inceleyebilirsiniz.
  • Önce bunları np.array’e atmalısınız.
  • Daha sonra siz reshape yapmalısınız, çünkü predict objeect’leri 2 dimension’lı-boyutlu istiyor.
  • 3,1’lik bir array’e dönüştüğünü görebilirsiniz.
  • Artık sadece x değerlerini verip modeli predict edebilirsiniz.

  • Tahmin edilen modeli görselleştirmek ;
  • Tek bir değişken ile çalıştığınız için görselleştirmek kolay olabiliyor ama birden çok değişken ile çalıştığınız zaman her biri yeni bir dimension-boyut eklediği için görselleştirmek zor olabiliyor.
  • x değeri için tahmin değerlerini oluşturacaksınız
  • Linear bir model fit etmiş olacaksınız.
  • Sonuçta biz %100 başarı ile fit etmek istemiyoruz, genel trendi yakalamak istiyoruz.

Tüm kodları Machine Learning, Repository içerisinde bulabilirsiniz. github.com/ismetcsahin

Gelecek yazımda ise Scikit-Learn–2  ile sıklıkla kullanılan fonksiyonlara devam edeceğim.