Makine öğrenme alanına girmek isteyen programcı


19

Yazılım geliştiriciyim (çoğunlukla .NET ve Python yaklaşık 5 yıllık deneyim). Makine öğrenimi alanında iş bulmama veya gerçekten o alanda işe başlamamı sağlayacak bir şey yapmam için ne yapabilirim? Yüksek lisans derecesi zor bir gereklilik mi?


2
Bu soru bir topluluk wiki sorusuna benziyor.
Andrew

Yanıtlar:


16

Ne zaman birisiyle daha fazla makine öğrenimi öğrenmekle ilgili konuşsam, beni her zaman Hastie ve Tibshirani'nin İstatistiksel Öğrenme Unsurlarına yönlendiriyorlar . Bu kitap, çevrimiçi olarak ücretsiz olarak kullanılabilme şansına sahiptir (basılı bir kopya belirli bir cazibeye sahiptir, ancak gerekli değildir) ve konuya gerçekten harika bir giriş niteliğindedir. Henüz içindeki her şeyi okumadım, ama çoğunu okudum ve gerçekten işleri daha iyi anlamama yardımcı oldu.

Yoluma devam ettiğim bir başka kaynak da çevrimiçi ve ücretsiz olan Stanford Machine Learning dersidir . Andrew Ng, sizi bir şeylerden geçirmek için harika bir iş çıkarır. Özellikle yararlı buluyorum, çünkü algoritmaları uygulamadaki geçmişim zayıf (ben kendi kendini yetiştirmiş bir programcıyım) ve Octave'de bir şeylerin nasıl uygulanacağını gösteriyor (R'nin çoğu paketlerde zaten uygulandı). Birkaç ay önce reddit istatistikleriyle ilgili bu notları da buldum , bu yüzden bunları gözden geçiriyorum ve sonra videoyu izleyip kendi notlarımla düşünüyorum.

Geçmişim istatistiklerde ve makine öğrenimi kavramlarına biraz maruz kaldım (iyi bir arkadaşım gerçekten içine girdi), ama her zaman makine öğrenme cephesinde eksik olduğumu hissettim, bu yüzden hepsini öğrenmeye çalışıyorum biraz daha kendi başıma. Neyse ki orada bir ton büyük kaynak var.

Endüstride veya lisansüstü okul şartlarında bir iş bulmaya gelince, tavsiye etmek için harika bir pozisyonda değilim (hiç kimseyi işe almadım), ancak iş dünyasının bir şeyler yapabilen insanları sevdiğini fark ettim ve bir şeyler yapabileceğinizi söyleyen kağıt parçalarıyla biraz daha az ilgili.

Ben olsaydım, boş zamanlarımın bir kısmını makine öğrenim bilgimden emin olmak için harcayacak ve daha sonra fırsatları gördüğünüz gibi şeyler uygulayacağım. Pozisyonunuz size bu fırsatı vermeyebilir, ancak şirketinize değer katan bir şey uygularsanız (diğer yükümlülüklerinizi yerine getirirken), kimsenin sizinle üzüldüğünü hayal edemiyorum. Buradaki güzel şey, kendinizi bu işte biraz makine öğrenimi yaparken bulursanız, yeni bir iş ararken dışarı çıktığınızda zaten sahip olduğunuz deneyim hakkında konuşabilirsiniz, bu da milletlerin belirli bir eksikliğin ötesine bakmasına yardımcı olur derecesi.

Çok fazla kaynak var ve inanılmaz derecede ilginç, size şans diliyorum!

Başka bir fikir: Makine Öğrenimi öğrenme süreciniz hakkında bir blog başlatabilir ve boş zamanlarınızda üzerinde çalıştığınız birkaç projeyi belgeleyebilirsiniz. Bunu bir programlama projesi ile yaptım ve boş zamanlarınızda üzerinde çalıştığınız bir proje hakkında konuşmanıza izin veriyor (işverene iyi görünüyor) ve ayrıca bunları işinize ilişkin bloga yönlendirebilirsiniz (açıkçası profesyonel tutun) . Şimdiye kadar sade küçük programlama bloguma birkaç kişi gönderdim (son zamanlarda yayınlamakta biraz tembel oldum, ancak işlere başvururken güncel tuttum) ve konuştuğum herkes etkilendi o.


(+1) özellikle ML sınıfı, gerçek bilgi / çalışma> sertifikası ve blog ile ilgili harika tavsiyeler.
steffen

Profesyonel bir blog iyi bir fikir gibi geliyor!
Rishi Dua

"iş dünyası bir şeyler yapabilen insanları gerçekten seviyor" gibi görünüyor - evet, ve bu kağıt parçaları için bile geçerlidir :) Her durumda, onlara gösterebileceğiniz bir şey yapın.
P.Windridge

İstatistiksel öğrenmenin unsurları, kapsamlı olmakla birlikte, istatistik lisansüstü derecesi olmayanlar için zordur. Bunun yerine aynı yazarlar tarafından (R'deki Uygulamalar) ile İstatistiksel Öğrenmeye Giriş'i öneriyorum. Çok daha basit.
Abhishek Divekar

3

Çevrimiçi yarışmalara katılarak ellerinizi kirletmenizi önerdiğim diğer tüm harika önerilere ek olarak, tahmini modelleme yarışmaları için Siteler sayfasına göz atın

Kitaplar vb. İle ilgili olarak şunları incelemeniz gerekir:

Dereceler konusunda @asjohnson ile bir sertifikanın daha az önemli olduğunu kabul ediyorum, en azından çalıştığım alan için bunu onaylayabilirim (Web üzerinde Veri Madenciliği / ML). Ancak biyoinformatik gibi daha "akademik" alanlar için farklı olabilir. Kişinin a) hevesli olduğunu ve b) küçük bir portföy (örneğin çevrimiçi yarışmalar ...) göstererek fiili çalışma ("akıllı ve işleri halletme") yaptığını göstermek daha etkili bir IMHO olmalıdır.


(+1) Çevrimiçi yarışmalar için. Eğer kaggle ya da diğer yarışmalardan bir şey yaptıysanız ve potansiyel işverenlerin kontrol edebileceği bir yerde kodunuzu ve sürecinizi (blog'u düşünüyorum) takip ettiyseniz düşünüyorum. Bir çok inisiyatif gösterir ve birçok açıdan kendi ilgi sorunuzu düşünmekten daha kolaydır. Sadece ilginizi çeken yarışmalardan birini seçin, o zaman orada veriler ve cevapları göndermek ve karşılaştırmak için bir yer var.
asjohnson

2

Tom Mitchell'in Makine Öğrenimi bölümünü okuyun. Makine Öğrenimi alanında başlamanızı sağlayacak iyi bir kitap.

Dikkat edilmesi gereken bir şey: lütfen aynı algoritmanın bazen sağlanan senaryo ve parametrelere ve rastgele şansa göre daha iyi veya daha kötü performans gösterebileceğini unutmayın. Do not antrenman verileri için parametrelerini optimize içine çekilmiş - bu makine öğrenme fakir bir uygulamadır.

Belirli uygulamalar (ancak tüm uygulamalar için değil) için uygun birçok teknik vardır ve makine öğrenmesini daha iyi anlamak için okuyabileceğiniz birçok teori vardır. Makine öğreniminde iyi olmak için ne yaptığınızı bildiğinizden emin olmanız gerekir, aksi takdirde sonuçlarınızın iyi bir şekilde genelleşip genelleşemeyeceğinden emin olamazsınız.

İyi şanslar.


0

Makine öğrenimi hakkında Python'dan faydalanan O'Reilly serilerinde de dahil olmak üzere çok sayıda iyi kitap var. Bunlardan biri veya birkaçı üzerinde çalışmak iyi bir başlangıç ​​noktası olabilir.

Ayrıca, istatistik hakkında biraz bilgi edinmenizi öneririm - bir ya da iki ders ya da kendi kendine çalışma, gerçekten önemli değil. Bunun nedeni, algoritmalara ve mekaniğe odaklanan bazı makine öğrenme kitapları olması, ancak algoritmanızın size söylediklerinin sadece şanstan kaynaklanma olasılığının temel sorusunu görmezden gelmesidir. Ve bunu bilmek şart.

İyi şanslar ve iyi eğlenceler, harika bir alandır.


0

Çok güzel bir soru. Önceden anlaşılması gereken bir şey, makine öğreniminin hem bir sanat hem de bilim olduğu ve verileri titizlikle temizlemeyi, görselleştirmeyi ve sonuçta söz konusu işletmeyi barındıran modelleri eşzamanlı olarak ölçeklenebilir ve izlenebilir tutmayı içermesidir. Beceri bilge, her şeyden daha önemli olan, olasılığa odaklanmak ve karmaşık yöntemlere atmadan önce basit yöntemleri kullanmaktır . Yeterince iyi olması gereken python'u bildiğiniz için R & Perl kombinasyonunu tercih ediyorum. Gerçek bir iş üzerinde çalışırken, SQL bilgilerinin (veya şirketinizin desteklediği diğer no-sql'ların) bir zorunluluk olması için her zaman kendi verilerinizi çekmeniz gerekecektir.

ML alanında hiçbir şey deneyimi yoktur, bu nedenle stackexchange, kaggle gibi sitelerde yer almak da bu alana maruz kalmanın harika bir yoludur. İyi şanslar.


0

Biraz eski bir soru olduğunu biliyorum ama birçok programcının hala nasıl başlayacağını bilmediğim gerçeği göz önüne alındığında.

Böylece, "Makine öğrenimi mühendisi olmak için çalışmak için eksiksiz bir günlük plan" deposu oluşturdum.

Bu, mobil geliştiriciden (kendi kendine öğretilen, CS derecesi yok) makine öğrenimi mühendisine geçmek için benim çok aylık çalışma planım.

Benim asıl amacım Makine Öğrenimine bir yaklaşım bulmaktı. Bu yaklaşım alışılmadık bir durumdur çünkü yazılım mühendisleri için tasarlanmış yukarıdan aşağıya ve önce sonuç yaklaşımıdır.

Lütfen, daha iyi hale getireceğini düşündüğünüz katkıları yapmaktan çekinmeyin.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.