elektrik port üyelik servisleri elektrik port üyelik servisleri

Makine Öğrenim Projesi Oluşturmak İçin Takip Etmeniz Gereken 6 Adım

Elinizde veriler var ve bu verilerle makine öğrenimini nasıl oluşturacağınızı öğrenmek isitiyorsanız yazımıza bir göz atın.



A- A+
15.02.2020 tarihli yazı 15301 kez okunmuştur.
İlk olarak makine öğrenmesine daha yakından bakalım. Makine öğrenmesinde öğrenme süreci, örneklere dayanarak verilerdeki kalıpları aramak ve gelecekte daha iyi kararlar almak için, doğrudan deneyim veya talimatlar gibi gözlemler ile başlar. Birincil amaç, bilgisayarların insan müdahalesi veya yardımı olmadan otomatik olarak öğrenmelerini sağlamak ve eylemleri buna göre ayarlamaktır.

Bir makine öğrenim hattı üç ana aşamaya ayrılabilir. Veri toplama, veri modelleme ve dağıtım. Hepsi birbirini etkiler. Bir projeye veri toplayarak başlayabilir, modelleyebilir, topladığınız verilerin zayıf olduğunu fark edebilir, başka bir model oluşturabilirsiniz. En iyi modeli bulana kadar bu bir döngü olarak devam eder.
 
Peki modelleme nedir? Modelleme, toplanan verilerinizdeki bilgileri bulmak için bir makine öğrenme algoritması kullanmayı ifade eder. Bu aşamada, veri bilimcisi hangisinin en doğru tahminleri sağladığını tanımlamak için çok sayıda model eğitir.
 
Birçok farklı makine öğrenme algoritması vardır ve bazıları farklı problemlerde diğerlerinden daha iyi performans gösterir. Fakat hepsi de verilerdeki kalıpları veya talimat setlerini bulma amacına sahiptir.
 
Dağıtım ise  talimat setinizi alır ve bir uygulamada kullanır, verilere dayalı pratik iş kararları almak için bir makine öğrenimi modelini mevcut bir üretim ortamına entegre etme yöntemidir Bu adımların özellikleri her proje için farklı olacaktır. Ancak her birindeki ilkeler aynıdır.

 
 
 
 

Veri Modellemeye Daha Yakından Bakalım

 
1) Problemin tanımı: Hangi iş sorununu çözmeye çalışıyoruz? Bir makine öğrenme problemi olarak nasıl ifade edilebilir?
 
2) Veri: Makine öğrenimi verilerden bilgi alıyorsa, hangi verilere sahibiz? Sorun tanımıyla nasıl eşleşiyor? Verilerimiz yapılandırılmış mı yoksa yapılandırılmamış mı? 
 
3) Değerlendirme: Başarıyı ne tanımlar? % 95 doğru makine öğrenimi modeli yeterince iyi mi?
 
4) Özellikler: Verilerimizin hangi kısımlarını modelimiz için kullanacağız? Bildiğimiz şey bunu nasıl etkileyebilir?
 
5) Modelleme: Hangi modeli seçmelisiniz? Nasıl geliştirebilirsiniz? Diğer modellerle nasıl karşılaştırıyorsunuz?
 
6) Deney: Başka ne deneyebiliriz? Uyguladığımız model beklediğimiz gibi mi çalışıyor? 
 
 

1) Problem tanımı: İş probleminizi makine öğrenimi problemi olarak yeniden yazın

 
İki model eğitim tarzı en yaygın olanıdır; denetimli ve denetimsiz öğrenme. Her stilin seçimi, belirli nitelikleri veya grup veri nesnelerini benzerliklere göre tahmin etmeniz gerekip gerekmediğine bağlıdır.
 
Denetimli öğrenme, hedef niteliklere veya etiketli verilere sahip verilerin işlenmesine olanak tanır. Bu özellikler eğitim başlamadan önce geçmiş verilerde haritalandırılır. Denetimli öğrenme ile bir veri bilimcisi sınıflandırma ve regresyon problemlerini çözebilir.
 
Örneğin, yeni bir hastada kalp hastalığını tahmin etmeye çalışıyorsanız. Veri olarak 100 hastanın anonimleştirilmiş tıbbi kayıtlarına ve etiket olarak kalp hastalığı olup olmadıklarına sahip olabilirsiniz.

Bir makine öğrenme algoritması tıbbi kayıtlara (girişler) ve bir hastanın kalp hastalığı (çıkışları) olup olmadığına bakabilir ve daha sonra tıbbi kayıtlardaki hangi modellerin kalp hastalığına yol açtığını anlayabilir.

Eğitimli bir algoritmaya sahip olduğunuzda, yeni bir hastanın tıbbi kayıtlarından (girdi) yararlanabilir ve kalp hastalığı (çıktı) olup olmadığını tahmin edebilirsiniz.  Örneğin; buna dayanarak algoritma, “daha ​​önce gördüklerime dayanarak, bu yeni hastaların tıbbi kayıtlarında % 70'i kalp hastalığı olan hastalar gibi görünüyor” sonucunu veriyor.
 
Denetimsiz öğrenme, verileriniz olduğu, ancak etiketinizin olmadığı eğitim modelidir. Veriler, video oyun mağazası müşterilerinizin satın alma geçmişi olabilir. Bu verileri kullanarak, benzer müşterileri birlikte gruplandırmak isteyebilirsiniz, böylece onlara özel fırsatlar sunabilirsiniz. Müşterilerinizi satın alma geçmişine göre gruplandırmak için bir makine öğrenme algoritması kullanabilirsiniz.

Grupları inceledikten sonra etiketleri sağlarsınız. Bilgisayar oyunlarıyla ilgilenen bir grup, konsol oyunlarını tercih eden bir grup ve sadece indirimli eski oyunları satın alan bir grup olabilir. Buna kümeleme denir.

Burada hatırlanması gereken, algoritmanın bu etiketleri sağlamadığıdır. Benzer müşteriler arasındaki kalıpları bulur ve etiketleri oluşturur.
 

 

2) Veri: Makine öğrenimi verilerden bilgi alıyorsa, hangi verileriniz var?

 
Toplamanız gereken veriler çözmek istediğiniz probleme bağlı olacaktır. Zaten verileriniz varsa, muhtemelen iki formdan birinde olacaktır. Yapılandırılmış veya yapılandırılmamış. 
 
Yapısal verilerKısaca satır ve sütun tablosudur; müşteri işlemlerinin Excel elektronik tablosu, ortalama kalp atış hızı gibi sayısal verilerin tablosu örnek olarak gösterilebilir.
 
Yapılandırılmamış verilerSatır ve sütun biçimine yerleştirilemeyen her şey, resimler, ses dosyaları örnek verilebilir.
 
Denetimli öğrenme de, hedef değişkenleri tahmin etmek için özellik değişkenlerini kullanmanız gerekir. Kalp hastalığını tahmin etmek için bir özellik değişkeni cinsiyet olabilir, hedef değişken; hastanın kalp hastalığı olup olmadığıdır.
 
Denetimsiz öğrenme için etiketleriniz olmayacaktır. Ama yine de özellik değişkeni kullanmanız gerekecektir. Bunlar, benzer örnekleri gruplandırmak ve aykırı örnekleri bulmak olabilir.
 
 

3) Değerlendirme: Başarıyı ne tanımlar? % 95 doğru makine öğrenimi modeli yeterince iyi mi?


İş probleminizi makine öğrenimi terimleriyle tanımladınız ve verileriniz var. Şimdi başarıyı neyin sağladığını öğrenelim.

Sınıflandırma, regresyon ve öneri problemleri için farklı değerlendirme ölçütleri vardır. Hangisini seçtiğiniz hedefinize bağlıdır. Bu projenin başarılı olması için, modelin birisinin hatalı olup olmadığına dair ölçüt, modelin % 95'in üzerinde doğru olmasıdır. % 95 doğru bir model, bir sigorta talebinde kimin hatalı olduğunu tahmin etmek için oldukça iyi görünebilir. Ancak kalp hastalığını tahmin etmek için muhtemelen daha iyi sonuçlara ihtiyaç duyacaksınız. Sınıflandırma problemleri için göz önünde bulundurmanız gereken diğer hususlar; Regresyon sorunları için (bir sayıyı tahmin etmek istediğiniz yerde), modelinizin öngördüğü ile gerçek değerin ne olduğu arasındaki farkı en aza indirmek gerekir. Bir evin satacağı fiyatı tahmin etmeye çalışıyorsanız, modelinizin gerçek fiyata mümkün olduğunca yakın olmasını istersiniz. Bunu gerçekleştirmek için MAE veya RMSE kullanmanız gerekir.

Ortalama mutlak hata (MAE): Modelinizin tahminleri ile gerçek sayılar arasındaki ortalama fark. Herhangi bir test veri kümesi verildiğinde, modelinizin Ortalama Mutlak Hatası, test veri setinin tüm örneklerindeki her tahmin hatasının mutlak değerlerinin ortalamasını ifade eder. Tahmin hatası, o örnek için gerçek değer ile öngörülen değer arasındaki farktır.

Kök ortalama kare hatası (RMSE): Modelinizin tahminleri ile gerçek sayılar arasındaki kare farklarının ortalamasının kare kökü. Hatanın ortalama büyüklüğünü ölçer. Daha fazla örneğimiz olduğunda, RMSE kullanarak hata dağılımını yeniden yapılandırmanın daha güvenilir olduğu düşünülmektedir. RMSE, aykırı değerlerden büyük ölçüde etkilenir. Bu nedenle, bu metriği kullanmadan önce veri kümenizdeki aykırı değerleri kaldırdığınızdan emin olun.


 
 

4) Özellikler - Verileriniz hangi özelliklere sahiptir ve modelinizi oluşturmak için hangi özellikleri kullanabilirsiniz?

 
Tüm veriler aynı özellikte değildir. Verilerimizi 3 ana özellik türüne göre sınıflandırabiliriz.
 
Kategorik özellikler: Biri veya diğeri. Örneğin, kalp hastalığı problemimizde, hastanın cinsiyeti. Veya bir mağaza için, müşterinin satın alma işlemi yapıp yapmadığı.
Sürekli (veya sayısal) özellikler - Ortalama kalp atış hızı veya oturum açma sayısı gibi sayısal bir değer.

Türetilmiş özellikler: Verilerden oluşturduğunuz özellikler. Genellikle özellik mühendisliği olarak adlandırılır. Özellik mühendisliği, bir konunun uzmanının bilgilerini alıp verilere nasıl dönüştürdüğüdür. Metin, resimler ve hayal edebileceğiniz hemen hemen her şey de bir özellik olabilir. Ne olursa olsun, bir makine öğrenme algoritması bunları modellemeden önce hepsi sayılara dönüştürür.
 
Özellikler söz konusu olduğunda hatırlanması gereken bazı önemli şeylere bir göz atalım:
 

► Deney (eğitim) ve üretim (test) sırasında bunları aynı tutun: Bir makine öğrenme modeli, gerçek bir sistemde ne için kullanılacağına mümkün olduğunca yakın olan özellikler konusunda eğitilmelidir.

► Konuyu uzmanlarıyla çalışın: Sorun hakkında zaten ne biliyorsunuz, bildikleriniz kullandığınız özellikleri nasıl etkileyebilir? Makine öğrenim mühendislerinize ve veri bilimcilerinize bunu bildirin.

► Buna değerler mi? : Örneklerinizin sadece % 10'unda bir özellik varsa, onu bir modele dahil etmeye değer mi? En fazla kapsama alan özellikleri tercih edin.

► Mükemmel eşittir kırılmış: Modeliniz mükemmel performans elde ediyorsa, muhtemelen bir yerde özellik sızıntısı vardır. Bu, modelinizin üzerinde çalıştığı verilerin test edilmesi için kullanıldığı anlamına gelir. Hiçbir model mükemmel değildir.
 
  
 
 
 ► İlginizi Çekebilir: Makine Öğrenimi için 6 Araç
 

5) Modelleme: Hangi modeli seçmelisiniz? Nasıl geliştirebilirsin? Diğer modellerle nasıl karşılaştırıyorsunuz?

 
Sorununuzu tanımladıktan sonra, verilerinizi, değerlendirme ölçütlerinizi ve özelliklerinizi hazırlamanın zamanı geldi.
Modelleme üç parçaya ayrılır, model seçilir, geliştirir, diğerleriyle karşılaştırılır.

Model seçerken, yorumlanabilirlik ve hata ayıklama kolaylığı, veri miktarı, eğitim ve tahmin sınırlamalarını dikkate almak size kolaylık sağlayacaktır.
 
 Yorumlanabilirlik ve hata ayıklama kolaylığı: Model nasıl bir karar verdi? Hatalar nasıl düzeltilebilir?
 
► Veri miktarı: Ne kadar veriniz var? Bu değişecek mi?
 
► Eğitim ve tahmin sınırlamaları: Bu yukarıdakilerle bağlantılıdır, eğitim ve tahmin için ne kadar zamanınız ve kaynağınız var?
 
Lojistik regresyon gibi doğrusal modellerin yorumlanması genellikle daha kolaydır, eğitim için çok hızlıdır ve sinir ağları gibi daha derin modellerden daha hızlı tahmin edebilir.

Ama muhtemelen verileriniz gerçek dünyadan geliyor. Gerçek dünyadan gelen veriler her zaman doğrusal değildir. Bu durumda ne yapmalıdır?
 
Karar ağaçları ve gradyan destekli algoritmalar genellikle Excel tabloları ve veri çerçeveleri gibi yapılandırılmış veriler üzerinde en iyi sonucu verir. 
 
Sinir ağları gibi derin modeller ise genellikle en iyi görüntüler, ses dosyaları ve doğal dil metni gibi yapılandırılmamış veriler üzerinde çalışır. 
 
Önceden eğitilmiş modelleri kullanarak sürede önemli ölçüde tasarruf sağlayabilir ve daha hızlı deneme gerçekleştirebilirsiniz.

Önceden eğitilmiş modelleri  PyTorch hubTensorFlow hubmodel zoo and within the fast.ai framework çerçevesinde bulabilirsiniz.
 

 

Peki ya diğer modeller?

 
Bir kavram kanıtı oluşturmak için, kendi makine öğrenme modelinizi oluşturmanız gerekmeyecektir. İnsanlar zaten bunlar için kod yazmışlar.

Odaklanacağınız şey, girdilerinizi ve çıktılarınızı mevcut bir modelle kullanılabilecek şekilde hazırlamaktır. Bu, verilerinizin ve etiketlerinizin kesin olarak tanımlanmasını ve hangi sorunu çözmeye çalıştığınızı anlama anlamına gelir.

 
 
Modeli geliştirme: Bir arabanın performans ayarlanması gibi, makine öğrenme modelleri de performansı artırmak için ayarlanabilir.

Bir modelin ayarlanması, öğrenme hızı veya optimize edici gibi hiperparametrelerin değiştirilmesini içerir. Veya rasgele ormanlar için ağaç sayısı ve sinir ağları için katman sayısı ve türü gibi modele özgü mimari faktörlerde söylenebilir.

Modellerin ayarlanması ve geliştirilmesi için öncelik, tekrarlanabilirlik ve verimlilik olmalıdır. Hem performans hem verimlilik artışına odaklanılmalıdır.
 

 

Modelleri karşılaştırma

 
Makine öğrenimi algoritmalarının adil bir karşılaştırmasının anahtarı, her algoritmanın aynı veriler üzerinde aynı şekilde değerlendirilmesini sağlamaktır.
Bunu, her algoritmayı tutarlı bir test takımı üzerinde değerlendirerek elde edebilirsiniz.

Aşağıdaki verdiğimiz yöntemleri kullanarak karşılaştırmalarınızı gerçekleştirebilirsiniz:

 
1) Lojistik regresyon
2) Doğrusal Ayırım Analizi
3) K-En Yakın Komşular
4) Sınıflandırma ve Regresyon Ağaçları
5) Naif bayanlar
6) Vektör makineleri desteklemek

 

6) Deney: Başka ne deneyebiliriz? Diğer adımlar bulduğumuz şeye göre nasıl değişir?  Modelimiz beklediğimiz gibi mi çalışıyor?

 
Makine öğrenimi oldukça yinelemeli bir süreç olduğundan, denemelerinizin eyleme geçirilebilir olduğundan emin olmak istersiniz.

En büyük hedefiniz çevrimdışı denemeler ile çevrimiçi denemeler arasındaki süreyi en aza indirmek olmalıdır.

Çevrimdışı denemeler, projeniz henüz müşteriyle karşı karşıya olmadığında attığınız adımlardır. Çevrimiçi deneyler, makine öğrenme modeliniz üretildiğinde gerçekleşir.
Tüm denemeler verilerinizin farklı bölümlerinde yapılmalıdır.

Eğitim veri setiModel seti için bu seti kullanın, verilerinizin% 70-80'i standarttır.
 
Doğrulama / geliştirme veri setiModel ayarı için bu seti kullanın, verilerinizin% 10-15'i standarttır.
 
Test veri seti: Model testi ve karşılaştırma için bu seti kullanın, verilerinizin% 10-15'i standarttır.
 
Bu miktarlar, sorununuza ve sahip olduğunuz verilere bağlı olarak dalgalanma gösterebilir.
 
Egzersiz verilerinde düşük performans olması, modelin düzgün bir şekilde öğrenmediği anlamına gelir. Farklı bir model deneyin, mevcut olanı geliştirin, daha fazla veri toplayın, daha iyi veri toplayın.
 
Test verilerindeki düşük performans, modelinizin iyi bir şekilde genellemediği anlamına gelir. Modeliniz egzersiz verilerine fazla uyuyor olabilir. Daha basit bir model kullanın veya daha fazla veri toplayın.
 
Uyguladığınız modeliniz düşük performans gösteriyor ise, modelinizi ne üzerinde eğittiğiniz, test ettiğiniz ve gerçekte neler olduğu konusunda bir fark olduğu anlamına gelir. Adım 1 ve 2'yi tekrar gözden geçirin. Verilerinizin çözmeye çalıştığınız sorunla eşleştiğinden emin olun.
 




Yazar: Esma DEVECİ

KAYNAK:

► towardsdatascience.com
► machinelearningmastery.com
► 
datarobot.com

Aktif etkinlik bulunmamaktadır.
ANKET
Endüstri 4.0 için En Hazır Sektör Hangisidir

Sonuçlar