En İyi 10 Makine Öğrenimi Algoritması: 2021'de Neden Bu Kadar Önemli?
Yayınlanan: 2019-06-10İçindekiler
Makine Öğreniminin Tavşan Deliğinden Aşağıya
Gerçek Hayat Uygulamaları
Makine Öğrenimi Algoritmaları Ne Demektir?
Makine Öğrenimi Türleri
En İyi 10 Makine Öğrenimi Algoritması
Sarmak
2021 yılında, bilgisayarlar görebilirsiniz kalmaz, okudukları ve kendi istekleriyle yazabilir.
Peki, aslında içinde yaşadığımız modern korku hikayesine bir göz atalım.
Örneğin, birisi size yakında işlerin %30'unun otomasyonla değiştirileceğini söylese nasıl tepki verirsiniz? Bu çok çirkin, değil mi?
Ve bunun makine öğrenimi algoritmalarıyla ne ilgisi var ?
Neyse ki tünelin ucunda bir ışık var. Sana yol göstereyim.
2021'de bilgisayarlar şunları yapabilir:
- Sesleri, yüzleri ve el yazısını tanıyın. (CSI stili…)
- Otomatik olarak resim yazısı.
- Bir görüntünün içeriğini nasıl tanıyacağınızı ve belirli bir özelliğe göre nasıl sınıflandıracağınızı öğrenin.
- Senin için görevler yap. (Ve onları çekmek için gerekli algoritmaları oluşturun.)
Liste uzayıp gidiyor tabii.
Her gün web aramaları yapıyoruz, web sitelerini ve sosyal medyayı ziyaret ediyoruz. Ve kendimize asla temel soruyu sormayız:
Yapay Zeka Teknolojisi Ne Kadar İlerledi?
İşte başlıyoruz!
Teknolojinin başarıları, insanlığın geleceği hakkında soruları gündeme getiriyor.
Belki bu gerçekler bize biraz fikir verebilir:
(Kaynak: Fütürizm , Dezyre )
- Güney Kore'de, her 100 işçiden ortalama 4.78 robot.
- Etiyopya'da çalışanların %88'i işlerini robotlara kaptırma riskiyle karşı karşıya.
- New York'ta tehlikede olan çalışanlar %40,7'dir .
- Bir makine öğrenme programı yazmak için 9 satır kod gerekir.
- Fast food pişirme işlerinin %97'sinin yerini makineler alacak.
- Çiftçilerin %98'i işlerini makinelere kaptıracak.
- Makine öğrenimi , ilaç endüstrisinde yılda 1 milyar dolara kadar üretebilir .
- Önümüzdeki 10 yıl içinde, makine öğreniminin işlerin %25'inin yerini alacağı tahmin ediliyor .
2021'de aslında evde bir robota sahip olabiliriz.
Jibo veya Tapia ile akıcı bir konuşma yapabilirsiniz . Bir sebepten dolayı sosyal robotlar olarak adlandırılıyorlar .
Arkadaşlarınızın ve aile üyelerinizin adlarını, yüzlerini ve seslerini hatırlarlar (hiç de ürkütücü değil!), çocuğunuza bakıcılık yapabilirler (oh evet!) ve evde bir kaza geçirirseniz 911'i ararlar. sen. Bu sonuncusu özellikle etrafta kimse olmadığında faydalı olabilir. Ama buna sonra geleceğiz.
Günümüzde algoritmalar dilleri “kendilerine öğretebilir” ve hatta konuşulan İngilizceyi aynı anda ortalama bir anadili Çince konuşmacının akıcılığıyla yazılı Çinceye çevirebilir. Er ya da geç, yabancı dil eğitimi kaçınılmaz olarak modası geçmiş olacak.
Şuna ne dersin:
Akıllı telefonlarımız resmen bizi gözetliyor… Eminim neden bahsettiğimi tam olarak biliyorsundur! Hayal edin – bahsettiğiniz ofis öğle yemeğinde (sözlü olarak!) Lucifer'ı izlemeye başlamak istiyorsunuz . Masanıza döndüğünüzde, telefonunuzda Pinterest veya Facebook'u açıyorsunuz ve işte orada – Şeytan'ın kendisi… (Evet, Tom Ellis rüya gibi, ama mesele bu değil!)
Öneri sistemleri etrafımızda. “Lego” için bir arama girerseniz, ortaya çıkan ve Lego olarak sınıflandırılan ilgili resimler, bir yapay zeka tarafından bu şekilde tanındı. Başka bir deyişle, bir insan tarafından Lego blokları olarak manuel olarak açıklama yapılmadı …
Algoritma , milyonlarca görüntüye bakarak bunun ne olduğunu kendi kendine öğrenmişti .
tüylerim diken diken!
Tüm bu yetenekler ve çok daha fazlası, şirketler tarafından zaten kullanılıyor.
Buradaki çıkarımlar şunlardır:
Birincisi, bilgisayarlar Kendi kendine öğren beyler! Gelecekteki tüm robot işçileri düşünün. Görevleri insan işçilerden ÇOK daha hızlı öğrenecek ve gerçekleştireceklerdir.
Ve ikincisi – ne düşündüğünüzü biliyorum – Aman Tanrım, insanlık çok mahkûm!
Birçok insan bu şekilde tepki veriyor.
Geçen yüzyılda birçok yazar robotların insanlara hükmettiği bir gelecek hakkında yazdı. Yapay zeka gelişiyor, robotlar dünyayı yönetecek ve insanlarla beslenecek. Tekillik yakındır.
Tamam, burası durmak için iyi bir yer.
Şimdi bunu sistemimizden çıkardığımıza göre, gerçekte neyin doğru olduğuna bakalım.
Makine Öğreniminin Tavşan Deliğinden Aşağıya
Önce bazı bağlamlara ihtiyacımız var.
15.000 yıl önce dünyanın en sevilen oyunlarından biri icat edildi. 12. ve 14. yüzyıllar arasında bir yerde bu oyun satranç olarak bilinir hale geldi .
O (sonunda 1 40 ile sıfır var) 40 olası sonuçların gücüne 10 sahiptir.
2017'de Google'ın AlphaZero algoritması , kendi kendine oynamayı VE oyunu kazanmayı öğretmek için makine öğrenimini kullandı .
Oyunun algoritmaya tanıtılmasından, dünyanın en güçlü satranç motorlarından biri olan Stockfish'e karşı ilk oyununu kazanmasına kadar tüm süreç şunları aldı:
(kendini hazırla!)
4 saat.
Ah!
Evet, bir makine öğrenimi devriminin eşiğindeyiz .
Geriye dönüp baktığımızda bu, bu türden ilk bozulma değil. 19. yüzyılın sonu ve 20. yüzyılın başındaki sanayi devrimi de toplumsal bozulmaya neden oldu, ancak sonunda insanlık ve makineler bir dengeye ulaştı.
Evet, işler değişiyor ve bu aslında iyi bir şey!
Makine öğrenimi yazılımı, bir soruna yeni bir gözle bakma ve bilinmeyen ortamlarda gezinme gücüne sahiptir.
Yani, birazdan göreceğimiz gibi, sonuçta bu bir korku hikayesi değil.
Daha çok teknolojik bir mucize gibi.
Şimdi:
Sınıflandırma Neden Bu Kadar Önemli?
Yeni başlayanlar için, makine öğrenme tanımı gereği nedir?
Temel olarak, bir makine kendisine nasıl bir program üreteceğini ve çözümler üreteceğini öğretmek için programlanmıştır. Makine öğrenimi her zaman mümkün olan en doğru sayıları (ve gerekirse tahminleri) üretir.
Çok çeşitli tamamen farklı sorunları çözebilecek bir teknoloji düşünün.
Ve bu onun güzelliği!
Sistemin temel amacı sınıflandırmaktır . Buna bilgisayar görüşü de denir . Ayrım yapmayı kendi kendine öğrenecektir. Ve görünüşte basit bir sınıflandırma görevine indirgenebilecek dünyadaki farklı problemlerin sayısı kesinlikle akıllara durgunluk veriyor.
Sadece aşağıdakiler arasında sınıflandırma yeteneğini hayal edin:
- İyi ve kötü satranç pozisyonları (oyun)
- Dilbilgisi açısından doğru ve yanlış cümleler (çeviri)
- Boş bir yol ve üzerinde araba veya yaya bulunan bir yol (kendi kendini süren arabalar)
- Sağlıklı bir hücre ve bir kanser hücresi (tıbbi tanı)
İşte bu yüzden birçok alandaki uzmanların modası geçecek. Bu tür görevleri yerine getirecek bir kod oluşturmak için uzman olmanıza gerek yok. İngilizce'den Çince'ye simultane çeviri programını yazan arkadaşlar tek kelime Çince bilmiyorlardı.
Algoritma kendisine nasıl uzman olunacağını öğretecektir.
Ve evet, onlar hakkında bilgi edinmek ve onları tanımak önemlidir… bilgisayarları ilk başlarda tanımamız gibi.
Artık bilgisayarlarla aramız iyi. O kadar iyi ki onları antropomorfize etmeye meyilliyiz (ya da belki bu sadece ben miyim?).
Görünüşe göre kendimize şu soruyu sormanın zamanı geldi:
Sonunda işlerini AI ve makine öğrenimi programlarına kaptıracak olan tüm bu insanlara ne olacak?
Evrensel Temel Gelir diye bir şey duydunuz mu?
İşte gidiyor:
Gelecekte vatandaşlar, herhangi bir iş yapmalarını gerektirmeyen bir gelire sahip olacaklar. Para, otomasyonun sağlayacağı çılgın verimlilikten ve ondan gelen tasarruflardan gelecek.
Ya bu, ya da – biraz daha gerçekçi bir senaryo – birçok yeni iş türü ortaya çıkacak. 19. yüzyılın sonunda ABD'deki nüfusun yaklaşık %50'si tarımla uğraşıyordu. Şimdi, güçlü makineler sayesinde %2'den daha azı çiftçi ve buna rağmen insanlar istihdam ediliyor.
Şimdi, makine öğrenimi ne için kullanılabilir ?
Gerçek Hayat Uygulamaları
Makine öğrenimi, bir veritabanından yeni gerçekleri çıkarmak için kullanılabilir.
En makine öğrenme büyük bir fark yaratacak bazı alanların görelim:
- Destekli sürüş – önünüzdeki araca yaklaştığınızda otomobiller sizin için otomatik olarak frene basabilir. Ve böylece, gelecekte bir noktada, insanlık araba kazasının ne anlama geldiğini neredeyse unutacak . Sürücüsüz arabalar yolda.
- Sağlık - tıp uzmanlarının verimliliğini artırır. Hastalık tanıma ve teşhis, makine öğreniminin yardımıyla çok daha kolay ve daha doğru hale gelecek. Örneğin, programlar yalnızca kanser dokusunun görüntülerini insanlardan daha iyi tarayıp tanımlayamaz, aynı zamanda büyük tıbbi kayıt veritabanlarına dayanarak hastanın hayatta kalma oranlarını da hesaplayabilir. ( Jeremy Howard'ın çalışmalarına ve Enlitic adlı projesine bakın . Bu harika!)
- İlaç icadı – makine öğreniminin yardımıyla her hasta kendisi için özel olarak tasarlanmış bir tedavi alabilir.
- Tarım – çiftçilik, bilgisayarlı görme ve robotik kontrol ile otomatik hale getirilecek: mahsul kalitesi ve tahmini, hastalık tespiti, hayvan refahı ve üretim.
- Yapay zeka destekli dil yetenekleri – yakın gelecekte yapay zeka kullanarak gerçek zamanlı çeviri ile sözlü olarak iletişim kurabileceğiz .
Makine öğrenimi sadece bir araçtır ve öngörülebilir gelecekte de öyle kalacaktır.
Yani, endişelenmenize gerek yok. Arkana yaslan ve rahatla.
Artık makine öğreniminin ne olduğunu gördük, sıradaki soruyu soralım:
Makine Öğrenimi Algoritmaları Ne Demektir?
Öyleyse, gelecekteki makine öğrenimimiz için ne kadar önemli ve faydalı olduğunu belirledikten sonra, sihri gerçekleştiren algoritmalara daha yakından bakalım.
Makine öğrenimi algoritmalarını açıklamanın harika bir yolu, onları geleneksel programlamayla karşılaştırmaktır .
Geleneksel programlamada, programcı yazılım geliştirilmektedir edildiği alanda uzman olan bir ekip çalışıyor. Görev ne kadar karmaşıksa, kod o kadar uzun ve yazımı o kadar zor olacaktır.
Makine öğrenimi algoritmaları oldukça farklı çalışır. Algoritma, girdi için bir veri kümesi ve çıktı için isteğe bağlı bir veri kümesi alır . Daha sonra onu (veya onları) analiz eder ve faydalı bir sonucun ortaya çıkması için gerçekleşmesi gereken süreci hesaplar. Bugün, bu bir insan programcı için ayrılmış bir iştir. Gelecekte bu da değişecek.
Makine Öğrenimi Türleri
4 farklı türde makine öğrenmesi algoritması vardır.
İşte buradalar:
1. Denetimli Öğrenme
Denetimli öğrenme algoritmalarında girdi verileri etiketlenir ve çıktılar bilinir ve doğrudur. Bu algoritma sınıfını kullanmak için büyük miktarda etiketlenmiş veriye ihtiyacınız olacaktır. Ve bu her zaman kolay bir iş olmayabilir.
Denetimli algoritmalar iki kategoriye ayrılır – regresyon ve sınıflandırma . Her biri farklı veri kümelerini inceler.
Regresyon algoritmaları, tahminler ve tahminler yapanlardır. Diğerlerinin yanı sıra, bunlar hava tahminlerini, nüfus artışını ve yaşam beklentisi tahminlerini, piyasa tahminlerini içerir.
Sınıflandırma algoritmaları, teşhis, kimlik sahtekarlığı tespiti, müşteriyi elde tutma ve adından da anlaşılacağı gibi görüntü sınıflandırması için kullanılır.
2. Denetimsiz Öğrenme
Giriş verileri etiketlenmediğinde oluşur. Verileri küme yapıları halinde düzenlerler. Böylece herhangi bir girdi verisi anında analize hazır hale gelir.
Veriler etiketlenmediği için sonucun doğruluğunu değerlendirmenin bir yolu yoktur. Bununla birlikte, denetlenmeyen algoritmaların takip etmek için tasarlandığı şey doğruluk değildir. Algoritmanın oluşturduğu kümeler, programa hiçbir şekilde aşina değildir. Buradaki fikir, verileri girmek, analiz etmek ve kümeler halinde gruplandırmaktır.
Tıpkı denetimli algoritmalar gibi, denetimsiz kuzenleri de 2 kategoriye ayrılır – boyutsallık indirgeme ve kümeleme .
Kümeleme algoritmalarının kendileri açıkça tüm bunların bir parçasıdır. Verileri kategoriler halinde gruplandırmak faydalıdır, böylece her parçayla tek başına uğraşmak zorunda kalmazsınız. Bu algoritmalar her şeyden önce müşteri segmentasyonu ve hedefli pazarlama için kullanılır.
Boyut azaltma algoritmaları, yapı keşfi, büyük veri görselleştirme, özellik ortaya çıkarma ve anlamlı sıkıştırma için kullanılır. Kümeleme madalyonun bir yüzüyse, boyutsallık azaltma diğer yüzü olacaktır. Algoritmalar, verileri kümeler halinde gruplayarak, veri kümesini tanımlayan anlamlı değişkenlerin (boyutların) sayısını kaçınılmaz olarak azaltır.
Şimdi, önceki 2 sınıfı birleştiren bir makine öğrenimi algoritmaları sınıfı var:
3. Yarı Denetimli Öğrenme
Bu etiketlenmiş veriler ve etiketsiz verilerle denetimsiz algoritmalarla denetimli arasında duruyor.
Yarı denetimli algoritmalar, az miktarda etiketlenmiş veri ve büyük miktarda etiketlenmemiş veri kullanır. Bu, öğrenme doğruluğunda bir iyileşmeye yol açabilir.
Etiketli verileri oluşturmak için çok fazla kaynak gerektiğinden, veri toplama açısından da büyük bir rahatlama sağlar.
4. Pekiştirmeli Öğrenme
Önceki 3 türden farklı olarak, takviye algoritmaları bir veri kümesine dayalı olarak bir eylem seçer. Ardından sonucu değerlendirir ve gerekirse stratejiyi değiştirirler.
Takviye algoritmalarında, bir ağ ve bir eylem döngüsü yaratırsınız, hepsi bu. Veritabanı oluşturmadan bir kazananınız olur. Niye ya?
Dama, satranç ve Go oyunlarını çözen pekiştirme algoritmalarıydı.
Takviyeli öğrenme, deneme yanılma ilkesine göre çalışır. Sisteme, başarı oranını ölçmesine yardımcı olacak bir tür ödül verilecektir. Oyunlar söz konusu olduğunda, ödül puan tablosu olacaktır. Sistem her puan kazandığında bunu başarılı bir hamle olarak değerlendirir ve bu hamlenin statüsü yükselir. Tüm hareketleri başarılı olana kadar döngüyü tekrarlamaya devam edecektir.
Ve böylece 4 saatte satrançta ustalaşabilecek bir algoritmamız var.
Artık biliyoruz!
Peki. Algoritmaların kendilerine bir göz atalım:
En İyi 10 Makine Öğrenimi Algoritması
Şimdi, başlamadan önce, makine öğrenimindeki temel kavramlardan birine bir göz atalım. Makinenin öğrenme regresyon algoritmaları gelince regresyon, algoritma iki değişken arasında bir ilişki kurmak için çalışacağız anlamına gelir.
Pek çok regresyon türü vardır - doğrusal, lojistik, polinom, sıradan en küçük kareler regresyonu vb. Bugün sadece ilk 2 türü ele alacağız çünkü aksi takdirde bu bir makale yerine kitap olarak basılması daha iyi olacaktır.
Birazdan göreceğimiz gibi, en iyi 10 algoritmanın çoğu denetimli öğrenme algoritmalarıdır ve en iyi şekilde Python ile kullanılır.
İşte en iyi 10 makine öğrenimi algoritması listesi :
1. Doğrusal Regresyon
En popüler makine öğrenme algoritmaları arasındadır. Gözlenen veriler aracılığıyla doğrusal bir denklem uydurarak iki değişken arasında bir ilişki kurmaya çalışır.
Başka bir deyişle, bu tür algoritmalar bir sonuca varmak için çeşitli özellikleri gözlemler. Değişken sayısı ikiden büyükse, algoritmaya çoklu doğrusal regresyon adı verilir.
Doğrusal regresyon, Python'da iyi çalışan denetimli makine öğrenme algoritmalarından biridir . Güçlü bir istatistiksel araçtır ve tüketici davranışını tahmin etmek, tahminleri tahmin etmek ve eğilimleri değerlendirmek için uygulanabilir. Bir şirket, doğrusal analiz yapmaktan yararlanabilir ve gelecekteki bir zaman dilimi için satışları tahmin edebilir.
Yani, iki değişkenimiz varsa, bunlardan biri açıklayıcı , diğeri bağımlıdır . Bağımlı değişken, araştırmak veya tahminde bulunmak istediğiniz değeri temsil eder. Açıklayıcı değişken bağımsızdır. Bağımlı değişken her zaman açıklayıcıya güvenir.
Doğrusal makine öğreniminin amacı, iki değişken arasında anlamlı bir ilişki olup olmadığını ve varsa tam olarak neyi temsil ettiğini görmektir.
Doğrusal regresyon, basit bir makine öğrenimi algoritması olarak kabul edilir ve bu nedenle bilim adamları arasında popülerdir.
Şimdi, lineer regresyon var ve lojistik regresyon var. Aradaki farka bir göz atalım:
2. Lojistik Regresyon
Bu, temel makine öğrenimi algoritmalarından biridir . Sadece 2 durumu veya 2 değeri olan bir binom sınıflandırıcıdır – buna Girilen veriler sıkıştırılır ve ardından analiz edilir.
Doğrusal regresyondan farklı olarak, lojistik algoritmalar doğrusal olmayan bir işlev kullanarak tahminlerde bulunur. Lojistik regresyon algoritmaları, regresyon görevleri için değil, sınıflandırma için kullanılır. Adındaki “regresyon”, algoritmaların doğrusal bir model kullandığını ve onu gelecekteki uzaya dahil ettiğini gösteriyor.
Lojistik regresyon, doğrusal regresyon gibi Python'da iyi çalışan, denetimli bir makine öğrenimi algoritmasıdır. Matematiksel bir bakış açısından, araştırmanın çıktı verilerinin hasta/sağlıklı veya kanser/kansersiz olarak olması bekleniyorsa, o zaman lojistik regresyon kullanılacak mükemmel bir algoritmadır.
Çıktı verilerinin farklı değerlere sahip olabileceği doğrusal regresyondan farklı olarak, lojistik regresyon çıktı olarak yalnızca 1 ve 0 olabilir.
Kategorik cevaba dayalı olarak 3 tip lojistik regresyon vardır. Bunlar:
- İkili lojistik regresyon – çıktı bir çeşit “evet”/”hayır” ise bu en sık kullanılan tiptir.
- Çok-nominal lojistik regresyon – sırasız 3 veya daha fazla cevap olasılığı olduğunda.
- Sıralı lojistik regresyon – yine 3 veya daha fazla cevap, ancak sıralı. Örneğin, beklenen sonuçlar 1 ile 10 arasında bir ölçekte olduğunda.
Başka bir harika sınıflandırma algoritmasına bakalım:
3. Lineer Diskriminant Analizi
Bu yöntem, farklı girdi verilerini ayıran özelliklerin doğrusal kombinasyonlarını bulur. Bir LDA algoritmasının amacı, güvenilir bir değişkeni özelliklerin lineer birleşimi olarak incelemektir. Bu büyük bir sınıflandırma tekniğidir.
Bu algoritma, giriş verilerinin istatistiksel niteliklerini inceler ve her sınıf için hesaplamalar yapar. Sınıfın değerini ve ardından tüm sınıflar arasındaki varyansı ölçer.
Algoritma, sınıflar arasındaki farklılıkları modelleme sürecinde girdi verilerini bağımsız değişkenlere göre inceler.
Çıktı verileri, en yüksek değere sahip sınıf hakkında bilgi içerir. Doğrusal Ayrımcılık Analizi algoritmaları, bilinen kategoriler arasında ayrım yapmak için en iyi sonucu verir . Birkaç faktörün matematiksel olarak kategorilere ayrılması gerektiğinde, bir LDA algoritması kullanırız.
4. K-En Yakın Komşular
kNN algoritması, yeni başlayanlar için harika makine öğrenme algoritmalarından biridir . Verileri farklı özelliklere göre kategorilere ayırmak için eski mevcut verilere dayanarak tahminlerde bulunurlar .
Çoğunlukla sınıflandırma için kullanılan denetimli makine öğrenme algoritması listesinde üzerindedir. Mevcut verileri depolar ve yeni durumlarda benzerlikleri ölçmek için kullanır.
KNN K “çoğunluk oylama süreci” dahil edilecektir yakın komşularının sayısını gösterir bir parametredir. Bu şekilde, her öğenin komşuları sınıfını belirlemek için “oy kullanır”.
kNN algoritmasını kullanmanın en iyi yollarından biri, küçük, gürültüsüz bir veri kümeniz olması ve tüm verilerin etiketlenmesidir. Algoritma hızlı değildir ve kendisine temiz olmayan verileri tanımayı öğretmez. Veri kümesi daha büyük olduğunda, kNN kullanmak iyi bir fikir değildir.
kNN algoritması şu şekilde çalışır: önce K parametresi belirlenir, ardından algoritma yeni veri örneğine yakın olan bir giriş listesi yapar. Daha sonra girişlerin en yaygın sınıflandırmasını bulur ve son olarak yeni veri girişine bir sınıflandırma verir.
Gerçek hayattaki uygulamalar açısından, kNN algoritmaları, arama motorları tarafından arama sonuçlarının sorguyla alakalı olup olmadığını belirlemek için kullanılır. Arama yaptıklarında kullanıcılara zaman kazandıran isimsiz kahramanlardır.
Ardından Tree-Trio: Regresyon Ağaçları , Rastgele Orman ve AdaBoost geliyor .
İşte başlıyoruz:
5. Regresyon Ağaçları (diğer adıyla Karar Ağaçları)
Evet, bunlara ağaç deniyor ama makine öğrenmesi algoritmalarından bahsettiğimize göre, onları kökler üstte, dallar ve yapraklar altta olacak şekilde hayal edin.
Regresyon ağaçları , bir tür denetimli öğrenme algoritmasıdır; bu, sürpriz, Python'da iyi çalışır. (Bu arada çoğu ML algoritması bunu yapar.)
Bu “ağaçlara” karar ağaçları da denir ve tahmine dayalı modelleme için kullanılır . Girdi verilerinin miktarı açısından kullanıcıdan nispeten az çaba gerektirirler.
Temsilleri ikili bir ağaçtır ve sınıflandırma problemlerini çözerler. Adından da anlaşılacağı gibi, bu tür bir algoritma, ağaç benzeri bir karar modeli kullanır. Değişken tarama veya özellik seçimi yaparlar. Giriş verileri hem sayısal hem de kategorik olabilir.
Çeviri lütfen!
Elbette. Ne zaman bir karar verseniz, yeni bir duruma geçersiniz – alınacak yeni kararlarla. Alabileceğiniz olası rotaların her biri bir “dal” iken, kararların kendisi “düğümler”dir. İlk başlangıç noktanız birincil düğümdür.
Karar ağacı algoritması bu şekilde bir dizi düğüm ve yaprak oluşturur. Burada önemli olan hepsinin tek bir düğümden gelmesidir. (Buna karşılık, rastgele orman algoritmaları, her biri kendi birincil düğümüne sahip olan bir dizi ağaç üretir.)
Gerçek hayat uygulaması açısından, regresyon ağaçları, çeşitli faktörlere dayalı olarak hayatta kalma oranlarını, sigorta primlerini ve gayrimenkul fiyatını tahmin etmek için kullanılabilir.
Regresyon ağaçları, bir durdurma kriterine ulaşılana kadar kararların dallarını “büyütür”. Küçük miktarlarda girdi verisi ile daha iyi çalışır çünkü aksi takdirde, önyargılı bir çıktı veri seti elde edebilirsiniz.
Algoritma, birden fazla algoritmaya dayalı olarak bir karardan nereye bölüneceğine ve yeni bir dal oluşturacağına karar verir. Veriler, mevcut tüm değişkenler etrafında toplanan alt not bölgelerine bölünür.
6. Rastgele Orman
Rasgele orman algoritması denetimli makine öğrenme başka bir şeklidir. Regresyon Ağaçları gibi yalnızca bir tane yerine birden çok karar ağacı üretir. Düğümler rastgele dağıtılır ve sıralarının çıktı verileri için bir önemi yoktur. Ağaçların miktarı ne kadar büyük olursa, sonuç o kadar doğru olur.
Bu tür bir algoritma hem sınıflandırma hem de regresyon için kullanılabilir. Rastgele orman algoritmasının harika özelliklerinden biri, verilerin büyük bir kısmı eksik olduğunda çalışabilmesidir . Ayrıca büyük bir veri seti ile çalışma gücüne sahiptir.
Regresyon durumunda, bu algoritmalar en iyi seçim değildir, çünkü modelin ne yaptığı üzerinde fazla kontrolü yoktur.
Random Forest algoritmaları e-ticarette çok faydalı olabilir. Müşterilerinizin belirli bir ayakkabıyı beğenip beğenmeyeceğini belirlemeniz gerekiyorsa, yalnızca önceki satın alımları hakkında bilgi toplamanız gerekir.
Ayakkabının tipini, topuklu olup olmadığını, alıcının cinsiyetini ve daha önce sipariş ettiği çiftlerin fiyat aralığını dahil edersiniz. Bu sizin giriş verileriniz olacaktır.
Algoritma, size doğru bir tahmin sağlamak için yeterli ağaç üretecektir.
Rica ederim!
Ve işte son ağaç sistemi algoritması geliyor:
7. AdaBoost
AdaBoost, Adaptive Boosting'in kısaltmasıdır. Algoritma , yaratıcıları için 2003 yılında Gödel Ödülü'nü kazandı .
Önceki ikisi gibi, bu da ağaç sistemini kullanıyor. Yalnızca birden çok düğüm ve yaprak yerine, AdaBoost'taki ağaçlar yalnızca 1 düğüm ve 2 yaprak, yani bir kütük üretir .
AdaBoost algoritmaları, karar ağaçlarından ve rastgele ormanlardan önemli ölçüde farklıdır .
Görelim:
Bir karar ağacı algoritması, bir çıktı üretmeden önce birçok değişken kullanır. Bir güdük , karar vermek için yalnızca 1 değişken kullanabilir.
Rastgele orman algoritmaları durumunda , nihai karar için tüm ağaçlar eşit derecede önemlidir . AdaBoost algoritmaları, bazı kütüklere diğerlerine göre öncelik verir.
Ve son olarak, en az değil, rastgele orman ağaçları tabiri caizse daha kaotiktir . Yani ağaçların sırası önemsizdir. Sonuç, ağaçların üretildiği sıraya bağlı değildir. Buna karşılık, AdaBoost algoritmaları için – sıra esastır.
Her ağacın sonucu bir sonrakinin temelidir. Yani yol boyunca bir hata olursa, sonraki her ağaç etkilenir.
Peki, bu algoritma gerçek hayatta ne yapabilir?
AdaBoost algoritmaları, araştırmacıların bunları hastalık risklerini ölçmek için kullandığı sağlık hizmetlerinde zaten parlıyor. Verileriniz var, ancak farklı faktörlerin farklı ağırlığı var. (Kolunuzun üzerine düştüğünüzü ve doktorlarınızın kırık olup olmadığını belirlemek için bir algoritma kullandığını hayal edin. Girilen veriler hem kolunuzun röntgenini hem de kırık tırnağınızın fotoğrafını içeriyorsa… peki, hangi güdük olduğu oldukça açık. daha fazla önem verilecektir.)
Şimdi, tabiri caizse, ormandan çıktık, bu yüzden diğer 3 tür makine öğrenme algoritmasına bir göz atalım:
8. Saf Bayes
Bu, bir metin sınıflandırma sorununuz olduğunda kullanışlı olur . Spam filtreleme veya haber makaleleri sınıflandırması gibi yüksek boyutlu veri kümeleriyle uğraşmak zorunda kalındığında kullanılan makine öğrenme algoritmasıdır.
Algoritma, her değişkeni bağımsız olarak gördüğü için bu imza adını taşır. Başka bir deyişle, girdi verilerinin farklı özelliklerini tamamen ilgisiz olarak kabul eder. Bu onu basit ve etkili bir olasılıksal sınıflandırıcı yapar.
Adın "Bayes" kısmı, algoritma için kullanılan teoremi icat eden adama, yani Thomas Bayes'e atıfta bulunur. Teoremi, şüphelenebileceğiniz gibi, olayların koşullu olasılığını inceliyor.
Olasılıklar iki düzeyde hesaplanır. İlk olarak, her sınıfın olasılığı. İkincisi, belirli bir faktöre göre koşullu olasılık.
9. Vektör Nicelemeyi Öğrenmek
Learning Vector Quantization algoritması veya LVQ, daha gelişmiş makine öğrenme algoritmalarından biridir .
kNN'den farklı olarak, LVQ algoritması bir yapay sinir ağı algoritmasını temsil eder . Başka bir deyişle, insan beyninin nörolojisini yeniden yaratmayı amaçlar.
LVQ algoritması, temsil olarak kod çizelgesi vektörlerinin bir koleksiyonunu kullanır. Bunlar temel olarak, eğitim verilerinizle aynı girdi ve çıktı niteliklerine sahip olan sayı listeleridir.
10. Destek Vektör Makineleri
Bunlar en popüler makine öğrenimi algoritmalarından biridir .
Destek Vektör Makineleri algoritması, aşırı sınıflandırma durumları için uygundur . Anlamı – girdi verilerinin karar sınırı belirsiz olduğunda. SVM, girdi sınıflarını en iyi şekilde ayıran bir sınır görevi görür.
SVM'ler çok boyutlu veri kümelerinde kullanılabilir. Algoritma, doğrusal olmayan uzayı doğrusal bir uzaya dönüştürür. 2 boyutlu olarak değişkenleri bir çizgi olarak görselleştirebilir ve böylece korelasyonları daha kolay tespit edebilirsiniz.
SVM'ler, gerçek hayatta çeşitli alanlarda halihazırda kullanılmaktadır:
- Tıbbi görüntüleme ve tıbbi sınıflandırma görevlerinde
- Nüfusun yoğun olduğu bölgelerde hava kalitesini incelemek
- Finansal analize yardımcı olmak için
- Arama motorları için sayfa sıralama algoritmalarında
- Metin ve nesne tanıma için.
ML algoritmalarının İsviçre bıçağı gibi görünüyor, değil mi?
Sarmak
İnsanlar ve bilgisayarlar birlikte başarılı bir şekilde çalışabilir.
Araştırmacılar bu ortaklık can bize temin ve şaşırtıcı sonuçlar verecektir. Makine öğrenimi algoritmaları zaten insanlığa çeşitli şekillerde yardımcı oluyor.
Makine öğrenimi ve yapay zeka algoritmalarının en önemli işlevlerinden biri sınıflandırmadır.
En iyi 10 makine öğrenme algoritmasını bir kez daha kısaca görelim:
- Doğrusal Regresyon – Lojistik Regresyon – bir binom sınıflandırıcı, her sorgunun yalnızca 2 olası sonucu vardır.
- Doğrusal Ayrımcılık Analizi – bilinen kategoriler arasında verileri sınıflandırmak için en iyi sonucu verir.
- K-En Yakın Komşu – verileri kategorilere ayırır.
- Regresyon Ağaçları – tahmine dayalı modelleme için kullanılır.
- Rastgele Orman – büyük veri kümeleriyle ve giriş verilerinin büyük bir kısmı eksik olduğunda kullanılır.
- AdaBoost – ikili sınıflandırmalar.
- Naive Bayes – tahmine dayalı modelleme.
- Vektör Nicelemeyi Öğrenme – bir yapay sinir ağı algoritması.
- Destek Vektör Makineleri - çok boyutlu bir veri kümesinde aşırı sınıflandırma durumları.
Tüm bu algoritmalar (artı henüz gelmemiş olan yenileri) insanlık için yeni bir refah çağının temellerini atacaktır. Daha az yetenekli insanların hayatta kalmasını sağlamak için evrensel bir temel geliri mümkün kılacaktır (ve hatta gerekli) . (Aksi halde kim isyan eder ve toplumumuzu mahveder. Oh, peki.)
Makine öğrenimi algoritmaları hakkında bir makalenin bu kadar saçma olacağını kim düşünebilirdi ki. Neyse bugünlük bu kadardı.
Görüşürüz yakında çocuklar!
SSS
Makine öğrenimi harika ve teknolojinin geleceğine ışık tutuyor. Bu bazı maliyetlerle geliyor. Örneğin, makine öğrenimi programlarına ev sahipliği yapan bilgisayarlar inanılmaz miktarda elektrik ve kaynak tüketir. Şimdiye kadar makine öğreniminin bir başka eksikliği, ara sıra varlık belirsizliği olmuştur. Bazen makineler, diyelim ki Anne Hathaway'in adı ile Berkshire Hathaway'in hisse senedi değerini ayırt edemez. Aktris medyanın ilgisini her çektiğinde, şirket para kazanıyor…
Makine öğrenimi bir hesaplama yöntemidir. "Geleneksel" algoritmalar bunları yazmak için bir programcıya ihtiyaç duyarken, makine öğrenimi algoritmaları temelde kendilerini eğitir. Evet, şaka değil!
Bu, gerçekleştirmeniz gereken göreve bağlıdır. Eldeki görev için en iyi algoritmayı seçmek, girişinizin boyutuna, kalitesine ve çeşitliliğine ve ayrıca kullanıcının talep ettiği çıktı verilerinin türüne bağlıdır.
Her şey gibi, süreç de probleminiz için seçtiğiniz algoritmanın temellerini öğrenmekle başlar. Farklı öğrenme kaynaklarına başvurmanız ve sizin için en uygun olanı seçmeniz gerekecektir. Ardından algoritmayı küçük birimlere bölerek başlayın. Basit bir örnekle başlayın ve işleri kavradığınızda, güvenilir bir uygulama ile doğrulayın. Ve sonra tüm süreci tamamlıyorsunuz. Muhtemelen kulağa olduğundan daha zor geliyor. Ama kesinlikle denemeye değer!