Sayfalar

Cuma, Aralık 04, 2009

Text Generator



ısırmış ve, “Al bak harika!” diyerek uzatmış, küçük oğlana gelmiş. Elindeki ışığı kızın ana-babasına yollamış. Onları karşısında görünce hemen ormana varmışlar. Ormanda bir ülkeye gitmiş. Tavukla horozun parlak ışıklar sızan son gemiden ona acımışlar ve sert geçmiş. Çirkin Ördek, ama prense dönüşmüş. "Korkma, " En altta eşek, köpek eşeğe. " diye düşünmüş Güzel. “Seninle evlenmek zorunda bırakmışlar. Küçük oğlan hemen bir daha fazla bir kucak dolusu güzel bir çocukmuş. Sabah gözlerini açmış sanki. Her yer istemiş. Ak sakallı adam kıza dönerek "burada her rastgeldiği insana, “Bu taraftan gelin,” demiş. Dışarı çıkmış; arpa getirerek tavukla horozun önüne serpmiş. İneğe de öğle yemeğimi büyük ve bir süre sonra her şeyden bol bol var! Haydi merdivenden yukarı çıkmış. Güzel tavukla horozun önüne serpmiş. İneğe de soğukmuş. Şimşekler çakıyor, rüzgâr yerden çıkıp gitmişti... Herhalde dosdoğru yoluna oğul, ben Çirkin Ördek’in tam mı yitireyim?” demiş. "Bir kese altının çalıntı olduğuna karar vermiş, üçünü de dillerde yankılanmış. 
 İlk C# örneğimizi yayınlıyoruz. Bir ilk de örneğin alanı -ucundan kıyıcığından bir örnek sayılır belki - Doğal Dil İşleme ( Natural Language Processing).

Yapılan işlem pek de karmaşık değil.Kendisine verdiğimiz yazıları kelime çiftlerine ayırıp peş peşe gelme sayılarını tutuyor. ve  Yazı üreteceği zaman bir kelimeden diğerine peş peşe gelme sıklığını  kullanarak seçiyor.sonuçtada yukardaki gibi yazılar çıkıyor.Başlangıç verileri için İnternetten bulduğum masalları ekledim.


İndirmek için : TextGen

Çarşamba, Aralık 02, 2009

Bizden Haberler

Necefli Maşrapa ile ara verdik Bu da geçer Ya Hu ile döndük şükür...

Ekonomik krizin etkisiyle azalan işler, azalan çalışma saatleriyle devam ediyor. Bütün bunların üstüne ücretsiz izinler ve olan işinide kaybetme psikolojisindeki patronlarla muhatap olmak gibi sıkıntılar içindeyiz.

Bu artan sıkıntılarımızdan ve boş vaktimizden haberdar bazı dostların   " Bırak bu entel dantel işleride .Net öğren piyasanın %70'i bunu istiyor artık. olurda işsiz kalırsan işine yarar" mealindeki nasihatlarına uyup C# öğrenmeye başladım.

C  / C++ bilen biri olarak pekde zorlanmadım. Pek çok özelliği aynı. Programlama ortamı da bana (Toprağı bol olsun ! ) bizim CBuilderı hatırlattı.  Yabancılık çekmedim kısacası. Tuhaf buluğum taraflarıda oldu tabii
  • printf yerine paskalvari writeline kullanmışlar en kötüsüde güzelim format sitilini değiştirmişler
  • Referans ve Değer kullanımını aynı şekilde yapmışlar.
  • Fonksiyon pointerlar yerine Delegate denen bir şey varki evlere şenlik
  • Dilin özelliklerinin sürekli değişmeside hoşuma gitmedi Başlangıçta beğenilen sistemlerin özelliklerinin alınması iyi bir şey ama bu nun süerkli hale gelmesi hiç hoş değil bence. Ben şahsen Dilin kurallarının biraz durağan olması taraftarıyım. zırt pırt değişmesi hoş değil.
  • FLTK ya alışmış biri olara bir kamyon DLL ile bağlı program yazmak tuhaf geliyor.
işin güzel olan tarafı Pek çok Kütüphanenin eşleniği yada .Net wrapper'ı var. Alıştığımız kütüpanelerden feragat etmemiş olacağız yani. Üstelik Microsoftun şimdilik göz yumduğu Mono sayesinde Cross-Platform uygulama geliştirmeniz mümkün. Sözün kısası  C / C ++ dan vazgeçmedik ama Pekiştirmek için bir süre C# ile yazılmış örnek programlar görürseniz şaşırmayın.

Gelelim ikinci haberimize.  FannTool'un kullanım kılavuzunun İngilizce versiyonu çıktı. Sağ olsun  Dr. Michael Schaale yardımcı oldu. indirmek için FannTool Users Guide laf aramızda Türkçesinden de daha derli toplu oldu.FannTool  için yardım istediğimizide bu vesileyle duyurmuş olalım. Kimbilir belki sesimizi Türkiyeden de duyan olur...

Cumartesi, Kasım 28, 2009

Bu da geçer Ya Hu



Hem dünyaya tapınırcasına bağlanan böylece yüreği taşlaşan, hem de bin bir sıkıntı içinde kıvranan, dertlenen insana ne güzel bir ders verir. “Bu da geçer ya hu!.

Günümüz insanı; yalnızlığı, huzursuzluğu derinden yaşıyor. Hep maddi çıkar peşinde koşan, adeta insanlığı, insani değerlerini unutan insan, kendi ektiğini acı bir şekilde biçiyor.
“Hep ben, hep bana” düşüncesini kendisine rehber edinen, böylece bireyselliği tapınacak bir değere çıkaran tavır, toplum halinde yaşamayı, birbirini anlamayı, yardımlaşmayı itiyor ve arkasından yalnız, yapayalnız bir dünyayı getiriyor.

Evet, “bu da geçer.” Dert de geçer, sıkıntılar da geçer. Sabretmek, her teşebbüste bulunarak nihayetinde kadere teslim olmak, “bu da geçer” demek. Zenginlik de biter, Karun gibi yaşamak, Firavunca zulmetmek de geçer. Ne güzel bir ders, derin bir öğüt, eskimeyen, her an yeni bir “ikaz” ve “uyarı” levhası: “Bu da geçer ya hu!..”

Salı, Ekim 27, 2009

Necefli Maşrapa Göstermek


Yaşı büyük olanlar zaten bilir bilmeyenler içinde anlatalım. Eskiden yegane televizyon kanalı TRT idi. Bütün herkesin seyrettiği bu yegane kanal sık sık teknik arızalar sebebiyle kesintiye uğrardı. İşte TRT de yayının kesildiği anlarda yukarda arz-ı endam eden necefli maşrapa sahneye çıkar, arıza giderilinceye kadar ekranda salınmaya! devam ederdi...

Bazı iş sıkıntıları sebebiyle biz de necefli maşrapa gösteriyoruz ve bir süreliğine yazı yayınlamayacağız. Eski yazılarımıza ve Necefli maşrapaya bakmaya devam edebilir, Gerekiyorsa profil sayfasındaki adresden e-posta ile bize ulaşmayı deneyebilirsiniz.

Şimdi tekrar ne yapsam dedirtme bana yarabbi
taşınacak suyu göster,kırılacak odunu
kaldı bu silinmez yaşamak suçu üzerimde
bileyim hangi suyun sakasıyım ya rabbelalemin
tütmesi gereken ocak nerde?
İsmet Özel (Münacaattan )

Cumartesi, Ekim 24, 2009

Bulanık Mantıkla Otamatik Pilot !

Evet itiraf ediyorum Nasrettin Hocadan Bulanık Mantık Dersi yazımız bir giriş yazısı değildi. İyi kötü bulanık mantık konusunda bir şeyler okumuş ve fakat aklında bütün bunları toparlayamayanlar için yazılmıştır. Ama Biraz ön okumayla o yazıdan şek çok şey öğrenebilirsiniz. Yinede biraz soyut kaçıyordu.

İşte bu yazımızda biz basit ve somut bir bulanık mantık uygulaması örneği hazırladık.

Ali sevilmez mi hey dost delimisin sen

- Hocam bu gün çok canım sıkkın. acaba sıkıntıyı giderecek birşeyeler okusanızda dinlesek
Kütüphaneden bir kitap seçti ve okumaya başladı
Bil ki göklerin, yeryüzünün hazîneleri elinde olan, sana duâ etmek için izin vermiş, icâbet edeceğini de vaad etmiştir.
Dilemeni emretmiştir, dilediğini vermek için;
Acımasını istemeni emretmiştir, sana acımak için.
Seninle arasına bir perde çekmemiştir; seni, onun katında şefâat edecek birisine muhtaç etmemiştir.

Kötü bir iş işlersen tövbe etmekten men etmemiştir seni;
Azâbını hemencecik göndererek ukubete salmamıştır seni;
Tövbeyle Ona yüz tutarsan reddetmez;
Azâba uğramaya lâyık olduğun suç yüzünden de seni rüsva eylemez.
Suç yüzünden tövbeni kabûl etmezlikte bulunmaz;
Cürmünü yüzüne vurmaz;
Rahmetinden seni meyûs etmez.
Hattâ suçundan geçmeni de bir sevap sayar;
Yaptığın kötülüğe karşı bir günah yazar;
İşlediğin iyiliğe karşı on sevap verir.
Sana tövbe kapısını açmış, özrünü kabûl etmeyi vaad etmiştir.
Onu çağırdın mı sesini duyar; gizli yalvardın mı gönlündekini bilir.
İhtiyacını Ona söylersin;
G
önlündekini Ona açarsın;
Dertlerini Ona şikâyet edersin, sıkıntılarının giderilmesini Ondan istersin;
İşlerinde Ondan yardım dilersin;
Ömür çokluğu, beden sıhhati, rızık bolluğu gibi Ondan başkasının
veremeyeceği şeyleri Ondan beklersin.
Sonra hazînelerinin anahtarlarını da, Ondan dilemeye izin vererek senin ellerine teslîm etmiştir;
Ne vakit dilersen, duâ ile nimetlerinin kapılarını açarsın, çorak dilek yerlerini sulamak için rahmetini istersin.
İcâbeti gecikirse de ümidini kesmemelisin; çünkü vergi ve ihsan, niyetle yeksandır.
Nice kere, isteyenin ecri çoğalsın, umana daha da fazla ihsan edilsin diye icâbet gecikir.
Nice kere bir şey istersin, verilmez; fakat hemencecik, yahut bir zaman sonra ondan daha hayırlısı verilir, ondan daha hayırlısı verilmek için o verilmez, geciktirilir.
Nice şeyler vardır ki sen istersin onu; fakat verilse o yüzden dinin helâk olur.
Şu halde güzelliği sana kalacak, vebâli senden gidecek şey
istemelisin. Mal sana kalmaz; sen de ebedi olarak mala sâhip olamazsın.

...

- Okuduklarınız Nerdendi hocam
- Bu Hz Ali'nin Hz Hasana yazdığı vasiyetnameden bir parça
Nehc'ül Belaga' da geçiyor
- Çok sevdim
- Seversin tabii hem zaten "Ali sevilmez mi hey dost delimisin sen"

Çarşamba, Ekim 21, 2009

Ordan Burdan

1) Volkan Salma OpenCv de SVM kullanımı üzerine bir yazı hazırladı. Oraya kadar gitmişken  Zeki Optimizasyon Teknikleri Yazı dizisine de bakmayı unutmayın ; İlk Yazı Hill Climbing üzerine. Devamınıda tez zamanda bekliyoruz.

2) İsmail Arı'nın günlüğünde tasarım ve ufak bir adres değişikliği oldu. "gunluk.ismailari.com" sitesi ismailari.com kök dizinine taşındı. Duyuruyor ve hayırlı olsun diyoruz.

3) www.GlobalEkonomi.com dan FVolkanY den daha önce bahsetmiştik , Yapay Zekalı tahmin sistemleri üzerine çalışıyordu.  Yakında ürün (Forex ve Borsa Sistemleri ) satışına başlıyacak gibi  hemde  sonuçlar oldukça iddialı ne diyelim hayırlı olsun.

4) Bora Kardeşimizden yine yeni bir icad Casus Klavye  Kimin işine yarar bilmem ama Boranın performansını ve ilerde neler yapabileceğini gösteriyor...

Cumartesi, Ekim 17, 2009

Sitemli OpenCv 2.0 Kurulumu - Install -

Aslında böyle bir yazı yazmayı düşünmüyordum ama gelen sorular yüzünden yazmak zorunda kaldım. Önce konumuzu anlatalım

OpenCv2.0 windows versiyonunu C ye kurun .
CMake' i kurun ve çalıştırın

Yukardaki ekran gelir OpenCv 2.0 ı kurduğunuz dizini seçin
kurulumun yapılacağı dizini yazıyoruz Visual için "vs2008" seçtik mesela

Cumartesi, Ekim 10, 2009

OpenCv 2.0 İzlenimleri

Bir Makina mühendisi bir elektirik mühendisi ve bir bilgisayar mühendisi arabayla yolculuk yaparlarken araba arızalanır ve durur.
makina mühendisi arabadan iner ve arabanın mekanik aksamına bakar ama araba çalışmaz
elektirik mühendisi arabadan iner ve arabanın elektirik aksamına bakar ama araba yine çalışmaz.
Son olarak Bilgisayar mühendisi bir öneride bulunur
"Arabadan inip yeniden binelim belki çalışır"

Uzun uzadıya bir inceleme yapmaya ne ehilim ne de zamanım var. Ama artık OpenCv 2.0 yayınlandığına göre uygulamalarımızda mecbur kullanmak zorundayız, yoksa sonradan güncel versiyona geçişte epey bir problem olur.

OpenCv 2.0 windows versiyonu zaten kurulum programıyla geliyordu, kolayca kuruverdim.
Header ve Library dosya ayarlarını yapıp programı tekrar derledim. Hatasız derlendi, bende sevindim tabii. Fakat programı çalıştırınca hevesim kursağımda kaldı. Program çalıştı fakat bazı işlemlerde program çakılıyordu. Acaba fonksiyon parametrelerinde bir değişiklikmi olmuş diye ufak bir incelem yaptım görünürde bir şey bulamadım. İşin ilginç yanı cvPreprocessorun ürettiği kodları komut satırı uygulaması olarak çalıştırdığımda problem yoktu. Tek istisna Laplace fonksiyonu. sizinde aklınızda olsun
void cvLaplace(constCvArr *src,CvArr *dst, int aperture size=3);

aperture size 'a değer olarak -1 kullandığınızda program çalışma zamanı hata veriyor. Neyse biz konumuza dönelim windowsta ki hezimetin ardından linux'a yöneldim.

Benim Bilgisayarda kullandığım Linux dağıtımı OpenSuse 10.3 biraz eskidi ama işimiz görüyor. Linux versiyounu dediğimiz zaten kaynak kod. Uygun bir yere açıp
./configure
make
make install
diyerek derledim ve cvPreProcessor'u denedim gayet güzel çalışıyordu yukarda bahsettiğim Laplace istisnası hariç.

Linux versiyonun çalışması üzerine tekrar windows'a döndüm ve dağıtlan kütüphane programında bozukluk yada uyumsuzluk olabileceğinden kuşkulandım. ve
CMake
Mingw
MSYS
programlarını kaldırıp en son versiyonlarını tekrar kurdum. Sonra Cmake OpenCv 2.0 için Codeblocks projesi oluşturdum ve C::B ile build ettim. Nihayet Mutlu son. Artık programlarım doğru bir şekilde çalışıyor.
az kalsın unutuyordum "İnip tekrar binmek bazen işe yarıyor" :)

Perşembe, Ekim 01, 2009

OpenCv 2.0 yayınlandı

OpenCv 2.0 beta aşamasını hızlıca geçti ve yayınlandı
Indirmek için ; Windows için kurulum dosyası
Linux için kaynak kodu

Cumartesi, Eylül 26, 2009

Plaka Okuma

Plaka okuma günümüz Türkiyesinde belkide en yaygın bilgisayarlı görü -Computer Vision- uygulamasıdır. Ufak bir araştırmayla bu konuda pek çok tez verildiğini (1 2 ) ve bazı türk firmalarınında ürün geliştirdiklerini görebilirsiniz. Uygulama alanının genişliği düşünüldüğünde çalışmaların devam edeceğinide varsayabiliriz.




Resimden Plaka bilgisini alma işini nasıl yapabiliriz ? Kabaca anlatmaya çalışalım.

Salı, Eylül 22, 2009

Nasrettin Hocadan Bulanık Mantık dersi

Zeka Hakkında Kıssalı Yazılar - 5 *

Hoca Nasrettinin kadılık yaptığı zamanlarda geçiyor olayımız.
Adamın birisi komşusundan şikayetçi olmuş. Hoca adamın şikayetini dinlemiş ve haklısın deyip adamı yollamış.
Şikayet edilen adamın getirtilmesini emretmiş. Adamı yaka paça tutup getirmişler. Adam şikayet konusunu doğrulamış ve fakat değip mazeretlerini beyan etmiş hoca adamı dinledikten sonra adama haklısın diyerek salıvermiş.
Bir kenardan olan biteni seyretmiş olan hanımı hocaya yanaşmış ve hayret içinde sormuş.
"Efendi sen hem davacıya hem davalıya haklısın dedin bu nasıl iş ?"
hoca gülümsemiş ve "Ne diyeyim hanım sen de haklısın " demiş.
Bakmayın sitenin kıymetini bilen yok. ama Hikayenin bundan sonrasını sadece bizden dinleyebilirsiniz.

ve hoca anlatmaya devam etmiş.

Suçun da dereceleri vardır bir mesela cinayet bir suçtur, komşusunu gece gürütü yaparak rahatsız etmekte suçtur. ama ikisini bir tutmak mümkünmü, değil elbet. Kısaca büyük suçlar vardır küçük suçlar vardır. Keza suçun oluş şeklininde önemi vardır. mesela kasten adam öldürmekle kazaen adam öldürmek bir değidir. yani Suçun bir hafifletici sebeblerine bakmak lazım.

Hüküm verme işlemi için ilk etapda suçun ve hafifletici sebeplerin mertebelerini bulmamız gerekiyor ki buna Bulanıklaştırma deniyor

Bir kağıda Suç ve Hafifletici sebep grafiklerini çizip anlatmaya devam etmiş


Adamın suçu ( A kadar küçük suç ) ve (B kadar büyük suç ) kapsamına giriyor.


Hafifletici sebep ise ( C kadar küçük ) ve ( D kadar büyüktür )

işte bunları öğrendikten sonra karar vermek için kurallarımız vardır.

1) Eğer (Suç Büyük ) ve (Hafifletici Sebep Küçük ) ise Büyük Ceza
2) Eğer [(Suç Küçük ) ve (Hafifletici Sebep Küçük ) ] veya
[(Suç Büyük ) ve (Hafifletici Sebep Büyük ) ] ise Orta Ceza
3) Eğer (Suç Küçük ) ve (Hafifletici Sebep Büyük ) ise Küçük Ceza

Bu kuralları uygulayınca adamın ceza mertebeleri çıkıyor ki buna Kuralların İşleme Safhası denir

1. Kuraldan (B ve C ) -> M mertebesinde Büyük Ceza
2. Kuraldan [(A ve C ) veya (B ve D )] -> L mertebesinde Orta Ceza
3. Kuraldan (A ve D ) -> K mertebesinde Az Ceza

hak ettiği anlaşılıyor deyip ceza grafiğinide çizmiş
Fakat bu grafikden adama ne kadar ceza verilmesi gerektiğinin çıkarılması için bulanıklaştırmayı kaldırmamız gerekiyor. Bu işleme Durulaştırma denir. ve En büyüklük, ağırlık merkezi, ortalama en büyük.... gibi pek çok metodu vardır. Biz de basit bir tanesini kullanıyoruz.
Deyip bir grafik daha çizdi. ve üzerine Adamın hak ettiği cezayı işaretledi.
Hayretler içinde bakan hanımına dönen hoca laflarını şöyle bitirmiş
Gördüğün gibi hanım bende haklıyım...

* Zeka Hakkında Kıssalı Yazılar Serisi - 1 2 3 4
** Düzeltmeler için Volkana Teşekkürler

Pazartesi, Eylül 21, 2009

Kriz üzerin bir bayram sohbeti

BK - Hocam bayramınız mübarek olsun nasılsınız ?
MCH - Ooo BK kardeş Bayramda olmasa uğradığın yok. Allaha şükür iyiyiz sen nasılsın ?
- Bende iyiyim Allah şükür. Ama haklısınız hocam uğruyamıyoruz.
- Sizi yakalamışken bir şey sorabilirmiyim hocam
- tabbi buyrun
- Hocam ne olacak bu ekonomik kriz ?
( gülümsiyerek ) - sanırım işleriniz kesat
- Evet hocam ufaktan ücretsiz izinlere başlandı.
- Kriz ne zaman yokdu ki
Dedem açlıktan yiyecek bir şey olsun diye mısır koçanını öğtüp ekmek! yapıp yemiş
Biz Yağ Şeker Tüp kuyruklarında ömür tükettik. Bu sadece bizim ülkemizdeki durum bir de dünyadaki açlık varki. içler acısı

- Haklısınızda Şimdide pek çok insan işsiz kalıyor hocam.

- Ben bir kıssa anlatayım da dinle
Vakti zamanında geçimini süt satarak sağlayan bir adamcağız varmış. İki ineğinden sağdığı sütü satmaya çalışır fakat tamamını satamadığından kıt kanaat geçinirmiş. Bir gün geçim sıkıntısını şikayet etmek için büyük bildiği birisine danışmış.

Efendim benim iki ineğim var onların sütünü satarak geçiniyorum ama bir türlü sütün hepsini satıpda rahat geçinecek parayı kazanamıyorum ne yapabilirim
demiş
"Sütüne su kat evladım" demiş
Adamın kafası karışmış aklı yatmamış ama bir deneyelim bakalım demiş.

Ertesi gün sütün içine bir miktar su katıp satmaya gitmiş. Gün sonunda bir de bakmış ki sütün tamamı satılmış.
Akıl danıştığı kişinin yanına varmış
Efendim Su katılmış süt tamamiyle satıldı. ama ben biliyorum ki bu doğru bir şey değil ne dir bu işin hikmeti.

Evladım Halis sütü satarken kazandığın helal rızkındır. Su katınca daha fazla kazana bilirsin ama kazancına haram akrıştırmış olursun. Bize düşen helal yoldan kazanç için elimizden geleni yaptıktan sonra gelene razı olmaktır. işin umumi yönü de şöyle olmak gerektir ki "senin halis helal sütünü alabilecek helal para çok azalmış sen o yüzden satmakta zorlanıyorsun."

- yani hocam
- yanisi Umumi eksikliklerden gelen bir sıkıntı var. Umumen değişmedikçe sıkıntısını çekmeye devam ederiz. Sen kendin kendi adına elinden geleni yap. Sonuçta gelene razı ol.
- hocam zenginlerimizin hiç mi suçu yok. "kriz zamanında en çok sızlanan onlar oldu. vay araba satamıyoruz vay beyaz eşya satamıyoruz. stoklar yığıldı kaldı" dediler ama gördük ki bir sıkıntıları yokmuş. Vergiler inip satışlar artınca ellerinde stok olmadığını gördük. Stoklar bitti yeni üretim yapıyoruz bu da yeni fiyattan değip zam yaptılar. Stoklarının olmaması gösterirki fabrikalarını çoktan tatile çıkarmış işçilerini ücretsiz izne yollamışlar.
- Pek tabii ki onların veballeri daha büyük. Vebalden kurtulmak istiyeninde Hz Osmanın hatırlatması lazım

"Bir defasında Medîne’de kıtlık vardı. O sırada Hz. Osman’ın Şam’dan yüz deve yükü buğday kervanı gelmişti. Eshâb-ı kirâm satın almak için yanına gittiler. Hz. Osman dedi ki:

- Sizden daha iyi alıcım var ve sizden daha fazla veren var, ona vereceğim.

Eshâb-ı kirâm durumu Hz. Ebû Bekir’e bildirip dediler ki:

- Kıtlık zamanında böyle yapması uygun olur mu?

Hz. Ebû Bekir buyurdu ki:

- Hz. Osman Resûlullahın dâmâdı olmakla şeref kazanmıştır ve Cennette onun arkadaşıdır. Siz onun sözünü yanlış anladınız, beraber gidelim.

Hz. Ebû Bekir, Hz. Osman’ın yanına gidip durumu anlatarak buyurdu ki:

- Yâ Osman, Eshâb-ı kirâm senin bir sözüne üzülmüşler.

Hz. Osman şu cevabı verdi:

- Evet ey Resûlullahın halîfesi, onlardan iyi alıcı olan, bire yediyüz veriyor. Onlar bire yedi veriyor. Biz bu buğdayı bire yediyüz verip alana verdik.

Bundan sonra yüz deve yükü buğdayı Medîne’de bulunan fakîrlere, Eshâb-ı kirâma bedava dağıttı. Yüz deveyi de kesip fakîrlere yedirdi."

el hasıl ;
"Biz mutlaka sizi biraz korku ile, biraz açlık ile, yahut mala, cana veya ürünlere gelecek noksanlıkla deneriz. Sen sabredenleri müjdele!" ( Bakara -155 )


buyrulmuştur Bu mübârek Ramazan bayramı hürmetine, yoksullarımıza sabır, zenginlerimize de anlayış lütfeyle. Bizleri de İslâm’ı eksiksiz yaşama şerefi ile şereflendir, yâ Rabbi!
- Âmin,

Cuma, Eylül 11, 2009

OpenCv 2.0 Beta yayınlandı

Evet Biraz gecikmelide olsa OpenCv 2.0 Beta yayınlandı
Kurarken OpenCv 1.2 olarak kuruyor ama ;)
Daha önce den bahsettiğimiz dökümantasyon düzenlemesi meyvesini vermiş güzel bir pdf olarak geliyor. Ne gibi yenilikler var diyorsanız


- General:
* The brand-new C++ interface for most of OpenCV functionality
(cxcore, cv, highgui) has been introduced.

* The primary build system is CMake, http://www.cmake.org (2.6.x is the preferable version).

- CXCORE, CV, CVAUX:

* CXCORE now uses Lapack (CLapack 3.1.1.1 in OpenCV 2.0) in its various linear algebra functions
(such as solve, invert, SVD, determinant, eigen etc.) and the corresponding old-style functions
(cvSolve, cvInvert etc.)

* Lots of new feature and object detectors and descriptors have been added
(there is no documentation on them yet), see cv.hpp and cvaux.hpp:

+ FAST - the fast corner detector, submitted by Edward Rosten

+ MSER - maximally stable extremal regions, submitted by Liu Liu

+ LDetector - fast circle-based feature detector by V. Lepetit (a.k.a. YAPE)

+ Fern-based point classifier and the planar object detector -
based on the works by M. Ozuysal and V. Lepetit

+ One-way descriptor - a powerful PCA-based feature descriptor,
(S. Hinterstoisser, O. Kutter, N. Navab, P. Fua, and V. Lepetit,
"Real-Time Learning of Accurate Patch Rectification").
Contributed by Victor Eruhimov

+ Spin Images 3D feature descriptor - based on the A. Johnson PhD thesis;
implemented by Anatoly Baksheev

+ Self-similarity features - contributed by Rainer Leinhart

+ HOG people and object detector - the reimplementation of Navneet Dalal framework
(http://pascal.inrialpes.fr/soft/olt/). Currently, only the detection part is ported,
but it is fully compatible with the original training code.
See cvaux.hpp and opencv/samples/c/peopledetect.cpp.

+ Extended variant of the Haar feature-based object detector - implemented by Maria Dimashova.
It now supports Haar features and LBPs (local binary patterns);
other features can be more or less easily added

+ Adaptive skin detector and the fuzzy meanshift tracker - contributed by Farhad Dadgostar,
see cvaux.hpp and opencv/samples/c/adaptiveskindetector.cpp

* The new traincascade application complementing the new-style HAAR+LBP object detector has been added.
See opencv/apps/traincascade.

* The powerful library for approximate nearest neighbor search FLANN by Marius Muja
is now shipped with OpenCV, and the OpenCV-style interface to the library
is included into cxcore. See cxcore.hpp and opencv/samples/c/find_obj.cpp

* The bundle adjustment engine has been contributed by PhaseSpace; see cvaux.hpp

* Added dense optical flow estimation function (based on the paper
"Two-Frame Motion Estimation Based on Polynomial Expansion" by G. Farnerback).
See cv::calcOpticalFlowFarneback and the C++ documentation

* Image warping operations (resize, remap, warpAffine, warpPerspective)
now all support bicubic and Lanczos interpolation.

* Most of the new linear and non-linear filtering operations (filter2D, sepFilter2D, erode, dilate ...)
support arbitrary border modes and can use the valid image pixels outside of the ROI
(i.e. the ROIs are not "isolated" anymore), see the C++ documentation.

* The data can now be saved to and loaded from GZIP-compressed XML/YML files, e.g.:
cvSave("a.xml.gz", my_huge_matrix);

- MLL:
* Added the Extremely Random Trees that train super-fast,
comparing to Boosting or Random Trees (by Maria Dimashova).

* The decision tree engine and based on it classes
(Decision Tree itself, Boost, Random Trees)
have been reworked and now:
+ they consume much less memory (up to 200% savings)
+ the training can be run in multiple threads (when OpenCV is built with OpenMP support)
+ the boosting classification on numerical variables is especially
fast because of the specialized low-overhead branch.

* mltest has been added. While far from being complete,
it contains correctness tests for some of the MLL classes.

- HighGUI:
* [Linux] The support for stereo cameras (currently Videre only) has been added.
There is now uniform interface for capturing video from two-, three- ... n-head cameras.

* Images can now be compressed to or decompressed from buffers in the memory,
see the C++ HighGUI reference manual

- Samples, misc.:
* Better eye detector has been contributed by Shiqi Yu,
see opencv/data/haarcascades/*[lefteye|righteye]*.xml
* sample LBP cascade for the frontal face detection
has been created by Maria Dimashova,
see opencv/data/lbpcascades/lbpcascade_frontalface.xml
* Several high-quality body parts and facial feature detectors
have been contributed by Modesto Castrillon-Santana,
see opencv/data/haarcascades/haarcascade_mcs*.xml

>>> Optimization:
* Many of the basic functions and the image processing operations
(like arithmetic operations, geometric image transformations, filtering etc.)
have got SSE2 optimization, so they are several times faster.

artık CvPreProcessor'u da kontrol edip bu versiyona geçmem gerekecek.

Pazar, Eylül 06, 2009

Yapay Zeka Tıbbın Hizmetinde 3

FannTool'un kılavuzunu hazırlamak için kullandığım diğer bir veride Parkinson Hastalığınının kişinin konuşmasından teşhisi üzerineydi. Kılavuzu boştan yere şişirmemek için oraya koyamadım ama yayınlanmadan kalmasınınada gönlüm razı olmadı.

Orjinal Çalışma
'Suitability of dysphonia measurements for telemonitoring of Parkinson's disease'
diye geçen makale. Oxford Üniversitesinden Max Little'in National Centre for Voice and Speech ile olan işbirliğiyle hazırlanmış.ve görebildiğim kadarıyla sınıflandırma için SVM kullanmışlar. Biz tahmin edeceğiniz üzre Yapay Sinir Ağı kullanacağız.

23'ü parkinson hastası olan 31 kişinin toplamda 195 ses kaydı yapılmış ve bu ses kayıtlarından çıkarılan özniteliklerle (feature extraction) Kişinin Hastamı Sağlıklımı olduğuna karar vermek gerekiyor.

Verilerin nelerden oluştuğuna bakarsak

1 ) MDVP:Fo(Hz) - Average vocal fundamental frequency
2 ) MDVP:Fhi(Hz) - Maximum vocal fundamental frequency
3 ) MDVP:Flo(Hz) - Minimum vocal fundamental frequency
4 ) MDVP:Jitter(%),
5 ) MDVP:Jitter(Abs),
6 ) MDVP:RAP,
7 ) MDVP:PPQ,
8 ) Jitter:DDP - Several measures of variation in fundamental frequency
9 ) MDVP:Shimmer,
10) MDVP:Shimmer(dB),
11) Shimmer:APQ3,
12) Shimmer:APQ5,
13 ) MDVP:APQ,
14) Shimmer:DDA - Several measures of variation in amplitude
15) NHR,
16) HNR - Two measures of ratio of noise to tonal components in the voice
17) RPDE,
18) D2 - Two nonlinear dynamical complexity measures
19) DFA - Signal fractal scaling exponent
20) spread1,
21) spread2,
22) PPE - Three nonlinear measures of fundamental frequency variation
23) status - Health status of the subject (one) - Parkinson's, (zero) - healthy

detaylı bilgi için makaleye bakabilirsiniz.

Orjinal veriyi Tablolama programımıza aktarıyoruz ve Status kısmını son sütüna taşıyoruz.sonra sadece verileri seçip bir text dosyasına kaydediyoruz. "ParkinsonRaw.txt" bundan sonrası için FannTool kılavuzuna müracaaat edeblirsiniz.

Sonuçlardan bahsederek yazıyı bitirmek istiyorum.
Çeşitli denemelerden sonra optimum bir sonuç veren YSA kaydedildi.

Eğtim verisinde 117 verinin hepsi doğru sınıflandırılıyor ve başarı yüzdesi %100
Test Verisiyle ulaşılan sonuçlar ise
58 Parkinson Hastasının 56 sı doğru tahmin ediliyor başarı yüzdesi %96,55
20 Sağlıklı kişinin 17 si doğru tahmin ediliyor başarı yüzdesi %85

Konuyla ilgili çalışmaları görmek için
Parkinson

Cumartesi, Eylül 05, 2009

FannTool için Kullanım Kılavuzu

FannTool kullanımı ile ilgili pek çok sorulara muhatap oluyorduk. bu yüzden her ne kadar zor ve angarya gibi de olsa bir kullanım kılavuzu yazmak zorundaydık. bir iki hafta sonu sahur sonrası sabahlayarak bir şeyler yazdık. İnşallah bir faydası dokunur. Ama aslında Bundan sonrası daha zor çünkü kılavuzun asıl ingilizcesi lazım, malum yurt dışından ilgi daha çok. Bu işi yapacak birisi olursa minnetdar oluruz.

Kılavuzu İndirmek için
FannTool Kullanım Kılavuzu

Kılavuzun Hata eksikliklerini bildirirseniz seviniriz.

Elinizde YSA projesi var ve Nereden başlayacağınızı bilmiyorsanız yine bize ulaşabilirsiniz. memnuniyetle yardımcı olmaya gayret ederiz. FannTool ile hazırladığınız projeler yada çalışmalar varsa bildirin link verelim yada tanıtımın yazalım.

Cumartesi, Ağustos 22, 2009

BUMAT



Size geçenlerde haberdar olduğum bir oluşumdan bahsetmek istiyorum. BUMAT yani Bulanık Mantık ve Teknolojisi Kulübü . Kurucusu Zekai Şen hoca. Kitaplarınından faydalandığımız ve sizlerde faydalanın diye tanıtımını yaptığımız, saygıdeğere bir bilim adamımızdır kendisi.

Klubün tantımını sitesinden birlikte okuyalım
Kasım 2000 tarihinde kurulan, İstanbul Teknik Üniversitesi Bulanık Mantık ve Teknolojisi Kulübü – BUMAT olarak temel amacımız, bilimsel bir devrim yaratacak olan ve gelişen dünyada geleceğin bilimsel düşünce yapısını oluşturacağı kabul edilen bulanık mantığın araştırmacılar ve öğrenciler arasında yayılmasının sağlanmasıdır.Kulüp olarak bir diğer önemli hedefimiz ise, bulanık mantığın teknoloji alanındaki uygulamaları hakkındaki gelişmeleri takip ederek, edinilen billgileri araştırmacılar ile paylaşmak ve teknolojik alanda yeni gelişmelerin olmasını sağlayacak araştırmalar yapmak ve yapanlara yardımcı olmaktır. Hedeflediğimiz yerlere ulaşabilmemiz için seçtiğimiz yöntemlerden bazıları, bulanık mantığın geliştirilmesinde etkili olmuş bilim adamlarının tanıtılması, bulanık mantıktan hareket ederek yapılan çalışmaların tartışılması ve yeni ufuklar açabilmek amacıyla seminer, sempozyum düzenleme ve dergi çıkartma çalışmalarını gerçekleştirmektir.
Ve dedikleri gibide sempozyumlar düzenlemişler.

Mühendislikte Modern Yöntemler Sempozyumu MMYS'2001
Bilimde Modern Yöntemler Sempozyumu BMYS'2005
Bilimde Modern Yöntemler Sempozyumu BMYS'2008

her ne kadar klüp isminde ve tantımında bulanık mantık vurgusu olsada. Sempozyumların isimlerinden de anlaşılacağı gibi, geniş bir yelpazede yapılmış. mesela BMYS 2008'in konuları arasında

* Bulanık (fuzzy) mantık
* Yapay sinir ağları
* Genetik algoritmalar
* Yapay zeka teknolojileri
* Uzman sistemler
* Bilimsel düşünce
* Modelleme ve simülasyon
* Akıllı sistemler
* Optimizasyon
* Kalman filtreleri
* Kaos teorisi ve çözümler
* Kesirli (fraktal) geometri
* Coğrafi bilgi sistemleri (GIS)
* Stokastik süreçler
* Veri madenciliği
gibi bizimde ilgi alanımıza giren pek çok konu var.

Şahsen böyle güzel ve faydalı birliklerin kurulmasına çok sevindim. Ama eksikliklerden de bahsetmek istiyorum.

Amaçlarını düşünürsek siteleri çok yavan. içeriği uzun süredir ( 28.01.2008 ) güncellenmemiş. Site de konularla ilgili yazılar yayınlandığı ve hatta soru cevaplı kısımlarında olacağı dinamik bir site olmalıydı. Bir üyelik sistemi görünmüyor ama
"Kulübümüze, İstanbul Teknik Üniversitesi içindeki akademisyen ve öğrencilerin yanısıra, bilimsel düşünce sahibi, bilimin ülkemiz topraklarında yaygınlaşmasını hedefleyen herkes üye olabilir. "
diye yazılmış.

Bahsi geçen sempozyumlarda pek çok değerli çalışma sunulmuş. sempozyuma katılayamanlar için kitaplarının temin edileceği bir yer yok. Sadece MMYS'2001 için "bildiri kitap ve/veya cd olarak kulübümüzden temin edilebilir." denmiş ama nasıl için bir cevap yok

İnşallah tez zamanda daha aktif ve yaygın bir BUMAK görürüz. çünkü gerçekten ihtiyacımız var.

Cumartesi, Ağustos 15, 2009

FannTool 1.0 Released

Evet sonunda FannTool 1.0 versiyonunu da yayınlıyoruz. İndirmek için
Beta versiyonunu yayınlıyalı 3 hafta geçmiş olduğu ve 110 küsur defa indirilmiş olmasına rağmen pek de hata bildirimi alamadım. Bütün bu ilgisizliğe rağmen ilgilenen iki kişiye buradan teşekkür etmek isterim.

İlki Vefalı arkadaşımız Volkan sağ olsun denemelerini yaptı ve fikirlerini beyan etti bir kaç küçük düzeltmede yaptım. FannTool'a ikon konulmasını ve windows için orjinal dosya seçim penceresinin kullanılması gibi önerilerini ise İnşallah bir sonraki versiyonuna koymaya çalışacağız.

Teşekkür edeceğimiz ikinci kişi ise Yurt dışından Dr Michael SCHAALE efendim kendileri önce bir önceki versiyondaki bir bug bularak yardımcı oldu. FannTool 1.0 betayı yanınlayınca. Sağ olsun yine ilgilendi ve bir kaç yazım yanlışı ve düşük çözünürlükteki ekranlardaki probleme dikkatimizi çekti. ve gereken düzeltmeleri yaptık. Veri İşleme kısmındaki ölçekleme metodu için biraz daha istatistiki metod önerisi ve çok büyük veriler için önerdiği sadeleştirmeler ise Bir sonraki versiyonda belki bir ihtimal

Bir sonraki versiyon için önerilere açığız. Lütfedip bildirirseniz seviniriz

Not: Bu gün itibarıyla Bir önceki versiyonun (0.93 ) download sayısı
Linux versiyonu : 1040
Windows versiyonu : 2246
olmak üzre toplamda 3286 ya ulaşmış bakalım bu versiyonun akibeti ne olacak...

Cumartesi, Ağustos 08, 2009

ve Celle Senâük

-"Daha geçen hafta görmüştüm kapıda "
dedi birisi
-"Üç gün önce rastlaşmıştık camiiden dönüyordu "
diyor öteki, bir başkası
- "Daha bu sabah görmüş, selamlaşmıştık."
Şimdi, ... şimdi ise yok. cenaze namazının vaktini ve yerini öğreniyoruz. İşten izin alıyoruz, ve koşturuyoruz. Camii avlusu epey bir kalabalık. küme küme herkes bir kenarda laflaşıyorlar.
Metin durmaya çalışan bir oğul, bitkin bitmiş vaziyette bir eş ve feryad figan kızlar...
...
“Allah için salata, Peygamber için Salavata, Meyyit için duaya”
dedi tok ve donuk sesiyle hoca
namaz bitirip hellalikler alınıyor hızlıca, sonra pür telaş mezarlığa. İlk defa göryorum Asrii mezarlığı. Epey de güzel bir yer Karşıyakaya kıyasla ama yer bulunmuyormuş. Hıh...

Kalabalık yüzünden epey geride arabayı bırakıp yürüyoruz. Gayrı ihtiyari sağdan soldan mezar taşları okuyoruz.
Emekli general bilmem kim, Eski danıştay üyesi filanca , fransızaca öğretmeni falanca. Hiçbirinin bir önemi kalmamış hepsi aynı mekanda toprak altındalar.
Sevgili eşim ... , kıymetli babamız ..., Biricik annemiz ..., veasire vesaire. Ne tuhaf insan olarak değer verdiğimiz kim varsa gömüp gitmişiz...
Mezarın yanına varabildiğizde bir tandık geri dönmeye başlamıştı bile yanımızdan geçerken ""işlem bitti " dedi usulca
İşlem bitti...
ölüyoruz usul usul, sığmıyoruz mezarlıklara, biteviye ölüyoruz...

Mevt idam değil, hiçlik değil, fenâ değil, inkıraz değil, sönmek değil, firak-ı ebedî değil, adem değil, tesadüf değil, fâilsiz bir in'idam değil. Belki, bir Fâil-i Hakîm-i Rahîm tarafından bir terhistir, bir tebdil-i mekândır. Saadet-i ebediye tarafına, vatan-ı aslîlerine bir sevkiyattır. Yüzde doksan dokuz ahbabın mecmaı olan âlem-i berzaha bir visal kapısıdır.* 20. mektup 7. kelime

Cumartesi, Temmuz 25, 2009

FannTool 1.0 Beta

FannTool'un yeni versiyonu üzerine çalıştığımı yazmıştım. Yapmak istediklerimi aşğaı yukarı tamamladım ve beta olarak yayınlıyorum. Eğer deneme yapıp fikir beyan ederseniz çok seviniriz.

FannTool 1.0 Beta


Yeni versiyonun özelliklerinden bahsetmek gerekirse

1) Veri İşleme Kısmı : DataProcessing öyle tablolama programı vari bir şey değil, ama tablolama programlarından kopyele yapıştırla oluşturcağınız Ham veri dosyalarını kolaylıkla FANN'ın kullandığı veri dosyası formatında kaydetmenize yarıyor. Pek tabiki verileri sırasını karıştırmak ( shuffle ) Eğitim ve Test verileri olarak ayırmak, ve Değerlerinin normalizasyonunu yapmak (scale ) da yaptığı işler arasında. Scale işlemi ile ilgili bir text dosyası da yazılıyor. İki çeşit Ham veri dosyası var


ilki Matris tipi her veri bir satırda. Örnek dosya "ParkinsonRaw.txt". Kullanıcı olarak son kaç sütunun çıkışı değerlerini oluşturduğunu belirlemeniz yeterli.

İkinci tür veri dosyası Zaman seri türünde her satır bir veri orada kaç verinin giriş olduğunu belirliyorsunuz. Örnek dosya : SunSpotsRaw-1980-2006.txt


t1
t2
t3
...
tn

gibi bir veriyi
t1 t2 t3 t4 t5 t6
t7
t2 t3 t4 t5 t6 t7
t8
...
gibir bir hale geliyor



2) Overtraining Caution System :


Daha önce YSA ile Kan Bağışı tahmini yazısında bir parça bahsettiğimiz Overtraining denen benim YSA nın ezberlemesi dediğim kavram var. Basitçe bahsetmek gerekirse YSA nın Eğitim verilerinde çok düşük hata ( MSE ) değerlerine ulaşıldığı halde Test verilerinde kabul edilemeyecek hata değerlerinde kalmasıdır. Normalde bu işlem için önce eğitimin yapılıp sonra test verileriyle denenmesini gerektirir. Artık Test verinizi yükleyip Fine Tuning kısmındaki "Overtrainin Caution Sysytem" kısmını açarsanız. Eğitim sırasında Test verisinin hata değerlerini görebilme imkanına sahip olabilirsiniz Grafik de Eğitim ve test Hatasını ortalamasını çizilir.

3) YSA Kayıt : Eğitimi sonrasında ki YSA kayıt kısmında artık, eğitim esnasındaki ulaşılan en iyi değerleri de kaydedebilirsiniz. kısaca açıklamak gerekirse.



Latest : Eğitimin en son ulaştığı YSA
Minumum Training : Eğitim esnasında Eğitim verisiyle ulaşılan minimum MSE
Minumum Testing : Eğitim esnasında Test versiyle ulaşılan minimum MSE
Minumum OCS : Eğitim esnasında Eğitim MSE ve Test MSE sinin ortalamasının minimumu


4) Neural Network Information : Daha önceden kaydettiğimiz YSAların bilgilerini görmemize yarayan bir kısım