Makine öğrenimi - Kral Çıplak Mı?
Makine öğreniminin nasıl çalıştığına dair sahne arkasını biraz gezelim. Çünkü muhtemelen çevrenizdeki arkadaşlarınızdan veya iş yerinde birilerinden makine öğrenmesi hakkında birşeyler duyuyorsunuz. Bunları anlamıyor ve sormaya da çekiniyorsunuz. Büyülü birşey olduğunu ve yapmanın çok zor olduğunu düşünüyor bile olabilirsiniz. Gelin bu durumu bitirelim artık.
Makine öğrenimi, verileri etiketlemek için verideki kalıpları kullanır. Büyülü geliyor, değil mi? Temel kavramlar aslında utanç verici derecede basittir. “Utandırıcı” diyorum çünkü eğer birisi size "bunun gizemli birşey olduğunu iddia ederse" söylerse, utanmaları gerekir. İşte, bunu düzeltmek için buradayız.
Veri-etiketleme örneğimiz, şarabın nefis veya çok lezzetli olup olmadığını anlamak üzerine. Tüm ana fikir bir kadeh şarabın (belki birkaç kadeh) keyfini çıkarmaya yetecek kadar lezzetli olmasını içerecektir. Eğer şarap içmiyorsanız yazının bundan sonrasını bir fincan kahve olarak da okuyabilirsiniz, ya da aynı metnin alkolsüz bir versiyonunu da isterseniz yazabiliriz. Sorun değil.
Makine öğrenmesi tekniklerinin zor görünen problemlere ne kadar kolaylıkla uygulandığını göreceksiniz. Makine öğrenmesiyle her problemi çözebileceğinizi ve yeterince veri olduğu sürece cevapları bulabileceğinizi görünce eğlenmeye de başlayacaksınız. Siz sadece veriyi sağlayın. Sonra da arkanıza yaslanıp bilgisayarın sihirli bir şekilde veriye uygun denklemi çıkarmasını bekleyin!
Ama bir şeyi mutlaka unutmayın: Eğer probleminiz elinizdeki veriyle çözülebilir bir problem ise (yani ilişkili özellikler varsa) makine öğrenmesi doğru bir şekilde çalışacaktır.
Örneğin, ev satış fiyatlarını içindeki kişilerin yaşlarına göre tahmin ediyorsanız, bu hiçbir zaman çalışmayacaktır. Evin satış fiyatıyla evde yaşayanların yaşları arasında bir ilişki bulunmaz. Bu yüzden de makine öğrenmesi ne kadar uğraşırsa uğraşsın bu ikili arasında bir ilişki kuramayacak ve modeliniz doğru sonuçlar üretmeyecektir.
Makine Öğrenmesi bir sihir değildir ve veri olmadan öğrenmek imkansızdır.
Makine Öğrenmesi için öğreneceğiniz bir şeye ihtiyacınız var. Bu yüzden biraz şarabın tadına bakmalıyız. Ve bu işi kendimiz yapıyoruz. Bilim için yaptığımız birkaç kadeh şarabın tadına bakmak ve bunları etiketlemek. Haydi 50 şarap tattığımızı (bilim için!) hayal edelim ve aşağıdaki gibi bilgileri görüntüleyelim. Her şarabın yıllar içinde bir yaşı ve bir değerlendirme puanı olsun, ayrıca öğrenmeye çalıştığımız doğru cevaplar: Y için nefis ve N için de çok lezzetli değil.
Şarapları tattıktan ve verilerini bir e-tabloda (solda) kaydettikten sonra, iyi bir şekilde size bilgileri daha göz alıcı olması için sağdaki gibi gösterdik. Özellikler ve örnekler gibi veri kümesi jargonunuz varsa, işte size bu konuda yol gösterici kılavuzumuz. Arkadaş olduğumuzdan, “girdiler” iyi olacak.
Kullanmak için bir makine öğrenimi algoritması seçerek, alacağımız tarif türünü seçiyoruz. Neden benim algoritmam olmayacaksın? Tüm işin kırmızı şeyleri maviden ayırmak. Bunu yapabilirmisin? gibi sorular sorabiliriz.
Bir makine öğrenimi algoritmasının amacı, verilerinize bir çit koymak için en mantıklı yeri seçmektir.
Bir çizgi çizmeyi düşünüyorsanız, tebrikler! Sen sadece bir isim öğrenme algoritması icat ettin. Evet, böyle basit bir şey için böyle bir bilimkurgu ismi! Lütfen makine öğreniminde jargon tarafından gözünüzü korkutmayın, genellikle bu şoku hak etmiyor ve isminden dolayı hayranlık uyandırmayı hak etmiyor.
Ama çizginiz nereden geçiyor? Umarım düz bir çizginin çok akıllı bir çözüm olmadığını kabul edersiniz. Amacımız Y'yi N'den ayırmak, ufku süslememek.
Bir makine öğrenimi algoritmasının amacı, çit koymak için en mantıklı yeri seçmektir ve veri noktanızın nereye gittiğine göre karar vermelisiniz. Bunu nasıl yapabilirsiniz? Bir nesnel fonksiyonu optimize ederek.
Geleneksel olarak makine öğrenmesinde havuçtan daha çok sopa kullanmayı severiz. Noktalar hatalar için cezalandırılır (çitin yanlış tarafında bir etiket elde edilir) ve oyun bu kötü noktalardan mümkün olduğunca azını elde etmektir. Bu nedenle makine öğrenmesindeki objektif işlev “kayıp fonksiyonu” olarak adlandırılma eğilimindedir ve amaç kaybın en aza indirilmesidir.
Oynamak istiyorum? Yukarıdaki arsaya geri dönün, parmağınızı ekrana doğru yatay olarak yerleştirin ve sıfır kötü puan elde edene kadar döndürün (güçlü parmağınızın ayrışan gazabından kaçan bir nokta yok). Tebrikler Yoldaş Perceptron! Henüz fütüristik hissediyor musun?
Geldiğiniz çözüm, umarım böyle bir şeydir:
En soldaki resimdekine süper demiyorsunuzdur sanırım. Ortada olanın daha iyi olduğunu kabul ediyorsunuzdur, ancak yine de mümkün olduğu kadar iyi değil. Ben en sağdakinin hayranıyım.
Çeşitliliği seviyorsanız, algoritmalara bayılacaksınız. Çok fazla var! Bunlardan bol miktarda vardır. Birbirlerinden farklılık göstermelerinin bir yolu, ayrılan sınır için farklı pozisyonlarda denemeleridir.
Optimizasyon telleri, çitin minik artışlarla döndürülmesinin belgelenebilir olduğunu (size bunu kandırdığı için özür dilerim!) ve optimum pozisyona daha hızlı ulaşmanın çok daha iyi yollarının olduğunu söyleyecektir. Bazı araştırmacılar, tüm yaşamlarını en dar olan en iyi çit pozisyonunu elde etmek için yollar bulmaya çalışırlar, araziniz (girdileriniz tarafından belirlenir) ne kadar sapkın olursa olsun.
Başka bir çeşitlilik kaynağı, sınırın şeklidir. Çitin düz olması gerekmiyor. Farklı algoritmalar farklı çitler kullanır.
Bu kargacık burgacık isimlerden birini seçtiğimizde, etiketler arasında çizdiğimiz sınırın şeklini seçiyoruz. Onları bir diyagonal çizgi veya birçok yatay / dikey çizgi veya esnek parmak boyalar gibi bir şeyle ayırmak ister miyiz? Seçebileceğiniz çok sayıda algoritma var.
Bu günlerde, hiçbir veri bilimcisi, alçakgönüllü düz çizgiye girmiyor. Esnek, dalgalı şekiller, sinir ağları olarak da bilinen derin öğrenme (ancak her ne kadar çok sinirsel bir şey olmasa da) yöntemleri kullanıyorlar.
Sinir ağlarının özel güçleri size çok esnek bir sınır sağlar. Kargacık burgacık algoritma isimleri, verilerinizde hangi çit biçimini verdiklerini anlatıyor. Uygulamalı bir makine öğrenim tutkunuysanız, bunları ezberlemezseniz sorun yoktur. Pratikte, verilerinizi olabildiğince çok algoritma kullanarak çekip nelerin ümit verici görüneceği konusunda yineleyebilirsiniz. Yemeğin güzel olup olmadığının en iyi kanıtı onları yemektir... hadi yiyelim.
Ders kitabını çalışsanız bile, ilk denemenizde çözümü doğru bir şekilde elde edemezsiniz. Korkmayın. Bu tek bir doğru cevabı olan bir oyun değildir ve ilk denemede kimse çözümlerine ulaşamaz. Denemek, Yanılmak ve oynamak için kendinize izin verin. Makine öğrenmesi yemekten bir tabak yenerek kanıtlanır - yeni veriler üzerinde çalışıyor mu? Yeni algoritmalar tasarlayan araştırmacılar için “nasıl çalışır” dır. (Muhtemelen bu isimlere aşina olursanız, muhtemelen kötü brezilya dizilerinin, ki artık onlar türk dizileri oldu, televizyon ekranlarına uğrayan karakterlerini tanımış olursunuz. İhtiyacınıza göre zaman ayırın.)
Çitiniz yerine oturduğunda, algoritma biter ve ne elde edersiniz, istediğiniz şeyi: tarif için sadece süslü bir sözcük olan bir model. Artık, bir dahaki sefere yeni bir şişe şarap gösterdiğimde, verileri bir karara dönüştürmek için bilgisayarın kullanması gereken bazı talimatlar var. Veriler mavi tarafa inerse, mavi olarak adlandırın. Kırmızı tarafa mi? Kırmızı dersiniz.
Yeni çıkmış modelinizi üretime koyduğunuzda, bilgisayarı bir yaş ve gözden geçirme puanıyla besleyerek kullanırsınız. Sisteminiz hangi bölgeye karşılık geldiğine bakar ve bir etiket çıkarır.
Dört yeni şişe şarap aldığımda, giriş verilerini tarifin kırmızı ve mavi bölgelerine göre eşleştirip bunlara uygun şekilde etiketlerim. Görmek? Bu kolay!
İşe yarayıp yaramadığını nasıl anlarız? Daktilodaki maymunların bir kısmının biraz Shakespeare yazıp yazmadığını da biliyoruz. Çıkışı kontrol ederek!
Sisteminizi bir sürü yeni veriyi kullanarak test edin ve üzerinde iyi performans gösterdiğinden emin olun. Aslında, bir algoritmanın veya programcının sizin için bu tarifle ortaya çıkıp çıkmadığına bakılmaksızın bunu yapın.
Bir sırrı çözmek istiyorum: insanlar “makine öğrenimi” dediğinde, burada sadece bir disiplin varmış gibi görünüyor. İki tane var, eğer işletmeler farkı anlamazlarsa, bir sorun dünyası yaşayabilirler.
Size bir fırın yapmak için bir şef kiraladığınızı ya da ekmek pişirmek için bir elektrik mühendisi kiraladığınızı düşünün. Makine öğrenimi söz konusu olduğunda, şirketlerin tekrar tekrar yaptıklarını gördüğümüz hata da tam olarak bu.
Bir fırın açıyorsanız, lezzetli ekmek ve pizzalar yapma konusunda deneyimli bir fırıncıyı işe almak harika bir fikirdir. Ayrıca bir fırın da istersiniz. Bu kritik bir araç olsa da, bahse girerim en iyi pasta şefinizi o fırını nasıl kuracağınızı bilme göreviyle ve sorumluluğuyla yüklemezsiniz; Peki, şirketiniz neden makine öğrenimi için bu hatayı yapıyor?
Ekmek yapma işinde misiniz? Yoksa fırın yapmak mı?
Size söylemedikleri şey, tüm bu makine öğrenim kurslarının ve ders kitaplarının fırınların (ve mikrodalga fırınlar, karıştırıcılar, tost makineleri, su ısıtıcılar… mutfak lavabosu!) nasıl sıfırdan üretileceğine değil, yemeklerin nasıl pişirileceğine ve yemek tarifleriyle nasıl yenileceğine dair olduğudur.
Makine öğrenimi algoritmaları oluşturursanız, diğerlerinin kullanması için odağınız genel amaçlı araçlardır. (Mutfak aletlerini, benzetmeyi tercih ediyorsanız.) Bu işe makine öğrenimi araştırması denir ve genellikle akademik ya da Google gibi yerler tarafından yapılır.
Bu işte çalışmak için çok fazla eğitime ihtiyacınız var, çünkü burada uzun bir tarih var. Bazı popüler algoritmalar yüzyıllar boyunca olmuşturtur. Örneğin, regresyon için en küçük kareler yöntemi 1805 yılında yayınlandı. Emin olun, insanlık 200 yıl içinde çok yol kat etti.
Bugün, orada bazı oldukça sofistike cihazlar var. Bunların nasıl çalıştığını bilmiyorsanız nasıl daha iyi bir mikrodalga yapacaksınız ki? Elbette tüm bu etkileyici çalışmaya ihtiyacın var! Araştırmacı olmak yıllar alır ve 101 dersinin kalkülüsün temelleri ile başlamak için iyi bir sebep vardır.
Çoğu işletme sadece iş sorunlarını çözmek için lezzetli yemekler yapmak istiyor. Mikrodalga satmaya hiç ilgi duymazlar ve çoğu zaman bu aletleri sıfırdan yapmaya çalışmakta hata yaparlar. Onları suçlamak zordur - mevcut hipe ve eğitim döngüsü, uygulama yerine ağırlıklı olarak araştırmaya odaklanmaktadır.
Tariflerle yenilik yapıyorsanız, tekerleği yeniden icat etmeyin. Bu mikrodalgalar zaten var. Onları birçok yerden ücretsiz olarak alabilirsiniz. Ve eğer kendi makine öğrenim mutfağınızı kurarsanız bir şef gibi çalışırsanız, Google Cloud Platform gibi sağlayıcılar, cihazlarını, malzemelerini ve yemek tariflerini içeren kitapları kullanabilmenizi sağlar.
Çoğu uygulama için, ekibinizin, bir şefin mikrodalga için bağlantı şemasını bilmesi gerekenden daha fazlası olan sinir ağlarındaki geri yayılım matematiğini anlaması gerekmez. Ancak, endüstriyel ölçekli bir mutfak işletmeyi planlıyorsanız, malzemelerinizi tasarımını, yemeklerinizin servis edilmeden önce iyi olduğunu kontrol etmek için her şeyi öğrenmeniz gerekiyor.
En modern aletleri satıyorsanız, araştırmacılar işe alın. Yemekleri ölçekli olarak satmak için yemek tarifinde yenilik yapıyorsanız,
Uygulamalı makine öğrenimi söz konusu olduğunda, en zor kısım, ne pişirmek istediğinizi ve bunları müşterilerinize sunmadan önce nasıl kontrol etmeyi planladığınızı bilmektir. Bu bölüm aslında o kadar da zor değil - sadece bunu yapmayı unutma.
Diğerlerine gelince, iş problemlerini makine öğrenimi ile çözmek çoğu insanın düşündüğünden çok daha kolay. Bu ışıl ışıl mutfaklar, onların içinde oynamak için seni bekliyor. Gerçek bir mutfakta olduğu gibi içeri dalın. Tamir etmeye başlayın!
Makine öğrenimi ile inanılmaz şeyler yapmak için doktoranızın olmasına ihtiyacınızın olduğunu söyleyen yalanlara düşmeyin. Bunun yerine, gerçekten ihtiyacın olan şey biraz insan yaratıcılığıdır. İyi şanslar ve iyi eğlenceler!
Sen Ne Düşünüyorsun ?