4 Mart 2018 Pazar

ÖNEMLİ BİR VERİ MADENCİLİĞİ TEKNİĞİ: SINIFLANDIRMA


SINIFLANDIRMA
En sık kullanılan ve belki de tarihi en eski veri madenciliği tekniklerinden birisidir sınıflandırma (classification). Sınıflandırma olmadan hayatı ve kavramları anlamlandırmak bile olası değildir. Kadın ile erkek ayrımı, iyi ile kötü ayrımı veya her nevi ayrım bir sınıflandırma uygulamasıdır. Sınıflar sadece iki ile kısıtlı olmayıp Aristo’nun canlıları türlerine göre sınıflandırdığı gibi çok sınıflı örnekler de konu içerisinde yer alır. Sınıflandırmanın tarihi bilim tarihi değil belki insanlık tarihi kadar eskilere dayanır.

Veri madenciliği görevleri açısından bakıldığında sınıflandırma tahminsel veri madenciliği (predictive methods) grubunda yer alır. Her tahminsel veri madenciliği görevinde olduğu gibi sınıflandırmada da ya n tane nitelikten (n+1). nitelik ya da m tane olaydan (m+1). olay tahmin edilir. Her iki örnekte de görüleceği üzere sınıflandırma veya tahmin görevi için olmazsa olmaz en önemli bileşenlerden birisi tarihsel veridir (historical data). Tarihsel veri olmadan ve bu veri bir tümevarım (induction) yöntemiyle bir modele dönüşmeden tahmin yapmak pek olası değildir. Model oluşturmadan sınıflandırma yapan k-NN algoritması gibi örnekler olsa da yoğun olarak sınıflandırma görevi model tabanlıdır.

Belki en sık duyduğumuz tahmin örneği hava tahminidir. Hava tahminlerindeki özellikle de son dönemlerde elde edilen başarı tahminsel veri madenciliğinin geldiği nokta açısından sevindiricidir. Hava tahmini üzerinden tahmin olayını açıklamak gerekirse; karşımızda birçok kaynaktan gelen veri (balonlardan, rüzgar güllerinden, uydulardan, atmosfer görüntülerinden) ve bu verileri işleyen çok güçlü veri analiz araçları vardır. Hem kaliteli veri hem de yüksek doğruluk veren sınıflandırma modelleri bize başarılı hava tahminlerini sunmaktadır. Dolayısıyla sınıflandırma, eldeki (tarihsel) veriyi kullanarak elde bulunmayan veri veya verilerin tahmin edilmesidir.

Sınıflandırma: Tanım
Sınıfı bilinmeyen kayıtların (unseen cases) daha önceden tanımlanmış kategorilerden birine atanmasına sınıflandırma adı verilir. Sınıflandırma işlemi genellikle bir sınıflandırma modeline uygun olarak yerine getirilir.

Bir sınıflandırma modeli; tahmin değişkenleri (predictors) yardımıyla, hedef (class) değişkeninin hesap edildiği bir fonksiyon olarak görülebilir. Tahmin değişkenleri ile hedef değişkenleri arasındaki ilişki veri seti üzerinde yapılan deneylerle bulunur. Bir sınıflandırma işleminde kullanılan veri temel olarak ikiye ayrılır; verilerin ilk bölümü eğitim verisi diğeri ise test verisidir. Sınıflandırma modeli eğitim verisi ile eğitilir test verisi ile de değerlendirilir. Test verilerinde elde edilen sınıflandırma başarısı modelin doğruluğunu verir.

Eğitim seti (training set) sınıflandırma modelinin elde edileceği kayıtları içerir. Eğitim setindeki her kayıt bir tanesi sınıf (class) özniteliği olan özniteliklerden oluşur.

Test seti (test set) bir sınıflandırma modelinin doğruluğunu belirlemek için kullanılır.

Oran olarak analiz edilen verilerin %70 civarındaki oranı eğitim amacıyla %30’luk kısmı ise test amacıyla kullanılır. Bununla birlikte kimi zaman bu oranlar; %60 eğitim verisi, %20 doğrulama (validation) verisi ve %20 test verisi olarak değişebilmektedir. Elimizdeki veri miktarının az olduğu durumlarda da aynı veri hem eğitim hem test verisi olarak kullanılır. Bu yönteme k-kat çapraz doğrulama (k-fold cross validation) adı verilir. K-kat çapraz doğrulama için en sık kullanılan yöntem 10-kat çapraz doğrulama olup her aşamasında verinin farklı %90’lık kısmı eğitim %10’luk kısmı test verisi olarak alınır. 10 kere bu işlem yapıldıktan sonra ortalaması alınarak sonuç verilir.   

Sınıflandırma Örnekleri
Kanser araştırmaları: Kanser araştırmaları, genellikle kan değerleri ve doku örneklerine dayalı olarak yerine getirilmektedir. Kanser olma ihtimali olan hastalara ait tümörlerden alınan doku örnekleri bazı nitelikler sunularak; tümör hücrelerinin iyi veya kötü huylu olup olmadığı tahmin edilir. Böylece, tümörün kötü huylu olarak sınıflandırılması hastanın kanser olduğu, tümörün iyi huylu olması ise onun hasta olmadığı anlamına gelmektedir.  

İstisna saptanması: Kişilerin kredi kartı kullanımlarından kaynaklanan tarihsel verileri onların normal kredi kartı örüntülerini verir. Normalden sapmalar ise kredi kartı için bir istisna ve bir dolandırıcılık habercisi olabilir. İstisna saptanması olarak adlandırılan bu sınıflandırma işleminde kişilerin kredi kartı kullanım davranışları tahminci nitelikleri, bu kullanımın sonuçları ise sınıf değişkenlerini verir.

Metin sınıflandırma: İnternet ortamında her gün binlerce doküman üretilmekte ve paylaşılmaktadır. Bu metinlerin insan eliyle sınıflandırılması artık mümkün değildir. O yüzden metin madenciliği yöntemlerinden birisi olan metin sınıflandırma yöntemi kullanılır. Metin sınıflandırma, düz metinlerin terim tabanlı olarak özetlenmesi ve terim sıklıklarına dayalı olarak sınıflandırılması şeklinde yerine getirilmektedir. Biz her bir metin kategorisi için anahtar terimleri ortaya çıkararak metin sınıflandırmayı daha hızlı şekilde yerine getirebiliriz.

Örnekleri artırmak mümkündür bununla birlikte konunun anlaşıldığını düşünüyorum.

Sınıflandırma Teknikleri (Algoritmaları)
o  Karar ağacı tabanlı yöntemler: eğitim verisinden, onların niteliklerine dayalı olarak bir ağaç oluşturulur ve ardından test verileri bu ağaca uygulanarak elde edilen değerler yeni nesnelerin sınıfı olarak atanır. Ağaç oluşturma esnasında bilgi kazancı ölçümü kullanılır ve en uygun ağaç bulunmaya çalışılır. 
o  Kural-tabanlı yöntemler: eğitim verisinden if-then-else kuralları benzeri kuralların elde edilmesi ve bunların bir kural tabanında tutulması şeklinde çalışır. Her yeni nesne bu kurallardan en az biri ile ilişkili olup sınıflandırma ilişkili kural tarafından yapılır.
o  Bellek tabanlı yakınsama: veri nesneleri arasındaki uzaklık ve benzerlik bilgilerine dayalı sınıflandırılmanın yapılmasını ifade eder. Tembel öğreniciler olarak ta bilinirler. Tembel denmesinin sebebi her bir nesne için yeniden hesaplama yapma zorunluluğudur. Örnek bir yöntem k-NN sınıflayıcıdır. 
o  Yapay sinir ağları: yapay sinir ağları sadece sınıflandırma için değil başka görevler için de uygun teknikler içerir. Sınıflandırma yapılacağı zaman veriler yardımıyla bir sinir ağı eğitilir ve eğitilen ağ yardımıyla test verileri sınıflandırılır. Sinir ağlarının eğitimi sinir hücresi ağırlıklarının güncellenmesi şeklinde yerine getirilir. Giriş hücrelerine bir yeni nesneye ait nitelikler sunulduğunda sonuç hücresinde yeni nesnenin sınıfı sunulur.
o  Bayes sınıflayıcı: öncel olasılıklardan yola çıkarak, olasılığa dayalı şekilde sınıflandırma yapma yöntemidir. Bilinenden yola çıkarak bilinmeyeni bulma olarak ta bilinir. Birçok sınıflandırma probleminde hem hız hem de doğruluk açısından yüksek performanslar vermiştir. Bu teknikle çözülen en bilinen örnek spam tespitidir. 
o  Destek vektör makineleri: sınıf elemanlarını birbirinden ayırt etmek için kimi zaman bir çizgi kimi zaman ise hiper düzlemler kullanılan bir sınıflayıcı türüdür. Çizgi ve hiper düzlemler birden çok olabilir fakat bunlardan marjini maksimize eden seçilir. Ayrıca; destek vektör makineleri doğrusal verilere uygun geliştirildiği için doğrusal olmayan veri durumunda kernel yöntemleri kullanılarak doğrusal olmayan verilerin doğrusal verilere dönüşümü sağlanır.  
Dr. Hidayet Takcı
htakci@cumhuriyet.edu.tr
Cumhuriyet Üniversitesi Öğretim Üyesi

26 Şubat 2018 Pazartesi

YAPAY ZEKÂ, MAKİNE ÖĞRENMESİ VE DERİN ÖĞRENME




Yapay Zekâ (artificial intelligence) için kabul edilmiş bir tanımlamaya göre “yapay zekâ, bir bilgisayarın veya bilgisayar kontrolündeki bir robotun çeşitli faaliyetleri zeki canlılara benzer şekilde yerine getirme kabiliyetidir”. Akılda kalıcı bu tanımda öne çıkan konu insana has bir yetenek olan zekânın diğer sistemlere de kazandırılmasıdır. Kulağa hoş gelen “insan yeteneklerinin makinelere kazandırılması” çok kolay bir çalışma değildir. Önce zekânın ne olduğu, sonra nasıl kazanıldığı sonra da bunun kalıcılığı ve devamında geliştirilmesi gibi bir sürü zorlu soru bizi bekler. Zekâyı tanımlamadan yapay zekâyı kavramak ve onu makinelere kazandırmak kolay olmayacaktır. 

En basit ifadeyle zekâ kavramlar yardımıyla nesneleri algılayabilme, bunlar arasındaki ilişkileri kurabilme ve olaylar hakkında muhakemede bulunabilme yeteneği olarak ifade edilebilir. Nesneler özellikleri yardımıyla algılanır ve genellikle bir öğretmen eşliğinde onlara isimler verilir. Böylece zihin nesnelere isim verip onları diğerlerinden ayırt etmeye başlar. Muhakeme ise daha sonradan gelişen ve geliştiği ortama göre farklılıklar gösteren bir yetenektir. Ortamın ve şartların zekâyı olumlu ya da olumsuz şekilde etkilediği ise bilinen ve ispat edilen bir gerçektir. Peki, zekâ makinelere nasıl verilecek ve makineler nasıl daha zeki hale gelecek.

İnsan beyninde olduğu gibi makinelerde de en temel iki öğrenme tekniği denetimli (supervised) ve denetimsiz (unsuperised) öğrenmedir. Denetimli öğrenme bir öğretmen eşliğinde nesnelerin özelliklerinin sunulması ve adının verilmesi şeklinde cereyan eder. Özellikle ilk ve orta eğitimde öğrencilere öğretmenler tarafından bir şeylerin öğretilmesi buna benzer. Öğrenci öğretmenin anlattığını öğrenir ve sınavda sorulan soruları cevaplar. Aynı zamanda da bilgi birikimi her geçen gün biraz daha genişler. Denetimsiz öğrenim ise öğrencinin daha önce öğrendiklerinden yola çıkarak yeni durumlar hakkında yorum yapması ve muhakemede bulunması olarak görülebilir. Öğretmen anlattığı şeyi değil de onun daha ilerisini soruyorsa. Hikâyenin başını anlatıp sonunu öğrenciye bırakıyorsa, yani öğrettiğini değil de öğretmediğini de soruyorsa o zaman karşımıza denetimsiz öğrenim çıkıyor. Denetimsiz öğrenim olumsuz bir kavram gibi gözükmekle birlikte zekâda daha ileri bir seviyeyi gösteriyor. İnsan beyni için verdiğimiz örnek bilgisayarlar ve zeki sistemler için de geçerli olabiliyor, şöyle ki;

“öğretmen tarafından öğrenciye sunulan bilgiler yerine bizim tarafımızdan bilgisayara sunulan ve adına eğitim verisi dediğimiz veriler geliyor. İnsan beyni tarafından gerçekleştirilecek öğrenme algoritmalar yardımıyla meydana geliyor. Öğrencinin sınavda çözmesi gereken sorular da test verisi olarak sisteme sunuluyor.”

Soruların türü burada öğrenme metoduyla ilgili ipuçları içeriyor. Anlattığı şeyleri soran öğretmen denetimli öğrenme sistemleri için bir örnek oluştururken anlatmadığı şeyleri soran öğretmen denetimsiz öğrenmenin örneğini oluşturuyor. Buna karşılık yapay zekâ tekniklerinden hangilerini hangi durumda kullanmamız gerektiği konusu ortaya çıkıyor.

Yapay zekâ çalışmaları kapsamında bugüne kadar; doğal dil işleme, görüntü işleme, makine öğrenmesi, yapay sinir ağları gibi birçok konu karşımıza çıkmıştır. Fakat bunlardan özellikle en çarpıcı ve katma değeri en yüksek olanı makine öğrenmesidir. Makine öğrenmesi (machine learning); 1959 yılında bilgisayar biliminin yapay zekâda sayısal öğrenme ve model tanıma çalışmalarından geliştirilmiş bir alt dalıdır. Makine öğrenmesine yapay zekâ++ demek yerinde bir benzetme olacaktır. Daha çok tanıma ve öğretilmiş işleri mükemmel şekilde yerine getirmede başarılı olan yapay zekâya öğretilmemiş işlerde de destek olmak üzere geliştirilmiştir.

Bugüne kadar; karar ağaçları, kural tabanlı sınıflayıcılar, naive bayes, yapay sinir ağları, destek vektör makineleri, regresyon analizi, genetik algoritmalar gibi birçok alt kırılımda hizmetler sunan makine öğrenmesi son yıllarda biraz gecikmeli de olsa anlaşılmış bir konudur. Bugüne kadar istatistiksel teknikler yardımıyla verilerini analiz eden, bunlardan raporlar ortaya koyan firmalar artık re-active yöntemler şeklinde geçmişi özetleme yerine pro-active yöntemler ile geleceğe ışık tutmaya çalışmaktadırlar.

Bu kavramlar arasında bir kavram daha var ki bu diğerlerini de kapsıyor aslında. Yerinin neresi olduğu konusunda zaman zaman kafa karışıklığı yaşanan veri madenciliği firmaların ihtiyacı olan veri analiz ve çözümleme paketinin tamamına verilen isimdir. Sıklıkla makine öğrenmesi ile birbirine karıştırılmakla birlikte arada aslında çok net bir ayrım vardır. Veri madenciliği, adından da anlaşılacağı üzere içinde veri ön işlem (data pre-processing) ve veri son işlemin (data post-processing) de bulunduğu, işlenmiş verilere makine öğrenmesi algoritmalarının uygunaldığı, veritabanlarından bilgi keşfi sürecini ifade etmektedir. Veri madenciliğinin diğerlerinden belki en önemli avantajı belki veri analiz çalışmalarının en önemli kısmı olan veriyi görselleştirme ve veriyi keşfetmeye uygun teknikleri de bünyesinde barındırmasıdır.

Ve son dönemde adını sıkça duymakta olduğumuz Derin Öğrenme (deep learning). Yapay zekâ ile başlayıp makine öğrenmesi ile devam eden ve veri madenciliği içerisinde harmanlanan tekniklerin modern bir sürümüdür derin öğrenme. İlk olarak akan video verileri içerisindeki nesneleri büyük bir doğrulukla elde etme çalışması ile gündemimize giren derin öğrenme konusu bilim kurgu filmlerinin gerçek olabileceğini bizlere düşündürmeye başladı. Her ne kadar kanıksanması anlamında bir miktar daha zamana ihtiyaç olsa da şu anda survey anlamında çok sayıda çalışma ile az sayıda da olsa akademik ve ticari çalışma bulunmaktadır.

Elindeki verilerin değerli olduğunu düşünen herkesin yolu bir gün bu konulara düşecektir. Eğer rekabet baskısı yaşıyorsanız mutlaka siz de bu işin kıyısından köşesinden bir yerinden olaya dâhil olun derim. Bu konular demode olur mu diye düşünmeyin. Derin öğrenme olmaz da “en derin öğrenme” olur ama veri analizi ve veri bilimi konuları duraksamadan sürer de gider.

Konuyla ilgilenenler ve bu konuda çalışma fikri olanlar hiç çekinmeden htakci@gmail.com veya htakci@cumhuriyet.edu.tr adresine yazabilirler.

Selam, saygı ve hürmetlerimle…
Dr. Hidayet Takcı



9 Kasım 2017 Perşembe

VERİ BİLİMCİSİ - DATA SCIENTIST

Kimileri modaya uyar ve kendini bir yerde konumlandırma gereği duyar, kimileri de yıllar sonra modanın kendilerine uyduğunu görür ve mutlu olur. Niyet modaya uymak değil modaya uymuş denmesi riskine rağmen yapmış olduğu işi yapmaya devam etmektir. Neden mi bahsediyorum, daha adı bile konmadığı dönemlerde yaptığımız işten yani veri biliminden. Konuya pek de hakim olmayan birileri, eh biraz da kıskançlıktan nasibini almış olanlar, "nasıl yani adı bile konmadan çalışmakta nasıl oluyormuş" diyebilirler, varsın desinler önemli değil. Bazı kavramlar çocuklar gibidir doğumundan önce de vardırlar fakat varlıklarını ancak anneleri ve babaları hisseder.

Efendim uzatmadan girelim hikayeye. Veri bilimci nasıl olur, nasıl olunur? Konuyla ilgili arama motorlarını kurcaladığınızda ilk çıkan yazılardan birisi BtHaber'de yayınlanmış "Geleceğin Bilgi Kaşifleri Veri Analisti ve Veri Bilimcisi" başlıklı yazı. Yazının bir kısmında diyor ki, veri analisti veya veri bilimcisi olabilmek için bilgisayar mühendisliği veya matematik alanlarından eğitim almış olmak. Hah o da tuttu :) Lisans, Yüksek Lisans, Doktora ve de Post Doktora maşallah hepsi Bilgisayar Mühendisliği. Matematik de zaten bizim işimiz. Lise yıllarınndan tanıyanlar bilir hakimiyeti. Neyse biraz daha ciddiyet lütfen... 

Veri bilimcisi olunur mu doğulur mu felsefesine de girmeyelim. Olunuyorsa ona uygun bir hikaye de var, doğuluyorsa ona uygun bir hikayede. Daha üniversiteye başladığımız yıllarda veriyi sevmiş ve içinde veri olan her işi en iyi şekilde yapmaya çalışmıştık. Ha bir de analiz işleri. En sevdiğim iki ders Matematiksel İstatistik ve Veritabanı Sistemleri idi. Adam olacak çocuk, daha 95 yılında görmüş ileriyi, hani şu Windows 95'in çıktığı yıllar. Olay ta oralardan başlıyor. 

Hasbelkader öğretim elemanı olduktan sonra da bu sefer içinde veri geçen dersleri okutmaya başladık. Gebze Yüksek Teknoloji Enstitüsü, Okan Üniversitesi, Kocaeli Üniversitesi ve Cumhuriyet Üniversitesi hatta bir ara Deniz Harp Okulunda da o konularda ders vermiş olabilirim. 

Sene 1999 doktoraya başladığım yıl. Orjinal bir konu lazım. Ararken karşıma Data Mining konusu çıkmasın mı. İyiki de çıkmış. Kavramlar, teorik alt yapı ve yeterince kaynak olmaması. Ömrümü yedi demeyeceğim çünkü kıyamam veri madenciliğine. Şans mı desem yoksa bir işi çok isteyen kişiye Allah'ın yardımı desem bilemiyorum ama o yıllarda Statistica Data Miner isimli ürünün ülkemizde ilk tanıtımını/eğitimini yapmak bile bendenize nasip olmuştu. Hatta yıllar önce Statistica Data Miner ürün tanıtımı yaptığım bir makalem de vardır tozlu raflarda. 

Data Mining sonrasında Text Mining. Daha doğrusu text veritabanları üzerinde veri madenciliği. Bana daha zevkli geldi. Sanırım daha karmaşık ve daha zor olduğu için. Çünkü sadece veri madenciliği algoritmaları değil bir de doğal dil işlemenin karanlık dehlizleri vardı artık. 

Yıllarca veri analizinin başrolde olduğu derslerimizde şunun mücadelesini verdik. Dedik ki "Ekran Okur Yazarlığı" olur da "Veri Okur Yazarlığı" olmaz mı? Benden daha önce kullanan oldu mu bilemiyorum ama Veri Okur Yazarlığı bizim derslerimizin en önemli çıktısı olmaya devam ediyor. Zaten veri analizinin de veri madenciliğinin de veri biliminin de amacı veriye bakar bakmaz onda değerli bir maden var mı yok mu onu görmek değil mi? Sadece görmek değil varsa da uygun şekilde onu çıkarmak ve görselleştirmek. 

Gecenin bir vakti zihinden veri analizi yaparken OLAP küpleri dans ederek geçiyorsa önünüzden, veriyi görür görmez nasıl daha iyi segmentlere ayrılabileceğini görüyorsanız, veri analizi  sonucunu insanlığın hangi hizmetine sunacağınızı kestirebiliyorsanız eller size veri bilimcisi dese ne olur demese ne olur siz çoktan o ünvanı hak etmişsinizdir bile. 

Sevgili dostlar. Her zaman mühendislik ve bilim birbirine karıştırılır. Bilim bir miktar soyut mühendislik ise daha somuttur. Bilim yolun projesini çizer, mühendislik ise yolu yapar. Veri bilimi konusunda da veri bilimciler yol projeleri yapacak veri mühendisi ve teknik elemanlar bu yoldan yürüyeceklerdir. Vakit buldukça veri bilimi konusuyla ilgili tecrübelerimizi bu blog üzerinden sizlerle paylaşıyor olacağım. Bu yazıda sıkmadan veri bilimcisi nasıl olur veya nerelerden geçerek olunur gibi bir giriş yazısı kaleme almak istedim. 

Saygılarımla,     

6 Aralık 2016 Salı

TANAGRA İLE VERİ MADENCİLİĞİ


Big Data kavramı birçok algımızı değiştirdi ve değiştirmeye devam ediyor. Olumlu anlamda değiştirdiği ve geliştirdiği kavramlardan birisi de Veri Madenciliği. Özellikle Big Data analitiği ile Veri Madenciliği analitiği arasındaki benzerlikler her iki alanı birden güçlendirmiş ve önemli hale getirmiştir. O nedenle eğer Big Data konusunu anlamak istiyorsak Veri Madenciliğini daha iyi anlamaya ihtiyacımız vardır.

Veri Madenciliği kavram olarak büyük hacimli veri içerisinde gizli kalmış fakat değerli olabilecek bilgi ve kuralların otomatik veya yarı otomatik yöntemlerle çıkarılması anlamında kullanılmaktadır. Belki Big Data ile bu anlamda en önemli fark Büyük Veri ile değil de Büyük Hacimli Veri ile çalışma farkı. Büyük veri ile Büyük hacimli veri arasında; donanımsal, yazılımsal ve içerik olarak farklar olmakla birlikte veriyi analiz anlamında derin ortaklıklar bulunuyor. 

Peki veri madenciliğini soyut bir kavram olmaktan çıkarıp onu somut hale getirmek için ne yapacağız? Bu sorunun cevabı veri madenciliği araçlarını kullanmak.

Veri madenciliği araçları STATISTICA DATA MINER'dan, SPSS Clementine ve SAS Miner uygulamasına hatta Weka, Orange, Rapid Miner ve diğer uygulamalara kadar geniş bir spektruma sahiptir. Bu araçlardan kimi çok yüksek ücretlere satıldığı gibi kimisi de hiçbir ücret istemez. Kimisi karmaşık bir yapıya sahip iken kimisi çok basit bir arabirime sahiptir. Kimisi öğrenmek için uzmanlık isterken kimisini öğrenmek oldukça kolaydır. İşte bu kriterler göz önüne alındığında; ücretsiz, kolay bir arabirime sahip ve oldukça düşük boyutlu bir dosya olarak yüklenebilen bir seçenek olarak karşımıza TANAGRA isimli yazılım çıkıyor. 

Kısa sürede veri madenciliği projeleri yapabilmek için yapılacak ilk işlem;

http://eric.univ-lyon2.fr/~ricco/tanagra/en/tanagra.html adresinden uygulamayı indirmek olacak. 

Ardından; Veri Seçimi, Ön işlem, Veri Madenciliği Algoritması Kullanımı ve Sonuçlar şeklinde işlemler yapılacaktır. Sonraki yazılarda detaylı analizler paylaşılacaktır. 

Hidayet TAKCI

10 Mart 2016 Perşembe

YAPAY ZEKÂ



İnsanın en değerli özelliklerinden birisi sahip olduğu zekâsıdır. Bu sayede doğru ile yanlışı ayırt edebilir, olaylar arasında ilişkiler kurabilir, muhakeme yapabilir hatta mevcut bilgileri yardımıyla gelecek hakkında ve yaşanan gün hakkında yorumlar yapabilir, tahminlerde bulunabilir, olayları açıklamaya çalışır. Zekâ, bilgi depolama yeteneği ile değil depolanan bilgiler üzerine yorum çıkarma yeteneği ile ilgilidir. Güncel teknolojilerin de desteği ile insana has olan bu önemli yeteneğin bilgisayarlara kazandırılması fikri ortaya çıkmış ve bu fikir yapay zekâ şeklinde isimlendirilmiştir. 

Yapay zekâ, görme, örüntü tanıma, çıkarımlarda bulunma gibi bilgisayarlar için zor fakat insanlar için sıradan olan yetenekleri bilgisayarlara kazandırmaya çalışır. Popüler ve somut olması nedeniyle bizler yapay zekâyı en çok robotlarda görürüz. Arkasından iteklenen bir robotun düştükten sonra kendi çabasıyla yeniden ayağa kalkması yapay zekâda gelinen noktayı çok iyi göstermektedir. İlk olarak Alan Turing tarafından geliştirilen Turing makinesi ile testleri yapılan yapay zekâ bugün iyi bir noktada sayılabilir. Sayılabilir dememin nedeni mevcut robotlarda veya yapay zekâ sistemlerinde elde edilen zekânın ancak bir çocuğun zekâsı kadar işleri yapabilmesi nedeniyledir.


Konu neden önemlidir diye soracak olursak cevabı net ve belirgindir. Bazı sektörlerde insanların görev alması tehlikelidir ve maliyetlidir. Örneğin mayın temizleme görevinde askerin görev alması askerin şehit olması ile sonuçlanabilir. Hemen her yıl yaşadığımız maden çıkarma faaliyetlerinde insanların göçük altında can vermesi hepimizi derinden üzmektedir. Araçların test edilmesinde insan kullanımı tehlikelidir. Demir çelik sektöründe insanların çalıştırılması iş güvenliği anlamında problemlere gebedir. Dolayısıyla yapay zekâ sayesinde insan gibi davranan robotlar geliştirebilirsek en azından bazı alanlarda insanı başına gelebilecek felaketlerden koruyabiliriz. Sadece bu kadar mı değil tabi…

Her geçen gün daha da yaşlanan insanlığın bakım hizmetine olan ihtiyacı artmaktadır. Kişiler gençliklerinde çok iyi bilgisayar kullanabilseler dahi yaşlılıkta bu mümkün olamamaktadır. Bununla birlikte kişilerin ses yardımıyla yönetebildiği, kullanabildiği elektronik cihazlar yaşam kalitesini artırabilecektir. Bunun yolu da insanı anlayan bilgisayarlar geliştirebilmektedir. Dolayısıyla yapay zekânın bir kullanım alanı insan gibi davranan sistemler geliştirmek iken diğer kullanım alanı insanı anlayan sistemler geliştirebilmektir. Tam bu noktada karşımıza doğal dil işleme konusu çıkmaktadır. Doğal dil işleme çalışmalarındaki nihai hedef sesli komutlarla bilgisayarları/robotları emrimize amade edebilmektir. Her ne kadar duygudan yoksun bilgisayar sistemleri hayırlı evladın yerini tutmasa bile azalan hayırlı evlat oranı bu çözümleri gerekli kılmaktadır.

Yapay zeka teknolojisinin gelişmesi ben dahil olmak üzere birçok kişiyi haklı olarak ürküten bir durum. Bunun en önemli nedeni insan gibi düşünebilen sistemler meydana getirdiğinizde kontrolü eksik bırakılmış sistemler kontrolü ele geçirebilirler. Kimi zaman bilim kurgu filmlere konu olan durum bence çok da gerçeklikten uzak değildir. Bununla birlikte eğer bu konuda insanların geri dönülmez şekilde çabaları varsa biz de millet olarak bundan geri kalamayız. Eğer birileri kendi robot askerlerini üretecekse biz onlardan daha önce bu konuya yatırım yapmalıyız. Birileri savaşmak için robot yapıyorsa biz barışı tesis için bu işe girmeliyiz. Bu da ancak diğer teknolojilerde olduğu gibi millileşmek ile olabilir.

Hadi biraz da hayal kuralım. İnsan davranışına benzer robot dediğimize göre insan davranışlarını ele alarak gidelim. İnsan davranışına etki eden önemli konulardan birisi din ve ahlaktır. İnsan özellikleri gösterecek robotlara eğer biz onları kötülük yapmaktan sakındıracak özellikler veremezsek bir gün de döner ve bize zarar vermeye başlar. Eğer geliştireceğimiz robotlara kendini savunma yetenekleri vermezsek hayali bir robotlar savaşında robotlarımız savaşa başlamadan yenilecektir. Dolayısıyla şu an hayal olmakla birlikte eğer gelecekte robot teknolojisi daha ileri noktalara varacaksa bu olasılıklar baştan planlanmalıdır.

Konuyu sadece robotlara bağlamak diğer alanlara haksızlık olacaktır. Bu nedenle biraz da diğer yapay zekâ alanlarına bakalım. Örneğin veri madenciliği. Adı bile güzel ve manidardır. Daha az değerli olan sıradan veri içerisinden bir madenci sabrı ile çok daha değerli fakat az olanı bulmaya odaklanır. Herkes onu meşhur Pazar sepeti analizi ile hatırlar. Pazar sepeti analizi bilmeyenlere kısaca özetlemek gerekirse; önce geçmişte yapılan alışveriş sepetleri kayıt altına alınarak daha sonra ürünlerden birini alan müşteriye diğeri de tavsiye edilir. Geri plandaki motivasyon şudur: eğer insanlar her zaman A ile B ürünlerini birlikte alıyorsa A ürününü alana B ürünü reklamı yapılmalıdır. Sanal ortamda yapılan reklamların ve önerilerin birçoğu bu mantıkla yapılır. Çok fazla bilinmemekle birlikte aslında DNA testi olarak da bildiğimiz babalık testi yine bir veri madenciliği görevidir. Kanser erken teşhisi, kredi verme kararı, gelecekle ilgili tahminler kestirimler yapma hep bu alanla ilgilidir. Son dönemde oldukça başarılı olan hava tahminleri yine bu alanın iyi bir örneğidir. Çağın projesi olan GENOM projesi de bir yönüyle veri madenciliği projesidir.

Her bir yanımızı çepçevre sarmalamış olan yapay zekâya bir bakış yapmak istediğimiz bu yazıyı bitirirken herkese önemle tavsiye edeceğim bir şey var. Yapay zekâ alanında çalışmalar yapmak zorunda değilsiniz ama konu hakkında mutlaka araştırmalar yapınız derim.

Saygılarımla
Yrd. Doç. Dr. Hidayet Takcı
C.Ü. Bilgisayar Müh. Böl. Öğretim Üyesi
Sivas, 2016    

     

  

19 Nisan 2015 Pazar

BIG DATA İnsanlığa Hizmet Edebilecek mi?

Her dönemin moda tabirleri olur, bir zamanlar "veri ambarı", "veri madenciliği" böyleydi mesela. Modaya uyan olduğu kadar uyduğunu zannedenler de olurdu. Örneğin kimileri istatistik bile yapamazken veri madenciliği yaptığını iddia ederdi, modadan geri kalmamak için. İşte son dönem yaşadığımız big data çılgınlğı da öyle bir şey. Yanlış anlaşılması çılgınlık big data konusunda değil tabiri hatalı kulanım konusunda.
Big data nedir öyleyse. Kimilerinin büyük veri, hatta kimilerinin dev veri olarak adlandırdığı big data kayıt altına alınan her tür verinin bir araya gelmesiyle oluşmuş, bu nedenle de bilinen tekniklerle analiz edilemeyen, entegrasyon ve paylaşım anlamında çok sıkıntılar barındıran veriler, teknikler, yaklaşımlar topluluğudur.
Sosyal medyanın artan önemiyle benzer tarihlerde bu kavram ortaya çıktığı için bir çok insan doğrudan big data konusuyla sosyal medya verilerini örtüştürür. Hatta kimi zihinlerde basitçe big data sosyal medya datasıdır bile. Halbuki; big data konusu bugüne kadar data ile ilgili olarak çalıştığımız dosyalama kavramlarından ilişkisel veritabanlarında kullandığımız kavramlara kadar birçok şey hakkında en azından bilgi sahibi olmayı gerektirir. Big data kavramı diğerlerinden ayrık şekilde ortaya çıkmış değil onların baş edemediği veriyi baş edebilmek için veri analitiğine farklı bir bakış açısı getirmiştir.
Bu yazının asıl konusu transaction işleme ile batch işleme arasındaki farklar veya sosyal medya verilerinin müşteri ilişkileri yönetiminde nasıl kullanılacağı üzerine değil. Bu yazının asıl konusu big data'nın ne amaçla kullanılacağıdır. Malum varlıklarla ilgili her tür bilgiyi ustaca kayıt altına alan, sonra bunlar arasında ilişkiler kuran analitiğin bir amacı olmalı. İşte o amaç ne olacak bu yazının konusu odur.
Müşteri İlişkileri Yönetimi (CRM) çalışan kişiler yıllarca şunu söylediler. Biz eğer müşterilerimizi tanırsak üretimi onlara uygun şekilde yapar ve satışlarımızı artırırız. Müşteriye onu özel hissettirecek şeyler yaparsak satışlarımızı artırırız. En çok alışveriş yapmayı çocuklar ve bayanlar sevdiği için onları yakalarsak satışları artırırız gibi konular çalıştılar. Onlar çalıştıkça tüketim çılgınlığı dediğimiz şey arttı ve sonuçta kredi kartı borcunu ödeyemeyen yüz binler ortaya çıktı. Ve gördük ki müşteriyi tanımaya vaat eden bu çalışmalar aslında müşterilerin zaaflarını tanıyarak belki de onlara ihtiyaç olmayan şeyi ihtiyaç gibi hissettirdiler. Bir taraftan sıkı CRM çalışmaları diğer taraftan satın alma duygusunu bilinçaltına gönderen subliminal mesajlar içeren reklamlar bugün bazı aileleri perişan etmiş durumda. Big data ve beraberinde yapılacak çalışmalar bu durumu daha ileri noktaya taşıyacaktır. Masumane bir twit sonunda belki de parası olmayan genç bir ürün için kuyruğa girecektir. İşte big data ve uygun tekniklerin pek de insanlık hayrına olamayacağı bir örnek.
Hayırlı olabileceği yerler de var tabi ki. Örneğin medikal alandaki çalışmalar. Hala sırrı çözülemeyen kanserin sebepleri belki de bu teknikler sayesinde çözülebilecek. Hastalığın aşamaları, hasta tecrübelerinin de paylaşımı ile daha anlaşılabilir hale gelebilecektir. Ayrıca, ilaç üretimi gibi, hastaların networkü gibi hayırlı işlere de hizmet edebilecektir. 
Eğer teknik ve teknoloji insanlığa hizmet için varsa yeni gelişen teknolojileri de seçici şekilde kullanmamız esastır. Konuyla ilgili çalışanların ve çalışacakların daha hayırlı olana hizmet edecek şekilde yönlenmeleri herkesin hayrına olacaktır. Eğer Big Data'nın insanlığa hizmet etmesini bekliyorsak çalışmalarımızı da o yönde yapmalıyız. Nihayetinde o teknolojiye hangi ellerde şekil verildiği önemlidir.
Nisan 2015, Sivas 

3 Nisan 2015 Cuma

Metin Madenciliği (Text Mining) Nedir?

Kayıt sistemlerinin gelişimiyle birlikte kullanılabilir bilgilerin bir kısmı yapısal diğer bir kısmı ise yapısal olmayan formatta kayıt altına alınmıştır. Yapısal olanlar veritabanlarında yapısal olmayanlar ise metinler halinde dosyalarda tutulmuştur. 

Bugüne kadar yapılan çalışmalarda, biraz da pratikliğinden dolayı araştırmacılar yoğun olarak yapısal verilerin kullanımı ve analizi üzerine odaklanmıştır. Önce veritabanı teknolojileri ardından veri madenciliği teknik ve algoritmaları hep yapısal veri üzerinde durmuştur. Bununla birlikte kullanılabilir veriler içerisinde yapısal olmayan verilerin oranı yapısal olan verilerin oranından bir hayli fazladır. Peki neden araştırmacılar bugüne kadar daha az verinin yer aldığı yapısal veriler üzerinde durmuştur? Bunun en basit cevabı SQL gibi gelişmiş teknolojilerin yapısal veriyle uyumlu olmasıdır. Peki yapısal olmayan veriden bilgi çıkarımı nasıl yapılacak? İşte tam bu noktada karşımıza metin madenciliği çıkar. 

Metin madenciliği basitçe doğal dil işleme ve veri madenciliğinin bir kesişimi olarak kabul edilir. Bir yapıya sahip olmayan veri çeşitli doğal dil işleme yöntemleriyle önce yapısal hale getirilir, ardından yapısal hale gelmiş veri üzerinde veri madenciliği yapılır. Yapısal olmayan verinin yapısal hale dönüşümü kimi zaman Metinlerin Sayısallaştırılması olarak da isimlendirilir. Dolayısıyla bir metin üzerinde madencilik yapabilmenin ilk adımı doğal dil işleme yapmaktır. 

Doğal Dil İşleme yapay zekanın önemli çalışma alanlarından birisidir. İnsan bilgisayar etkileşimini gerçekleme noktasında anahtar role sahiptir. Tek başına da bir çalışma alanı olan doğal dil işleme metin madenciliği çalışmasının da önemli bir parçasını oluşturur. Bir metin madenciliği çalışmasında doğal dil işleme alanından; metin temizleme, tokenizasyon, eklerin metinden ayrılması, köke ulaşım, kök türünün bulunması, eş anlamlı sözcükler, muğlaklık giderme, POS etiketleme ve buna benzer teknikler kullanılır. 

Belki de doğal dil işlemenin dahil edilmesinden dolayı metin madenciliği çalışmaları zorludur. Kimi zaman doğal dil işleme işlemlerini azaltmak amaçlanır ve öylesi zamanlarda doğal dil işleme teknikleri yerine farklı özellik setleri kullanılır. Bunlardan birisi harfler, diğeri ise n-gram adını verdiğimiz harf veya kelime dizileridir. Özellikle harf seviyeli n-gramlarla çalışma esnasında doğal dil işlemede kullanılan adımlara olan ihtiyaç azalmaktadır. 

Metin madenciliğinin özellikle iki alana katkıları olmuştur; bunlar bilgi alma ve bilgi çıkarımıdır. Klasik olarak katalog tarama veya arama motorlarında tarama yapmak şeklinde meydana gelen bilgi arama metin madenciliği sayesinde çok daha etkili bir hal almıştır. Klasik yöntemde mutlaka sorgu terimi ile sonuç dokümanının eşleşmesi beklenirken metin madenciliği yardımıyla bilgi almada sorgu terimi içinde geçmeyen dokümanların bile bulunması imkanı vardır. Aynı şekilde bilgi çıkarımı anlamında da yapısal dokümanlardan etiketler yardımıyla veriler almak yerine hiç bir yapıya sahip olmayan metinlerin özetlenmesi, çeviri sistemleri, soru cevaplama gibi işlevleri yerine getirmek mümkündür.    

Metin madenciliği öncesinde bir dokümandan bilgi almak için aradığımız şeyin ne olduğunu bilme ihtiyacı varken metin madenciliği sayesinde arama yaptığımız alanda bilgi sahibi olmamıza gerek yoktur. Artık bizim için özetlenmiş metinler, bizim yerimize spam olarak seçilmiş mektuplar, bize tavsiye edilen önemli bildirimler v.s. artık mümkün olacaktır. Metin madenciliği yardımıyla artık işveren ile iş arayan daha makul şekilde eşleşecektir. Artık dokümanlar arasında daha kolay ilişki kurulabilecektir. Artık sosyal medya verilerinden stratejik kararlar verilebilecektir. Artık medya takibi daha rahat yapılabilecektir v.s. 

O zaman ne duruyoruz, haydi metin madenciliği yapmaya...

ÖNEMLİ BİR VERİ MADENCİLİĞİ TEKNİĞİ: SINIFLANDIRMA

SINIFLANDIRMA En sık kullanılan ve belki de tarihi en eski veri madenciliği tekniklerinden birisidir sınıflandırma (classification)....