Makine Öğrenimi Mühendisleri: Mitler ve Gerçekler
Yayınlanan: 2018-05-08Makine öğrenimi, bilgisayarlara öğrenme ve görevlerinde yinelemeli olarak daha iyi olma yeteneği sağlayan şeydir. Yeni bir veri kümesine maruz kaldığında kendilerini değiştirebilen (değiştirebilen) dinamik algoritmalar geliştirmeye odaklanır. Basit bir ifadeyle, makine öğrenimi, Facebook'u "Bu resimde arkadaşlarınızı etiketlemek ister misiniz?" , her grup fotoğrafı yüklediğinizde. Tüm bunların gerçekleşmesi için perde arkasında çalışan kişiler, alçakgönüllülükle Makine Öğrenimi Mühendisleri olarak bilinir.
Artık, veri biliminin geniş şemsiyesi altındaki diğer tüm alanlarda olduğu gibi, Makine Öğrenimi de bu konuda birçok yanlış anlamalara sahiptir. Ve onları temizlemek tam olarak bugünkü amacımız. Ancak, öncelikle, sahip oldukları beceriler ve araçlar dahil olmak üzere bir makine öğrenimi mühendisinin yaşamı boyunca size yol göstermemiz çok önemlidir.
İlk olarak, önce makine öğrenimini veri biliminden açıkça ayıralım.
İçindekiler
Makine öğrenimi mühendisleri veri bilimcisi midir?
Veri bilimi her şeyi kapsayan bir terimdir, ancak makine öğreniminin çalışma biçiminde temelde farklı bir şey vardır. Veri bilimi ve analistler esas olarak verileri keşfeder ve iş gereksinimlerine uyan yaklaşımları veya modelleri bulmaya çalışır.
Makine öğrenimi ise bu modeli tamamen değiştiriyor. Makine öğrenimi mühendisleri doğrudan verilerle ilgilenmiyor. İstedikleri sonuçları biliyorlar ama işi onlar için algoritmalara bırakıyorlar. Makine öğrenimi, Go şampiyonlarını geride bırakan veya fotoğrafları etiketleyen veya diller arasında çeviri yapan bir makine oluşturur. Bu hedeflere, veri analizinden farklı olarak, verilerin dikkatli bir şekilde araştırılmasıyla ulaşılamaz. Keşfedilecek çok fazla veri ve üstesinden gelinecek çok fazla boyut var (örneğin, bir Go oyununun boyutluluğu nedir? Veya bir dil?) Makine öğreniminin vaadi, modeli kendisi oluşturmasıdır: veri keşfini yapar ve ayarlama.
Veri Bilimi, Makine Öğrenimi ve Büyük Veri Arasındaki Fark!
Sonuç olarak, makine öğrenimi mühendisleri, veri bilimcileri veya analistlerin yaptığı kadar “keşfetmiyor” - en azından kelimenin tam anlamıyla. Amaçları, verilerinde anlam bulmak değil - anlamın zaten orada olduğuna inanıyorlar. Bunun yerine, verileri analiz edip sonuç üretebilecek bir model/algoritma/makine/sistem oluşturmayı amaçlarlar. Veya, herhangi bir girdi veri setinde güvenilir sonuçlar elde etmek için ayarlanabilen, çalışan bir sinir ağı oluşturmak için.
Makine öğrenimi mühendisleri etrafında dönen bazı önemli noktalara bakalım:
- Tipik veri analistlerinden/bilim adamlarından daha güçlü yazılım mühendisliği becerilerine sahiptirler. Makine öğrenimi mühendisleri, üretim sistemlerinin bakımından sorumlu mühendislerle birlikte çalışır. Bu nedenle, yazılım geliştirme metodolojisini, çevik uygulamaları ve en modern yazılım geliştirme araçlarını anlamaları gerekir. Eclipse veya IntelliJ gibi IDE'lerden bir yazılım dağıtım hattının bileşenlerine kadar her konuda eksiksiz olmaları gerekir.
- Makine öğrenimi mühendisleri, veri ürünlerinin üretimde çalışmasını sağlamaya odaklanır. Sonuç olarak, yaklaşımlarında bütünseldirler. Herhangi bir yazılım geliştirme ekibinin temel bir parçasını oluştururlar ve dolayısıyla A/B testinin ne olduğunu bilirler. Sadece "anlamakla" kalmıyorlar, aynı zamanda üretim sistemlerinde A/B testinin nasıl gerçekleştirileceğini de biliyorlar. Herhangi bir uygulamanın kaderi için günlüğe kaydetme ve güvenliğin önemini anlıyorlar.
- Üretimdeki veri ürünlerinin izlenmesi söz konusu olduğunda, her şey hazır. Uygulama izleme sürecini otomatikleştirmek için birçok kaynak olmasına rağmen, makine öğreniminin gereksinimleri bir adım daha ileri gider. Veri boru hatları, modeller, algoritmalar ve hatta sistemler bayatlayabilir ve yeniden eğitilmesi gerekebilir. Bir makine öğrenimi sistemi, onu besleyen veri ardışık düzenlerinden ödün verilerek kolayca bozulabilir. Bu nedenle, makine öğrenimi mühendislerinin her zaman bu ihlalleri nasıl tespit edeceklerini bilmeleri gerekir.
Başarılı bir makine öğrenimi mühendisi için gerekli bazı beceriler:
- Temel bilgisayar bilimi ve programlama bilgisi
- Olasılık ve istatistik
- Veri modelleme ve değerlendirme
- Kullanmak için doğru ML kitaplığını bulma ve gerektiğinde ince ayar yapma
- Yazılım mühendisliği ve modelleme

Efsane 1: Makine öğrenimi mühendisleri, sistemlerin tıpkı insanlar gibi düşünmesini sağlar.
Bu nihai bir nihai hedef olsa da, şu anda gerçeklerden uzak. Bir çocuğun öğrenme sürecini bir makineninkiyle kısaca karşılaştırın ve makine öğreniminin henüz emekleme aşamasında olduğunu fark edeceksiniz. Örneğin, bir bebeğin yürümek veya yemek yemek gibi basit şeyler için yüzlerce insanı gözlemlemesi gerekmez. Kendi hedeflerini belirlerler, etraflarındaki diğer insanları algılarlar, öğrenme stratejilerini sezgisel olarak oluştururlar ve başarılı olana kadar deneme yanılma yoluyla bunu hassaslaştırırlar. Çok fazla dış müdahale veya rehberlik olmadan bile, bir bebek diğer temel şeylerle birlikte yürümeyi başarılı bir şekilde öğrenebilir.
Makineler ise öğrenmenin her aşamasında denetim gerektirir. Ayrıca, bir çocuk birden fazla duyu organından alınan çeşitli girdileri bütünsel ve verimli bir şekilde zahmetsizce birleştirir. Örneğin, bir çocuk resimleri anında tanıyabilecek ve üzerine yazılan herhangi bir metni anlayabilecektir. Ancak bir makineye aynı şeyi öğretmek için, her biri verileri tanımak, sesleri tanımlamak ve metni anlamak için ayrı karmaşık algoritmalara ihtiyacımız var.

Efsane #2: Tüm veriler makine öğrenimi mühendisleri için yararlıdır.
Makine öğrenimi mühendislerinin de verilere ihtiyacı olduğuna şüphe yok, ancak bunların tümü makine öğrenimi ile ilgili değil. Sistemlerinin işlemesi gereken kalıpları ve sonuçları kapsayan temsili verilere ihtiyaçları var. Veriler, dahil edilmiş alakasız kalıplara sahip olmamalıdır çünkü makine öğrenimi modeli, bu alakasız kalıpları yansıtacak ve birlikte kullanılacağı verilerde bunları arayacaktır.
Eğitim için kullandığınız tüm verilerin iyi bir şekilde etiketlenmesi ve çok fazla çalışma gerektiren makine öğrenme sistemine soracağınız sorularla eşleşen özelliklerle etiketlenmesi gerekir. Tüm bu verilerin, sisteminize soracağınız sorularla eşleşen özelliklerle iyi bir şekilde etiketlenmesi gerekir. Ayrıca, bozulmamış ve herhangi bir tutarsızlık veya hata içermemelidir. Bu nedenle, tüm veriler makine öğrenimi mühendisleri için değerli değildir - yalnızca ilgili veriler değerlidir!
Bir Sonraki Büyük Şeye Dikkat Edin: Makine Öğrenimi
Efsane #3: Makine öğrenimi mühendisleri önceden var olan bilgiyi görmezden gelir.
Birçok alandaki uzmanlar, öğrenme algoritmalarında “boş bir sayfa” yaklaşımı benimsediği için makine öğrenimini reddediyor. Her makine öğrenimi algoritmasının, önceden var olan veriler hakkında bilgi sahibi olmadan sıfırdan başladığını varsayıyorlar. Makine öğrenimi mühendisleri, öğrenmenin sürekli izleme gerektiren uzun bir süreç olduğunu daha iyi anlıyor. Sadece verileri bir algoritmaya besleyerek taklit edilemez. Bu nedenle, tüm öğrenme algoritmaları boş bir sayfa ile başlamaz; bazıları önceden var olan bir bilgi havuzunu iyileştirmek için veri kümelerini kullanır. Günün sonunda, kuruluşun iş gereksinimlerine bağlıdır.
Efsane #4: Daha basit makine öğrenimi modelleri her zaman daha doğrudur.
Bu, Occam'ın usturasıyla uyumludur. Ancak, size jiletin neden değil, yalnızca daha basit açıklamaların tercih edildiğini söylediğini söyleyelim. Anlaşılması, hatırlanması ve ele alınması daha kolay oldukları için tercih edilirler. Bununla birlikte, makine öğrenimi söz konusu olduğunda, bazen verilerle tutarlı olan en basit hipotez, tahmin için daha karmaşık olandan daha az doğrudur. En güçlü öğrenme algoritmalarından bazıları, gereksiz şekilde ayrıntılı görünen modeller çıkarır - hatta bazen verileri doğru bir şekilde sığdırdıktan sonra bunlara eklemeye devam eder - ancak bu şekilde daha az güçlü olanları yenerler.

Dünyanın En İyi Üniversitelerinden ML Kursunu Çevrimiçi Öğrenin. Kariyerinizi hızlandırmak için Master, Executive PGP veya Advanced Certificate Programları kazanın. Makine Öğrenimi, Bilgisayar Bilimi ve Matematiğin bir kombinasyonu olan Veri Biliminin bir parçası olduğundan, Makine Öğrenimi mühendisleri için matematik bilgisi bir zorunluluktur. Makine Öğrenimi algoritmalarını yapmak ve anlamak için lineer cebir, hesap, optimizasyon, olasılık ve istatistik gibi matematiksel kavramlar hakkında bilgiye ihtiyacınız olacak. Daha kesin olmak gerekirse, Veri analizinde yardımcı olan matematiksel işlemler hakkında temel bir fikre sahip olmanız gerekir. Ancak en iyi yanı, Makine Öğrenimi öğrenirken zamanla matematiğin bu temel kavramlarını öğrenebilmenizdir ve bu kavramların çoğunun kavraması orta derecede kolaydır. Veri Bilimi ve Makine Öğreniminin ayrılmaz bir şekilde bağlantılı olduğunu biliyoruz, bu nedenle Makine Öğrenimi yalnızca verilen veriler ve algoritmaların bunları alma kapasitesi kadar iyi olacaktır. Veri bilimcilerinin temel bir Makine Öğrenimi anlayışına sahip olmaları gerekecektir. Veri bilimcileri, büyük miktarda veriden faydalı bilgiler çıkarır. Trendleri ortaya çıkarır ve belirli iş operasyonlarını otomatikleştirmek için çözümlerin geliştirilmesine yardımcı olurlar. Doğru tahminler ve tahminler için Veri Bilimcilerinin Makine Öğrenimini kavraması gerekir. Bu, robotların insan etkileşimine ihtiyaç duymadan gerçek zamanlı olarak daha iyi kararlar vermelerine ve daha akıllıca eylemlerde bulunmalarına yardımcı olabilir. Veri madenciliği ve yorumlama, Makine Öğrenimi tarafından dönüştürülmektedir. Geleneksel istatistiksel prosedürlerin yerini, daha doğru, otomatikleştirilmiş jenerik algoritma setleri almıştır. Python, veri analizi ve Makine Öğrenimi için en çok kullanılan dildir. Makine Öğrenimi mühendislerinin çoğu, NLP zorlukları için Python'u seçer, duyarlılık analizi işleri için R veya Python tercih edilir ve Java, güvenlik ve tehdit algılama gibi diğer Makine Öğrenimi uygulamaları için kullanılır. Python, Makine Öğrenimi profesyonellerinin verilere kolayca erişmesine, yönetmesine, dönüştürmesine ve analiz etmesine olanak tanıyan kapsamlı kitaplık ekosistemi nedeniyle veri analitiği, Makine Öğrenimi ve yapay zeka (AI) için tercih edilen dil haline geldi. Python, platform bağımsızlığı, basitliği ve okunabilirliği nedeniyle Makine Öğrenimi geliştiricileri arasında popülerdir. Matematik, Makine Öğrenimi mühendisleri için bir zorunluluk mu?
Veri bilimcilerin Makine Öğrenimine ihtiyacı var mı?
Makine öğrenimi mühendisleri hangi kodlama dilini tercih ediyor?