Kayıtlar

Bayes Teoremi

Resim
Bayes Teoremi Olasılık teorileri arasında en popüler ve yaygın kullanılan teoridir. Olasılıkla ilgili daha önceden bilgi sahibi değilseniz olasılık yazımda bu konuyla ilgili temel kuralları açıklamaya çalıştım o yazıyı da okumanızı öneririm. Bayes teoremi, 18. yüzyıl İngiliz matematikçisi Thomas Bayes'in adını verdiği koşullu olasılığı belirlemek için kullanılan matematiksel bir formüldür. P(A|B)  = B olayı gerçekleştiğinde A olayının gerçekleşme olasılığı P(A) = A olayının gerçekleşme olasılığı P(B|A)  = A olayı gerçekleştiğinde B olayının gerçekleşme olasılığı P(B) = B olayının gerçekleşme olasılığı Şimdi bu formülün nasıl çıkarıldığına bakalım. Koşullu olasılık kuralını kullanacağız. Buna göre: P(A|B) = P(A ve B) / P(B) Formülünü kullanıyorduk. Aynı şekilde : P(B|A) = P(B ve A) / P(A) P(A ve B) = P(B ve A) dır. Yukarıdaki iki denklemi birleştirirsek. P(A|B) . P(B) = P(B|A) . P(A)  buradan Bayes kuralını çıkarabiliriz. P(...

Olasılık Kuralları

Olasılık Kuralları Olasılık kuralları, temel olasılık konularına giriş ve olasılık içeren olaylara yaklaşım açısından bilinmesi gereken temel kurallardır. Bu yazıda olasılık kuralları ile ilgili temel bilgiler vermeye çalışacağım. Olasılık konusu elbette derin ve matematiksel olarak detayları çok bir konudur, fakat benim üzerinde durmak istediğim özellikle giriş seviyesinde bir bakış açısı sağlamaya yardımcı olmaktır.  Bu yazıda veya diğer yazılarımda matematiksel detaylara girip konuyu içinden çıkılamaz duruma getirmekten çok işin özünü verip merak edenleri araştırmaya yönlendirmeyi tercih ettiğimi belirtmek isterim. Olasılık kurallarının isimlendirmelerini kolay anlaşılması amacıyla biraz farklılaştırdım, bence bu şekildeki isimlendirmeler akılda kalıcı oluyor. Kuralları kısaca özetleyip örneklerle pekiştirmeye çalışacağım. Daha net anlamak için farklı kaynakları ve tanımları incelemenizi özellikle öneririm. Toplama Kuralı Aynı anda gerçekleşmeyen(olasılıkları ke...

Container Nedir? Docker Nedir? MongoDB Container Kurulum Örneği

Resim
Container Nedir? Docker Nedir? MongoDB Container Kurulum Örneği Bu yazıda Container konusuna giriş yapıp devamında Docker ve MongoDB document database kullanımını ve bunun docker container olarak lokal makinamıza nasıl kurabileceğimizi kısaca anlatmaya çalışacağım. Öncelikle container nedir? Ne değildir? Buna bir bakıp Docker konusuna geçelim. Container Container, uygulamalarımızı bir yapı içine koyup istediğimiz yere gönderebileceğimiz ve orada bir kurulum/setup ihtiyacı olmadan ve uyumluluk sorunu yaşamadan çalışabilmelerini sağlayan teknolojidir. Bunun tam anlaşılabilmesi için VM(Virtual Machine) ne demek onu da bilmek gerekiyor. VM, sanal makina anlamına gelmekte olup işletim sistemi barındıran yapılar olmakla beraber başlı başına bir bilgisayarı simule eder. Her VM içinde bir işletim sistemi çalışır ki o işletim sistemine RAM ayrılması zorunluluğu doğar. Bu da VM’e ayrılan RAM’den işletim sistemine gidecek bir kaynak demektir. VM’ler büyük ve hantal yapılardır, depl...

Discriminative ve Generative Modeller

Discriminative ve Generative Modeller Supervised learning altındaki classification işlemlerinde Discriminative ve Generative modeller hakkında kısa bilgi vermeye çalışacağım.  Aslında kelimelerin anlamlarından gitsek bile farkın ne olduğunu kestirmemiz mümkün. Discriminative kelimesini ayrım yapan/fark gözeten, Generative kelimesini ise üretebilir/yaratabilir olarak anlamlandırabiliriz. Bu durumda Discriminative model verideki farklara bakan ve buna göre farklılık arasına bir sınır koyup(desicion boundary) bu şekilde sınıflandıran, Generative model ise veri farklılıklarını modelleyip/anlayıp gruplayan ve sınıflandırmayı grupladığı bu model üzerinden yapan algoritmadır diyebiliriz. Örneğin logistic regression bir Discriminative öğrenme algoritmasdır. Bu nasıl çalışır? En basit anlatımla A ve B etiketine sahip iki veri setimiz olsun. A ve B olarak sınıflandırdığımız veri setinin ayrımını yapmak için A etiketi ve B etiketi verilerinin arasından düz bir hat geçirir buna de...

Custom Vision AI Uygulaması

Resim
Custom Vision AI Microsoft’un kullanıma sunduğu görsel tanıma ve sınıflandırma yapay zeka servisidir. Daha önce LUIS konusunda da anlattığım gibi kullanması kolay, herhangi bir kodlama gerekmeden bir modelin üretilip publish edilebileceği ve çağrılabileceği bir yapıdır. Kullanımı en basit servis diyebilirim, sadece görselleri yükleyip modeli train ettikten sonra sınıflandırma denemelerini yapabilirsiniz. Öncelikle customvision.ai sitesinden microsoft hesabınızla giriş yapıyorsunuz. Sonrasında yeni proje yaratılıyor. Proje yaratıldıktan sonra görseller yükleniyor. Görsel yükleme ekranında yüklenen görsellere tag veriliyor. Bu tag’leme işlemi yüklenen görsel setinin hangi sınıflandırmaya ait olduğunu belirtmek için gerekli. Ben örnek olarak qashqai ve auris fotolarını yükledim ve auris fotolarına toyota ve auris etiketini verdim. Qashqai fotolarına ise nissan ve qashqai etiketini verdim. Daha sonra yüklenen bu resimler train ediliyor. Modelimizi train...

LUIS - The Language Understanding Intelligence Service

Resim
LUIS - The Language Understanding Intelligence Service LUIS, Microsoft tarafından geliştirilmiş bir yapay zeka servisidir. Natural Language Processing (NLP) kullanarak verilen cümleleri yorumlar, ayrıştırır ve hangi amaca yönelik olduğunu sınıflandırarak döner. LUIS ile uygulamalar arasındaki veri alış verişi HTTP endpoint aracılığı ile olmaktadır. Bir LUIS uygulamasını dizayn ederken temel üç kavramın bilinmesi önemlidir. Bunlar: Utterance İfade. Kullanıcıdan gelen ve yorumlanması gereken metin girişi. "Ankara'ya bilet alacağım" veya "Rezervasyon" veya Ankara uçuşu" gibi bir ifade olabilir. Intent Amaç. Kullanıcının gerçekleştirmek istediği işlemleri temsil eder. Kullanıcının cümlesindeki hedeftir; örneğin, bir fatura ödemesi veya bir haber makalesini bulma gibi. Entity Varlık. Kullanıcının amacıyla alakalı bir sınıfı temsil eder. “Ankara'ya bilet alacağım" sözcüğünde, "Ankara", konum türü bir varlıktır. ...

Yapay Zeka Öğrenme Teknikleri Giriş

Resim
Yapay Zeka Öğrenme Teknikleri - Giriş Supervised Learning Denetimli Öğrenme olarak ta dilimize çevrilebilir. Seçeceğimiz öğrenme algoritmamıza modelleme yapabileceği yeterlilikte verinin ve bu veriden ulaşılmaya çalışılan sonucun verilmesi gerekir. Algoritmamız eldeki veriyi ve bu verinin sonucunu kullanarak bir model geliştirir. Geliştirilen bu modelin geçerliliğini ve hata oranlarını bilebilmek için elimizdeki veri ve sonuçları ile sınarız. Eldeki hazır veri seti kullanılarak geliştirilmiş ve sonrasında test verisi ile geçerliliği sınanmış modelimizin yeni gelecek veriden doğru tahmini sonuç çıkarması bazı kriterlere bağlıdır. Doğru modelleme yapılmamışsa çıkacak sonuçlar da gerçek durumdan uzak olacaktır. Dikkat edilmesi gereken kriterler öğrenme algoritması seçimi, verinin gerçek durumu ne kadar yansıttığı, test verisinin ne kadar doğru seçildiği ve hazırlandığı(bu konu çok önemli ve uzun bir konudur) gibi. Regression Sayısal giriş değerleri ile sayısal ve süreklilik...

Raspberry Pi -- İşlemci Sıcaklığını Tweet At

Raspberry Pi -- İşlemci Sıcaklığını Tweet Atan Python Kod Örneği Twitter account ile ilgili gerekli uygulama hakları ayarlandığı varsayılarak aşağıdaki örnek kodu çalıştırdığınızda işlemci sıcaklığını tweet atar. Bu işlemde Twython api ile tweet attım. Kodu çalıştırmadan önce bu kütüphaneyi de indirmek gerekir. #!/usr/bin/env python import sys import os from datetime import datetime from twython import Twython i = datetime.now() degree = unichr(176) now = i.strftime('%Y/%m/%d %H:%M:%S')  cmd = '/opt/vc/bin/vcgencmd measure_temp'  line = os.popen(cmd).readline().strip()  temp = line.split('=')[1].split("'")[0]  tweet_text = now + ' Pi CPU is '+ temp + ' ' + degree +'C'  CONSUMER_KEY = 'buralar hep dolacak' CONSUMER_SECRET = 'buralar hep dolacak' ACCESS_KEY = 'buralar hep dolacak' ACCESS_SECRET = 'buralar hep dolacak' api = Twython(CONSUMER_KEY,CONSUMER_SECRET,ACCESS...

Raspberry Pi -- Twitter Hesabına Resim Yolla

Raspberry Pi İle Twitter Hesabına Resim Yollamak Bu örnekte Raspberry pi üzerinden kameramızla çektiğimiz fotoğrafı twitter hesabımıza göndermeyi anlatacağım. Bu iş için python kütüphanelerinden Twython'u kullanacağım. Webcam üzerindeki görüntüyü ise python game api deki metodla alacağım. Raspi'ye bağlı webcam olarak ben logitech c270 hd kullanıyorum. Uyum sorunu veya herhangi bir problem yaşamadım. Herhangi bir webcam kullanabilirsiniz şu adresten ( http://elinux.org/RPi_USB_Webcams )  raspi ve bağlanabilecek usb kameralar konusunda detaylı bilgiler var okumanızı öneririrm. Yapmanız gereken diğer şeyler ise twitter account'unuza uygulama için yetki vermek ve oradan consumer ve secret key gibi bilgileri alıp kod içine yazmak. Bununla ilgili detayı google'layıp öğrenebilirsiniz. Tüm ayarlar bittikten sonra gelelim kodlamaya. #!/usr/bin/env python import sys import os from datetime import datetime from twython import Twython import pygame import pyga...

Raspberry Pi -- Bash Script İle Klasör İçindeki Dosyalara İşlem

Raspberry Pi -- Bash Script İle Klasör İçindeki Dosyalara İşlem Yapmak Önceki örnekte python ile dropbox'a dosya gönderimi vardı. Şimdi klasör içindeki dosyaları listeleyip bunları tek tek dropbox'a gönderen ve bir gönderdiğini tekrar göndermemek için report.txt isimli bir log dosyası tutan örnek sh dosyamızı yazalım. İlk etapta klasör içindeki dosyalar şu şekilde listelenir: for entry in /mnt/usb/motion/* do     echo "dosya=$entry" fi done İkinci etapta report.txt dosyası okuma ve yazma işlemleri Okuma işlemi: FILE=/mnt/usb/report.txt while read line   do     #echo "Okunan satır =$line"   done < $FILE Yazma işlemi : echo "Birşeyler yaz" >> report.txt Sonuçta tüm bunları birleştirdiğimizde klasörümüzdeki dosyaları listeletip bunları eğer daha önce gönderilmemişse dropbox hesabımıza gönderen script örneğinin tam kodu aşağıdaki gibidir. #!/bin/bash FILE=/mnt/usb/report.txt #Send files to dropbox account...