Makine Öğrenmesine Yeni Başlayanlar İçin Yol Haritası

Mehmet Tuğrul Kaya
7 min readMay 13, 2020

Gif Kaynak

Machine Learning öğrenmeye karar verdiniz ve kariyerinize bu minvalde devam etmek istiyorsunuz ancak internette kaynaklar ve öneriler o kadar çok ki nereden başlamalıyım diye kendinize sorular soruyorsunuz. Sizin gibi ben de iyi bir başlangıç ​​olması gerektiği konusunda aynı kafa karışıklığıyla başladım. Python’u öğrenmeli miyim yoksa R mı öğrenmeliyim sorusu hep kafamı kurcaladı?

Sizler gibi benim için de Matematik her zaman korkutucu bir gerçekti ve her zaman matematiği nereden öğrenmeliyim diye kendime sorardım. Ayrıca, Makine Öğrenimi için nasıl güçlü bir temel almam gerektiğinden de endişeliydim. Her neyse, en azından kararınızı verdiğiniz için sizi tebrik ediyorum.

Bu yazıda, pratik makine öğrenmesine başlamadan önce atmanız gereken bazı temel adımları ve kursları anlatacağım.

Makine Öğrenimi için 1. Adım (Temel Programlama)

İlk adım, programlamayı ve büyük olasılıkla Python’u öğrenmeniz gerekiyor. Daha önce tek bir kod satırı yazmamışsanız, programlamada yeni başlayanlar için en iyi kurs olan Harvard Üniversitesi’nden CS50 kursunu tavsiye edeceğim, size tüm C Dilini ve temel Python, JavaScript, SQL ve JSON sıfırdan öğretecek. Bu heyecan verici kurs edx.org’da ücretsizdir ve burada bulabilirsiniz . Burada CS50 ile ilgili bir makale okuyabilirsiniz. Son zamanlarda Kodluyoruz ekibi de Türkiye’de CS50 kursunu Türkçe olarak ilgililere sundu Türkçe kaynak için buraya bakabilirsiniz.

Doğrudan Python’dan başlamak istiyorsanız, MIT’in Python ile Bilgisayar Bilimine Giriş dersine edx’te ücretsiz olarak girmenizi tavsiye ederim . Lise cebirinin bu dersin ön koşulu olduğuna dikkat edin, çünkü bunlar gerçek dünyadaki matematiksel problemleri çözmenizi sağlayacaktır.

Hesaplama yeteneğinizin iyi olmadığını ve programlamada iyi bir problem çözücü olmadığınızı düşünüyorsanız, başka bir kursu tamamlamanızı öneririm. edx’te bulunan Computational Thinking ile ilgili olan Microsoft tarafından ücretsiz olarak sunulan bu dersi takip etmeniz iyi olacaktır. Bu ders gerçekten harikadır çünkü Computational Thinking ve eleştirel düşünme öğretiyor.

Programlamanın temelleri konusunda yeterince iyiyseniz ancak nesne yönelimli programlama hakkında bilginiz yoksa, Nesneye Dayalı Programlamayı öğrenmenizi öneririm. Makine öğrenmesinde (temel seviye) çok kullanılmasa da, kesinlikle çok yardımcı olur. Size Python’daki OOP ve algoritmaların temellerini öğreten bu kursu önereceğim. Bu kursu ücretsiz olarak edx.org adresinde bulabilirsiniz.

Bir sonraki adım veri yapılarına ve algoritmalara yönelik bilgimizi artırmaktan geçiyor. İyi bir programcı ilişkisel ağlar ve veri yapıları, karar ağaçları vb. bazı temel algoritmaları bilmelidir. Microsoftun sunduğu bu kurs size şunları öğretecektir:

  • Algoritmik Analiz
  • Sıralama ve Arama Algoritmaları
  • Veri Yapıları: İlişkisel yapılar, Yığınlar, Kuyruklar (Data Structures: Linked lists, Stacks, Queues)

Bu kursa edx.org adresinden ücretsiz olarak ulaşabilirsiniz.

Veri Yapıları ve Algoritmalar konusunda derinlere inmek istiyorsanız, UC San Diego’nun uzmanlığı bir başyapıttır. 6 kursu vardır veri yapıları ve algoritmalarda 0 dan en üst seviyesine götürecektir sizi. Her kursa tıklayabilir ve materyallerini ücretsiz olarak inceleyebilirsiniz, ancak sertifika almak istiyorsanız, fiyatı ne kadar erken tamamlayabileceğinize bağlı olarak ayda 50 $ ‘dır. Bu uzmanlığı Coursera.org’da bulabilirsiniz veya buraya tıklayın .

Makine Öğrenimi için 2. Adım

Evet, doğru tahmin ettiniz, yeni başlayanların çoğu için en tehlikeli kısım MATEMATİK.

Fotoğraf Antoine Dautry .

Ancak endişelenmeyin, düşündüğümüz kadar zor değil ve lise matematiğinin (vektörler, matrisler, matematik, olasılık ve istatistik) iyi temellerine sahip olduğunuzu düşünüyorsanız, sadece bir göz atıp ilgili kursa gidebilirsiniz. Eğer yeterince iyi olmadığını düşünüyorsanız, o zaman herkes matematik öğrenmek için en iyi yerin KHAN Academy olduğunu bilecektir. Khan Academy’de içerik miktarı çok zengin ve yararlıdır ve her şey ücretsizdir. Tüm lineer cebir, olasılık ve istatistikler ile çok değişkenli analiz derslerini burada bulabilirsiniz.

Bir başka iyi kurs ise Imperial College London tarafından Coursera’dan makine öğrenimi uzmanlığı için sunulan Math kursudur. Temelleri öğreten ve kavramları gözden geçiren ama çok derinlemesine dalmayan harika bir seridir. Egzersizler ve sınavlar oldukça zordur. Üzerinde 3 ders vardır.

Ayrıca MIT’in İstatistik üzerine harika bir dersi vardır.

Parametrelere göre modelleri işlemek için temel toolları geliştirdikten sonra, aşağıda gelecekte karşınıza çıkacak her türlü soruya cevap bulacağınız bir kurstur.

  • Belirli bir veri seti için hangi model ne kadar uygundur?
  • Doğrusal regresyonda değişkenler nasıl seçilir?
  • Doğrusal olmayan olgular nasıl modellenir?
  • Yüksek boyutlu veriler nasıl görselleştirilir?

Bu dersi almalısınız çünkü bu dersi almalısınız=), istatistik bilginizi sadece bir dizi yönergeye göre değil, aynı zamanda bunları birbirine bağlayan matematiksel ilkeleri de içerecek şekilde genişletmenize izin verir, sizi yeni modeller geliştirmek için ihtiyacınız olan araçları kullanmayı öğretir.

Bu kurs ücretsizdir. edx.org üzerinde enroll yapıp girebilirsiniz

Kodlama sırasında matematik öğrenmek istiyorsanız, Microsoft’un gerçekten iyi bir kursu var: “Makine Öğrenimi için Temel Matematik: Python Sürümü”. Bu dersin ön koşulu olan Python’un ünlü kütüphaneleri Numpy, Pandas ve matplotlib’i kullanarak matematiği grafik olarak öğreten interaktif bir dersi bitirme zorunluluğu olmasıdır. Aslında zorunlu değildir. Öğrenmek istiyorsan veri görselleştirmeyle ilgili o kütüphaneleri bilmek zorundasın. Bu kursu ücretsiz olarak edx.org adresinde bulabilirsiniz .

Udacity’de İstatistik’te 3 harika ücretsiz kurs bulunmaktadır.

Makine Öğrenimi için 3. Adım

Artık lineer cebir, çok değişkenli analiz ve istatistiklerle çalışmakta iyi olduğunuz için şimdi Python’un Numpy, Pandas, Matplotlib ve Scipy gibi ünlü veri görselleştirme kitaplıklarını öğrenmeniz ve her türlü veriyi analiz etmeniz ve grafik olarak görmeniz gerekiyor.Tabii ki, çok daha fazla veri görselleştirme kütüphanesi var, ancak bunlar en önemlileridir. Doğrusal Cebir ve Analiz kavramlarınızı grafiksel olarak uygulayın ve datalarınızı görselleştirin.

Bu konuda başyapıtlardan biri, Michigan Üniversitesi tarafından Python Dilinde uzmanlaşmanızı sağlayacak (İstatistikler, veri görselleştirme) başka bir kurstur. Coursera.org adresinden ücretsiz olarak ulaşabilirsiniz.

Yine Michigan Üniversitesi eğitmenleri tarafından verilen Python’la Veri Bilimine Giriş kursu, numpy’in ve pandasın temellerinden çok iyi bir şekilde öğretildiği bir kurstur. Bu kursta ücretsizdir. Bu kursun bir sonraki bölümü ezberlerimizi bozmak üzere sunulmuştur. Python’da Uygulamalı Çizim, Grafikleme ve Veri Görselleştirme olarak adlandırılır ve tüm grafiksel görselleştirmeyi ve ipuçlarını ve tekniklerini öğretir. Muhteşem bir ders olduğunu söylemeliyim.

Bir diğer iyi ders ise Harvard’ın bu kütüphanelere bazı örnek olaylarla öğrettiği “Araştırmalar için Python Kullanımı” dır ve giriş mottosundan ne kadar kaliteli bir kurs olduğunu göstermektedir.

‘This course bridges the gap between introductory and advanced courses in Python. While there are many excellent introductory Python courses available, most typically do not go deep enough for you to apply your Python skills to research projects.’ yani ‘Bu ders Python’daki giriş ve ileri düzey dersler arasındaki boşluğu doldurmaktadır. Birçok mükemmel giriş Python kursu mevcut olsa da, genellikle Python becerilerinizi araştırma projelerine uygulamanız için yeterince derinlemesine gitmenize gerek yok.’verici ve birçok yeni şey öğretiyor.

Ücretsiz kursu edx.org üzerinde bulabilirsiniz.

Bir başka çok kapsamlı ders, UC San Diego’nun Veri Öğretimi için Python kursunda mevcuttur. Temel de;

  • Python
  • Jupyter notebooks
  • pandas
  • NumPy
  • Matplotlib
  • git
  • sci kit-learn
  • NLTK

Bu ders aynı zamanda size makine öğrenmenin temellerini öğretecek, ücretsiz edx.org üzerinde kursa kaydolun ve şartları sağladığınızdan emin olun.

Adım 4 Pratik Makine Öğrenimi

Fotoğraf Franck V.

Şimdiye kadar, veri görselleştirme kitaplıklarının yanı sıra doğrusal cebir, çok değişkenli analiz, olasılık, istatistik veeeeee python öğrendinizi varsayıyorum. Şimdi makine öğrenimine giriş yapacağız. Bu bölüm en heyecan verici kısımdır. Derin sulara dalmaya umarım hazırsınızdır.

İlk kurs çok zor olabilir çok ağır gelebilir bu yüzden iyi bir seçim olmayabilir sizin için. Eğer iyi değilse dersi değiştirebilirsiniz internette o derslerden başka yüzlerce ders daha var. Yani buradaki tüm kurslar son derece nitelikli olacak ve ML’deki ilk kursa başlamadan önce bu konuda biraz araştırma yaparsanız kendi öğrenme biçiminizi ortaya koyarsanız sizin için daha iyi olacaktır.

Bu giriş dersi size makine öğrenimini öğretmeyecek, bunun yerine, size makine öğrenmesinin ne olduğunu, makine öğrenimi terminolojisi ile ne anlama geldiği, AI stratejisi ve etiği hakkında bir fikir verecektir. Ayrıca makine öğrenmesinin nasıl çalıştığı, iş akışının ne olduğu ve hayatınızda AI nasıl oluşturulacağı hakkında genel bir bakış sunacaktır. Elbette daha ileri gitmek isteyenler için çok iyi bilinen ünlü Makine Öğrenimi öğretmeni Andrew Ng verdiği kursu da kullanılabilirsiniz. Bu ders alacaklarınızın içinde ki en kaliteli derslerden biri olacaktır. Ücretsiz coursera.org üzerinden ulaşabilirsiniz.

Google ya da herhangi bir blogda herkesin önerdiği ilk ders, Stanford Üniversitesi’nden Andrew Ng tarafından verilen Machine Learning kursudur. Bu derse 2.5 milyondan fazla öğrenci kaydolmuş ve 200000+ fazla öğrenci bu dersi almıştır . Çok temel kavramlardan ileri kavramlara kadar herşeyi öğretir ve yeni başlayanlar için çok kapsamlı bir derstir. Bu dersin toplam süresi 56 + saattir ve modül modüldür. Bu kursun bir değerlendirmesini okumak isterseniz burada linki mevcut. İlgili okuma yapmak isterseniz.

İşte Quora’da bu kursun bir başka incelemesi de mevcuttur.

İçindeki içeriğin listesi.

  • Linear Regression
  • Polynomial Regression
  • Logistic Regression
  • Multi-class Classification
  • Neural Network
  • Support Vector Machine (SVM)
  • K-means Clustering
  • Primary Component Analysis (PCA)
  • Anomaly Detection
  • Recommender System

Tek sorun (bazı insanlara göre) Matlab’da öğretilmesidir, Matlab temelde biraz emek isteyen bir programdır ve bütününe hakim olmak zordur. Ama amaçlarımız doğrultusunda Matlab öğrenmek iyi olacaktır. Ek bir beceridir. Bu kursa Stanford’un resmi web sitesinde (burada) ve coursera.org’da (burada) ücretsiz olarak erişilebilir.

Bu dersten sonra, şimdi Python’da öğrendiğiniz her şeyi uygulamanız ve Andrew Ng, Kian Katanfrosh ve Younes Bensouda tarafından Coursera’da deeplearning.ai tarafından öğrendiğinizin ötesine geçmeniz gerekiyor. Bu uzmanlık alanında 5 ders bulunmaktadır.

  • Yapay Sinir Ağları ve Derin Öğrenme
  • Improving Deep Neural Networks: Hyper-parameter tuning, Regularization, and Optimization
  • Structuring Machine Learning Projects
  • Convolutional Neural Networks
  • Sequence Models

Kazanacağınız temel beceriler

  • TensorFlow
  • Evrişimsel Sinir Ağları (Convolutional neural network)
  • Yapay Sinir Ağı
  • Derin Öğrenme

Tabii ki, bu sadece bir başlangıç ​​ve öğrenilecek ve keşfedilecek çok şey var, ancak bunları yaparsanız, umarım, nerede durduğunuz ve ne yapacağınız hakkında bir fikir edineceksiniz.

Bazı Tavsiye ve Öneriler

İşte bazı öneriler.

  • Şu anda OC Devel’in “Makine Öğrenim Kılavuzu” Podcast’ini dinlemeye başlayın. Makine öğreniminin ne olduğu ve makine öğrenimi yoluna doğru değişen bir Android ve Web uygulamaları geliştiricisinin yolculuğuna şahitlik edin. Tam bir genel bakış sunmuş olduğu projeyi inceleyin. Projeyi takip edin, projeyi takip ederken processi öğrenebilirsiniz. Ayrıca podcast adreslerini bırakıyorum Apple Podcasts / iTunes, Google Podcasts OC Devel’in web sitesine de bakmayı unutmayın .
  • “Scikit-Learn ve TensorFlow ile Uygulamalı Makine Öğrenimi: Akıllı Sistemler Oluşturmak için Kavramlar, Araçlar ve Teknikler” kitabını edinebilirsiniz.
  • Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems
  • Makine öğrenimin de karşılaşacağınız sorunları hemen çözebilmek için yapabileceğiniz 5 adımlı bir kısayol var. Sonra bir veri bilimcisi veya daha gelişmiş bir makine öğrenimi mühendisi olmak için 10 adımlık yolu kullanabilirsiniz. Okumanızı tavsiye ettiğim güzel bir makale bu . Birçok yararlı bilgiye sahiptir.
  • Kaggle üzerinde çok çalışın ( ML’ye başladığınız da zaten bunu öğreneceksiniz).
  • Kendini adamış ol ve yapabileceğine inan. Tek ihtiyacınız olan tutarlılık.

İyi Şanslar. Makinelerin nasıl akıllı hale gelebileceğini öğrenmeniz için bu yolları takip edin. Ve Çok çalışın…

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

Mehmet Tuğrul Kaya
Mehmet Tuğrul Kaya

No responses yet

Write a response