28 Şubat 2020 Cuma

Makine Öğrenmesi ve Kullanıldığı Alanlar

Merhabalar,

Son zamanlarda çok sıkça duyduğumuz yapay zeka ve makine öğrenmeleri ile ilgili bilgi almak istiyorsanız okumaya devam ediniz.

Makale bitince aşağıdaki konular hakkında bilgilere sahip olacaksınız

  • Makine öğrenmesi nedir
  • Makine öğrenmesi nerelerde kullanılır

Bilgisayar görmüş olduğunuz her kurum ve kuruluşta, verininin olduğu her alanda makine öğrenmesini kullanılabilir. Kısaca bilgisayarların çalışması için gerekli olan 1 ve 0'ların olduğu her yerde kullanılır.

Veri varsa makine öğrenmesi de kullanılabilir.


Computer Vision (Bilgisayar ile Görü)


Nesnelere bakarak bunların ne olduğunu, elma mı portakal mı bunu belirleyebilmesi işlemidir.











Yapay zekanın kullanıldığı zeki yazılımlar aracılığıyla bilgisayarlar ile görme işlemi yapılır. 2 farklı şekilde olabilir.
  1. Bilgisayardan gerçek dünya izlenip tehlikeli durumları denetleme
  2. Sensörler aracılığıyla gerçek dünyadan algılanan hisler ile 

Nesne Tanıma

Kameranın çekmiş olduğu bir nesneyi tanıması
Kişilerin mutlu mu mutsuz mu olduğunu tespit etme
Kameralar aracılığı ile toplanan verilerle müşteri memnuniyetini artırma işlemi


Görüntü İşleme

Ekrandaki nesneleri tanınması için öznitelik çıkartılarak yapılan işlemler bu aşamada derin öğrenmeler de kullanılır.


Face Recognition

Yüz tanıma işlemidir, yüzümüzü tanır ve telefonumuzun kilidini açması.
(Günlük hayatta çok sıkça kullanmaya başladığımız bir özellik.)
Yüz tanıma işleminde, kişinin cinsiyetini bilmesi ya da yaşını çıkartması.








Virtual Reality(Sanal Gerçeklik)

Oyun sektöründen tutun da ehliyet alma aşamasındaki çeşitli simülasyonlara kadar bir çok alanda kullanılır.

Makine öğrenmesinin oyun sektöründe kullanıldığı da bilinmektedir. Mesela oynadığımız oyunda hangi oyuncu ile eşleşirsek daha mutlu oluruz. Ya da oyun oynarken seviyelerin tasarımcı tarafından değil de bilgisayar tarafından otomatik üretilmesi.

1990 yıllarında dünya satranç şampiyonu yapay zeka yenmiştir. Burada da yine yapay zeka ve makine öğrenmesini görmekteyiz.



Augmented Reality (Artırılmış Gerçeklik)

Sokaklarda uygulamayı açıp sokağa tuttuğumuzda en yakın eczanenin yerini detaylıca gösteren uygulama ya da pokemon go oyunundaki gibi gerçek dünyada oyunlar oynayabildiğimiz uygulamalardır.
Ev dekorasyonunda kullanılacağı ve bir tıkla kapı rengi,duvar rengi ya da halının rengini değiştirebildiğimiz uygulamaların geliştirilebileceği uygulamalar.




Ses Tanıma

Siri ya da amazon echo uygulamasının bana bir jazz müzik çal dediğimizde bize sevebileceğimiz jazz müziği bulması, shazam'ın sesten çalan müziği bulması.

Bunların dışında akıllı eşyalar ve bu eşyalar arasındaki bağlantıların kurulması.


Robotların gerçek dünyadan öğrendiklerini ilerletebilmesi, kendi kendine kendini geliştirebilmesi. Robotların Reinforce algoritması ile en kötü algoritmada bile kendisi kendini ilerletebilir. Makinenin kendi kendine öğrenebilmesi, robotların dengede kalması, hareket edebilmesi ve yürümesi

Pazarlama

Reklam yapılırken hangi mesajın arkasından çıkması sizin o ürünü almanıza daha çok sebep olur.
Müşteriye özel reklam içeriklerinin hazırlanması

Hizmeti satın almadığımızda bize o hizmeti satın aldıracak en iyi 2.alternatifin belirlenmesi işlemi.

Müşteriniz sizi bırakmadan önce bizi bırakacağını anlayabilir miyiz?

Tavsiye algoritmaları
Amazon elde ettiği gelirlerinin %35'i tavsiye algoritmalarına ayırmıştır aynı işlem netflix  tarafında ise %75'i bulmaktadır.

Sağlık tarafında tomografi emaar veya röntgen filmleri üzerinde teşhis ve tanı koyulurken makine öğrenmesi, deep learning kullanımı.

Tahminlerde uydu görüntüleri yer bilimi görüntülerinde tarımda neresi uygun, hangi alanda yağış daha fazla olur. Bitki örtüsü tahmini gibi işlemlerde de makine öğrenmesi kullanımı.


Sahtekarları Yakalama işleminde örneğin; kredi kartı sahtekarlık, sisteme sızma, veri güvenliği, çalışanın sahtekarlık yapmasını yakalama

Arama Motorlarında
Web 1.0 statik
Web 2.0 dinamik (asp.net-php-jsp vs.)
Web 3.0 semantik web. bilimsel ağlar.(makine öğrenmesi)

Google'da aramak için napolyo'nun motosikletinin seri numarası nedir diye sorsak:  napolyon sonuçları, motorsiklet sonuçları vs. karmaşık sonuçlar gelir.
Napolyon zamanında motosikleti yoktu bilgisini google veremez. Bu kadar gelişmiş bir yapı Google üzerinde yok. Google üzerinde bu kadar gelişmiş zamansal varlık bilimidir. Bu arama Google'da yok ama ileride Web3.0 daha da ilerlemesiyle görebiliyor olacağız. (Semantik Web)

Web 4.0  ile kişisel ajanlar : 
Google yerine bizim kendi kişisel ajanlarımızın olduğu bir senaryodur.
Buzdolabı satarken anlık olarak bütün buzdolabı satanları getir dersek bize bununla ilgili haber veren yazılımlar olacaktoır.

Endüstri 4.0

Aydınlatması olmayan fabrikalardır. İnsanın içeride olmasına gerek kalmadan kendi kendine üretim yapabilen fabrikalar, otomatize olmuşlardır ve kurulacakları lokasyon olarak ay üssü ya da yer altı seçileceği ön görülmektedir.

Karar verme süreçlerinin makine öğrenmesi algoritmalarıyla bağlantı olması durumudur.

IOT  (Internet of things- Nesnelerin İnterneti)

Buzdolabının akıllı olması, yumurtanın bitmesi durumunda bizim yerimize sipariş verebilmesi. Uyanmaya yakın vücudumuzdan gönderdiğimiz sinyallerin mutfaktaki kahve makinesine sinyal göndermesi mutfağa geçtiğimizde kahvemizin hazır olması. Akıllı Elektrik Dağıtım Şebekeleri  Buzdolapları 10 dk çalışıyor, 30-45 dk duruyor. Doğru bir sekilde aynı zamanda değil de sırayla çalışırlarsa elektrik dağıtımı çok daha düzgün bir şekilde çalışması için buzdolaplarının birbirleriyle haberleşmesini sağlayan sistemlerdir. Buzdolabı çalışma frekansını firma tarafında kontrol edebiliyor olması çalışma zamanını ayarlamasına yardımcı olacaktır.







25 Şubat 2020 Salı

Python ile Hello World

Python dili ile ilgili temel bilgilere ulaşmak için tıklayınız.

Google tarafından hazırlanmış olan Python dokümantasyonuna ulaşmak için tıklayınız.

Python kodlarını yazabileceğimiz ortamlar aşağıdaki gibidir.

  • Anaconda
  • PyCharm Python IDE
  • Idle (Integrated Development and Learning Environment)



Idle indirmek için tıklayınız. 

Aşağıdaki gibi bir kurulum ekranı gelecektir. Install Now ile kurulum yapılır.


















Herhangi bir python interpreter'ını indirip python kodlarını yazmaya başlayabiliriz.

Python dilinde değişken türleri çalışma zamanında değerine göre belirlenir.
a=6 dersek a değişkeni 6 sayısal değerini alırken.
a='hello world' yazarsak string(dizgi) olacaktır.
len(a) ....a değişkeninin eleman sayısını hesaplar ve bunu bize döndürür.


Ekrana hello world yazdırmak için print () komutu kullanılır. Mesajımızı saklayabilmek için message adında bir değişken tanımladık değerini tanımladık.

Python Kodu:

message='Hello World'
print (message)

Çıktı:















Python'a Giriş









Python adını nereden alır?

Dili yazan kişi Guido Var Rossum, 1996 yılında yazmaya başlamış olup sevdiği hayranı olduğu komedyenin - Monty Python'ın - soyadını programlama diline isim olarak vermiştir.


Python nedir diyerek başlayalım hadi!!!

  • programlama dilidir ve program yazabiliriz. :) 
  • yorumlayıcı yani interpreted bir dildir, çıktısını hemen görebiliriz.


Daha önce bir programlama diliyle hayatınız buluşmuşsa karşılaşmış olabileceğiniz derlenme durumu literatürdeki ismiyle compile etme işlemleri yapmış olabilirsiniz. C,C#,Java vs. bu dillerdendir ve bu kodların çıktısını görebilmek için aşağıdaki işlemlerden geçeriz.

1.Kodu Yaz
2.Derle (derleyemezsen kodu düzelt)
3.Çıktıyı Gör

Derleme aşamasında bu diller makine diline çevrilir. 

Interpreted olanlar ise byte koda çevrilir. Bu yapıya uygun olan diller python, php, perl vs. derlemeye gerek kalmadan çalışır. 
  • nesne yönelimli bir programlama dilidir
  • yüksek seviye (insan diline daha yakın) kolay öğrenilir.
  • açık kaynaklı bir yazılım dilidir. (General Public Lisans)
  • standart kütüphane içerdiği için değişik platformlarda çalıştırılabilir. (java gibi) 
  • database kütüphaneleri vardır. (mysql-sqlite vs.)
  • görsel programlama yapmak istenirse QT form arayüz kütüphanesi kullanılır.
  • developerlar tarafından tercih edilme sebebi yazar yazmaz sonucu görmek hız kazandırır.

Python Dili ile Neler Yapabilirim?

Web programlama  ( Django Framework)
OpenCV kütüphanesi ile Image Processing
Sci-kit ile Veri Bilimi
Machine Learning - Neural Network vs.













SQL Çalışma Sorularının Çözümü

 -Ürünler tablosundaki ürünlerden Rengi siyah,silver ya da multi renkte olanları fiyat bilgisine göre büyükten küçüğe getirilip gösterilecek...