Sayfalar

30 Mart 2018 Cuma

BitCoin Çözümü



Günümüzde para zaten büyük oranda dijitalleşmiş durumda olup; Banka hesapları veya Kredi Kartları üzerinde durmakta, Para transferleri ilgili sistemlerdeki kayıtlarla gerçekleşmektedir. Buna rağmen aynı ülke içinde bile farklı kurumlar arası para transferleri ertesi iş gününe kalabilmekte, Uluslararası para transferleri ise günlerce sürebilmekte, maliyetler küçük işlemlere izin vermeyecek seviyede yüksek olabilmektedir. İade ve İptaller ise daha da büyük sorundur. Yüksek maliyetelerden dolayı insanlar İptal süreçlerinden bile vazgeçilebilmektedir. Ayrıca sistem belli orandaki fraud durumlarını kabullenmiş durumdadır. Tüm bu sistem Gönderici ve Alıcı arasındaki Merkezi Otoriteler (Bankalar, Finans kurumlar vs) üzerinden çalışır. İşlem kayıtları bu merkezi otoritelerde durur. Gönderici ve Alıcılar bu merkezi otorite ve onları denetleyen kurumlara güvenmek durumundadır.


Standart Para Trasnfer Modeli

Bitcoin; Alıcı ile Gönderici arasındaki merkezi otoriteye ihtiyacı ortadan kaldıran, transfer ücretleri ve sürelerini minimize eden, başta kriptoloji olmak üzere teknolojiye dayalı anonimleştirilmiş bir çözüm önerir.

Çözümün temeli işlem kayıtlarının merkezi otorite yerine dileyen herkeste durabileceği bir yapıya dayanır. İlk bakışta verilerin çok büyük olacağı ve bunun mümkün olmayacağı düşünülebilir fakat günümüz depolama maliyetleri ile sıradan bilgisayarlar için bile mümkündür. Bu şekilde dünya üzerinde on/yüz binlerce bilgisayarda işlem kayıtlarının birer kopyasının durduğu ağ oluşur.

BitCoin Modeli

Ağ tamamen anonimdir. Herhangi bir bilgisayar ile ağa dahil olunabilir. Bir üyelik yada kayıt işlemi gerekmez. Ağa dahil olun bilgisayar (node) o ana kadar dünya üzerinde oluşmuş tüm işlem kayıtlarını kendine indirir, kayıtların bir kopyası da kendinde oluşur.

Transfer işlemleri Gönderici ve Alıcıya ait Hesap numaraları arasında yapılır. Ağ üzerindeki bir bilgisayardan gönderi işlemi yapılabilir. Gönderici kendi hesabındaki Bitcoin’i alıcının hesap numarasına gönder emrini oluşturduğunda, işlem ağdaki tüm bilgisayarlara da dağıtılır. Böylece tüm ağ bu işlemden haberdar olur. Bitcoin alıcının hesabına geçtikten sonra , Alıcı da gönderme işlemi yapabilir.

Sistem kimliksizdir, hesapların kime ait olduğuyla ilgilenmez ama yapısı gereği hesapların işlem kayıtları ve son bakiyeleri ağa bağlı tüm bilgisayarlar tarafından bilinir durumdadır. Yeni Hesap yaratmak ve transfer kolay bir işlem olduğu için hesap sahipleri yeni hesaplar yaratıp, bir hesabındaki bakiyeleri hızlıca bu yeni hesaplara aktarabilirler.

Merkezi otorite modelinde, verilerin bozulmazlığını ve bir hesaptan aynı parayı birden fazla kişiye gönderilmesini (Double Spend) engellemek bu otoritenin sorumluluğundadır. Gerekli güvenlik önlemlerini alan ve İşlemleri doğru sıra ile yerine getiren tüm merkezi otoriteler bu gerekliliği sağlarlar.

İşlem kayıtlarının anonim olarak dünya üzerinde binlerce bilgisayarda durduğu dağıtık modelde de Verinin bozulmazlığı ve dolayısıyla Double Spending’in engellenmesi gerekir. BitCoin çözümü bunun nasıl olacağını tanımlar.

Sistem hala geliştiriliyor, iyileştirilmesi gereken noktalar var ama anonimleştirilmiş bu transfer yapısı yakın geleceği şekillendirecek en büyük icat olmaya hala aday.

15 Mart 2018 Perşembe

Bitcoin ve Kripto Paralara Genel Bakış



2008 Eylül ayında “Satoshi Nakamato” takma adlı bir kişi (veya grup – gerçek kimliği hala bilinmiyor) “bitcoin: Eşten Eşe Elektronik Nakit Sistemi” isimli teknik çalışmayı yayınladı. Bitcoin; hiçbir merkezi otoriteye bağlı olmadan çalışabilen dijital para olarak ortaya çıkmış oldu.

Yeni paranın nasıl üretileceğini, para transferinin nasıl olacağını, verilerin değişmezliğinin ve güvenliğin nasıl sağlanacağını ve negatif bakiyeye düşme durumunun (double-spending) merkezi otorite olmadan nasıl engelleneceğine dair çözümler bu çalışmada belirtildi.

Yayınlandığı dönem; dünyada finans ve finans yapılarını düzenleyici kurumlara güvenin sarsıldığı, 2008 Küresel krizi ile aynı dönemdir. Finans sektörüne karşı anarşist bir çözümdür bitcoin. Sonuç olarak para basma ve transferi yetisine sahip tüm kurum ve kuruluşların varlıklarının bile sorgulanmasına neden olacak bir sürecin ilk kıvılcımını çakmış olur.

Çözüm başlarda kısıtlı bir çevre tarafından fark edilip desteklenmiş, Dökümanda belirtilen yöntemler için açık kaynak kodlu yazılımlar geliştirilmiş ve sistem çalışır hale gelmiştir.

Kullanımın yayılmaya başlaması ise teknolojiye yakın çevrelerce kimliksiz izi sürelemez para transferi amacıyla Darknet ve Black Market çevrelerinde olur. Bir süre sonra Darknet’in defacto parası haline gelir. Bu dönem Bitcoin’in ismi de kötüye çıkar. Bir noktada Birleşik Devletler duruma müdehale eder. Black Market kurucularına Hapis cezaları dahil farklı cezalar verilir.

İşlem hacmi artan bitcoin pek çok kişiye temas etmiş olur, sıradan halk arasında da fark edilmeye başlar, yaygınlaşmaya devam eder. Pekçok kişi deneysel veya merak ile Bitcoin üretimine dahil olmaya başlar. Pazar büyüdükçe üretime yapılan yatırım da artar. Belli bir zaman diliminde Bitcoin üretimi Moore yasasına karşı alınan önemlemlerden dolayı kısıtlıdır. Dolayısıyla üretime katılım arttıkça birim üretim maliyetleri artar.

Paralel dönemde BitCoin Türevi ve Alternatifi Kripto Paralar yaratılır. Ethereum Vakfı dağıtık uygulama ve Token desteğini kazandırır sisteme. Riple ise teknolojiyi özelleştirerek Finans sektörünün hizmetine sunar. Uluslararası para transferi de dahil işlemleri saniyeler içinde tamamlayan bu çözüm Avrupa birliğinde kullanılan ve milyar euro tasarruf sağladığı belirtilen eIDAS standartlarından bile daha verimli bir çözümdür. Dünyadaki pekçok finans şirketi hızlıca sisteme üye olur. Havven ise çift token mantığı ile Volatiliteyi düşük tutmayı hedefliyen bir çözüm sunar.

Günümüze gelindiğinde farklı konuları çözdüğünü idea eden 1500 farklı kripto para yaratılır. Her geçen gün ise yenileri yaratılmaya devam etmektedir.

Bir yandan da Kripto Para borsaları hızlıca çoğalmaya ve bu borsalar üzerinde işlem hacimleri hızlıca artmaya başlamıştır. Özellikle son 1 yıl içinde büyük değer artışları yaşanmış sokaktaki insanlar bile bu değer artışlarına kayıtsız kalamamıştır. Bu döngü ile artış daha da körüklenmiştir. 2017 yılı sonlarına doğru pek çok devlet halkını uyarmak zorunda kalmış. Güney Kore ve Birleşik Devletler bazı önlemler almıştır.

Global çaptaki ilgiden dolayı kamu ve büyük kurumlar konuya kayıtsız kalamamış bazı Avrupa Doğu Bloku ülkeleri ve Rusya kendi Kripto Para Çözümleri üzerinde çalıştıklarını açıklamıştır. İngiltere kripto paraları yabancı para sınıfına sokmuş o şekilde vergilendirmeye başlamıştır. Bazı Avrupa ülkeleri kripto paraları emtia olarak kabul ederek vergilendirmeye başlamıştır. Birleşik Devletlerde de benzer uygulamalar vardır. Türkiyede de son dönemlerde Bitcoin’in temel teknolojisi olan BlockChain teknolojisi üzerine bazı çalışmalar yapıldığı açıklanmış, bir kaç Kripto Para (daha ziyade Token) Halka arz denemesi yapılmıştır.

Büyük Şirketlerde de benzer açıklamalar vardır. Hooters’ın da sahibi olduğu Chanticleer Holdings konuyla ilgilendiklerini açıkladıklarında Borsadaki Hisse değerleri artmıştır. Starbucks ise Kripto Paralar için henüz erken olmakla beraber BlockChain çözümleri üzerinde çalışıyoruz. Şu an bile ödemelerimizin büyük oranı mobil cihazlardan geliyor şeklinde açıklamlar yapmışlardır. Yine Türkiyede birkaç işletme ödemelerde BitCoin , Litecoin gibi para birimlerini kabul edeceklerine dair açıklamalar yapmışlardır ama Volatilite ‘nin bu kadar yüksek olduğu bu dönemde çok gerçekçi görünmemektedir.

Başladığı zamanki anarşist ruhundan çok şu sıralar kazanç fırsatları ile gündemde olsa da Bitcoin’in dijital para devrimini başlatmış olduğu ortadadır.

24 Mayıs 2014 Cumartesi

Association Rule

Association rule datamining teknikleri içinde birliktelik kurallarını belirlemek için kullanılır. Özellikle Perakende sektöründe Sepet Analizi için idealdir.  Amaç aşağıdaki gibi bir sonuca ulaşmaktır.

{PANTOLON, SWEAT} => {GÖMLEK}

Bu sonuca ulaşmak için yöntem tüm olası durumlar için hesaplamalar yapabilir. Sonuç kümesi olarak sadece doğruluğu ve değeri yüksek sonuçlar kullanılır.

Üzerinde çalışılacak tüm terimler için;
 I ={terim1 , terim2, .... } şeklindedir.   

Bu Terimlerden oluşan her bir Set sistemin veri kaynağıdır.
D = {set1 , set2 , set3 ..... } 
her bir set I kümesinin bir  alt eşit kümesi olabilir. 

Amaç 
 X => Y sonucuna ulaşmaktır. 
Burada  X ve Y kümeleri I Kümesinin alt kümeleri ve X kesişim Y = boş küme olmalıdır.

 İlgili şartlar altında tüm durumlar için üç değer belirlenir;

support (destek) :    supp şeklinde de geçer.
supp = (X U Y kümesini içeren Set sayısı) / (Toplam Set Sayısı)
Dolayısıyla Support değeri ilgili değerin toplam set içindeki oranını verir.

confidence (güven):  conf şeklinde de geçer.

conf =  (X U Y kümesini içeren Set sayısı) / (X kümesini içeren Set sayısı)

Bu da X terimlerini içeren Set ler içinde Y 'ninde olduğu Set lerin oranını verir.

Aşağıdaki Sonuç kümesini için;
1. satır  "Bir Sepette Pantalon ve Sweat , Gömlek olması tüm sepetlerin %1'inde görülmektedir. Pantalon ve Sweat içeren sepetlerin ise %47 ' sinde Gömlek vardır." anlamı çıkar.
5. satır "Sepette Pantalon ve Gömlek olması tüm sepetlerin %3.3'ünde görülmektedir. İçinde Pantrol olan sepetlerin  %30 'unda ise Gömlek de vardır.


lhs
rhssupportconfidencelift
1{PANTOLON,





SWEAT}=>{GÖMLEK}0.0104890.470527 2.123
2{TRİKO,





SWEAT}=>{GÖMLEK}0.0106270.4108731.8542
3{GÖMLEK,





TRİKO}=>{SWEAT}0.0106270.3714742.4407
4{GÖMLEK,





PANTOLON}=>{SWEAT}0.0104890.3168522.0818
5{PANTOLON}=>{GÖMLEK}0.0331040.3072971.3868

The R uygulaması kullanılarak Association rule kullanımı ayrıca anlatılacak.




23 Mayıs 2014 Cuma

Sepet Analizi

 Datamining yöntemlerinin Perakende sektöründe kullanılan en yayğın ve bilindik uygulması "Sepet Analizi". Bu analiz için de en yayğın kullanılan yöntem "Association rule" (Birliktelik Kuralı).

 Sepet Analizinin hedefi; Müşterilerin, birlikte satın alınma eğilimi olan ürün veya ürün gruplarını tespit edebilmek ve bu bilgiler ışığında aksiyonlar almaktır.  Bu aksiyonlar, ilgili ürün grupları için önceden Kampanyalar düzenlemek olabileceği gibi Alışveriş sitelerinde sepetteki ürünlere bakarak o anda yeni ürünler önermek olabilir.

 Sepet Analizi perakende kanalında ilk defa büyük marketler için uygulanmaya başlanmıştır. Sepet Analizi ismi de ordan gelmektedir. Analizlerde birlikte satınalma durumunu incelemek için  set olarak Sepet (fatura) kullanılmaktadır. Aynı faturadaki ürünler bir set oluşturur.

 Bu yöntem market sektörü için doğru bir yöntem olmakla beraber perakende sektörünün diğer alanlarında özellikle Tekstil alanında yetersiz kalabilir. Çünkü bu alanda sepet içindeki ortalama ürün adetleri 1.6 , 1.9 seviyelerindedir. Yani 2 adetten bile azdır.  Özellikle sektörün doğası ve kampanya gibi yan etkilerden dolayı Sepet bölünmesi denilen durumlar da sıklıkla oluşur.

 Her faturayı kime kestiğini bilen şirketler için alternatif sepet yöntemleri belirlenebilir. Örneğin bir müşterinin Aynı gün içinde yaptığı (hatta aynı grubun farklı bir mağazası bile olabilir) tüm A/V bir sepet kabul edilebilir. Hatta Müşteri ve Bir Hafta 'nın tamamı çok daha iyi olabilir.

 Analizlerin Ürün seviyesinde değil Ürün Grupları seviyesinde yapılması daha doğrudur. Özellikle Moda sektöründe sezon kavramından dolayı ürün ömrü 6 - 8 ay civarıdır. Yine aynı nedenlerden dolayı yüzbinlerce üründen bahsetmek gerekir.

 Müşteri , Hafta ve Ürün Grubu bazında çalıştığımız taktirde aşağıdaki gibi bir örnek oluşabilir.

2013-22_20182767 ,  SWEAT
2013-22_20182767 ,  JEAN
2013-22_20182767 ,  ELBİSE

2013-22_20256035 ,  SWEAT
2013-22_20256035 ,  ELBİSE

2014-21_20871114 ,  SWEAT
2014-21_20871114 ,  JEAN

2014-21_19672967 ,  JEAN

2014-21_18693948 ,  SWEAT

2014-21_18693948  , GÖMLEK

 Çoğu dataming uygulaması yukardaki gibi olan transactional verileri de desteklemektedir. Fakat yapı olarak veri aslında aşağıdaki gibi işlenir.

  SWEATJEANELBİSEGÖMLEK
2013-22_20182767 1110
2013-22_20256035 1010
2014-21_20871114 1100
2014-21_19672967 0100
2014-21_18693948 1000
2014-21_18693948 0001

Sonuç olarak aşadağıdaki değerlere ulaşabiliriz; (Kaynak veri farklıdır)



lhs
rhs support confidence lift
1 {PANTOLON,





SWEAT} => {GÖMLEK} 0.010489 0.470527  2.123
2 {TRİKO,





SWEAT} => {GÖMLEK} 0.010627 0.410873 1.8542
3 {GÖMLEK,





TRİKO} => {SWEAT} 0.010627 0.371474 2.4407
4 {GÖMLEK,





PANTOLON} => {SWEAT} 0.010489 0.316852 2.0818
5 {PANTOLON} => {GÖMLEK} 0.033104 0.307297 1.3868


ilk satır için "Bir Sepette Pantalon ,Sweat , Gömlek olması tüm sepetlerin (Müşteri değil sepet) %1'inde görünmektedir. İçinde Pantolon ve Sweat olan sepetlerin ise %47 sinde Gömlek de vardır." anlamı çıkar.

 Bu bilgilerin ışığında Sepetine Pantalon ve Sweat atmış kişilere Gömlek önermek doğru olacağı gibi, Gömlek ikamesi olan ve satılması daha çok tercih edilen başka bir ürün ön plana çıkarılabilir.

Association rule çalışma şekli ve yukardaki tarz örneklerden sonuç elde edilmesi sonraki yazılarda anlatılacaktır.


20 Mayıs 2014 Salı

Pentaho CE 5.0 Kurulum.

Pentaho CE 5.0.1 Kurulum.

İndirime
Pentaho ana sayfası olan http://www.pentaho.com/ adresinden yapılan indirmeler Pentaha EE sürümünü içermektedir ve bu sürüm için Ticari lisans  gerekmektedir.


Pentaho'nun ücretsiz sürümü olan Pentaho CE 5.0 , http://community.pentaho.com adresinden indirilebilir.  Başlangıç için ilk indirme "Business Analytics Platform" (Main Downloads kısmında) dosyasıdır.  İndirilen dosya (örn: biserver-ce-5.0.1-stable.zip) tüm Java uyumlu platformları destekler.

Windows 7 SP1 64bit bilgisayara kurulum.

İndirilen ZIP dosya açıldığında  tüm dosyalar "biserver-ce" altında oluşur. Teorik olak bu işlemle kurulum tamamlanmış olur. Herşeyi uygun bir makinada (JAVA kurulu ve JAVA_HOME doğru set edilmiş, yetki ve bellek sorunu olmayan) "Business Analytics Platform" çalışabilir durumdadır.

Kurulumu "c:\pentaho\biserver-ce" şeklinde bir klasöre yapmak tercih sebebidir. İçinde özel karekterler bulunan , boşluk bulunan Klasör isimlerini kullanmamakta fayda var.

biserver-ce\start-pentaho.bat kullanılarak  "Business Analytics Platform" çalıştırılabilir.

Sorunsuz çalışma durumunda Tomcat sunucu bir Command Promt ekranında çalışmaya başlıyacaktır.

Hata Durumları
Özellkele Java ile kaynaklı problemler olduğunda Bahsi geçen Command Promt ekranı hızlıca görünüp sonra da kaybolacak ve hiç bir Log dosyası da oluşmayacaktır. Bu durumda hatanın ne olduğunu da göremiyecek ve çözüm de üretemiyeceksiniz.

* Hata ayıklama için bazı dosyalara müdehale gerekir.  Dosyalar unix uyumlu olduğu için Notepad değil Wordpad veya Notepad+ gibi başka bir Editör kullanılmasında fayda var.

*Hata olduğunda bu hatayı görebilmek için biserver-ce\tomcat\bin\catalina.bat dosyasında ufak bir değişiklik yapılabilir.

Aşağıdaki satır; start komutuna /B paremetresi eklenerek bir sonraki satırda belirtilen hale getirilmeli.

set _EXECJAVA=start "%TITLE%" %_RUNJAVA%

set _EXECJAVA=start /B "%TITLE%" %_RUNJAVA%


Bu durumda  command prompt içinde
>c:
>cd\pentaho\biserver-ce
>start-pentaho.bat

 şeklinde çalıştırılırsa oluşan hata ekranda görünebilir. Hata ayıklama tamamlandıktan sonra /B paremetresi silinerek veya yedeği alınmış catalina.bat geri kopyalanarak orijinal haline dönmekte fayda var.

Olası Problemler
64bit makinada 32bit Java (JDK veya JRE) kurulu olması ve sistemde default olarak (JAVA_HOME) bu 32bit lik kurulumun seçili olması durumunda

"Error occurred during initialization of VM Could not reserve enough space for object heap
Could not create the Java virtual machine."

Şeklinde bir hata verecektir.

Bu problemin düzeltilmesi için 64bit Java kurulumu yapıp JAVA_HOME olarak ta bu yeni kurulumun belirtilmesi gerekir.

Eğer JAVA_HOME başka nedenlerle hala 32bit Java'yı göstermesi gerekiyorsa , PENTAHO_JAVA_HOME , PENTAHO_JAVA parametrelerini kullanarak 64bit Java pozisyonunu kullandırtabilirsiniz.

Bu parametreleri "Bilgisayarım" "Advanced" tabından kalıcı olarak set edilebilir veya "start-pentaho.bat" dosyası Edit edilerek 3. satırdan sonra aşağıdaki gibi satırlar eklenebilir. Bu satırlarda ilgili bilgisayarda kurulu olan 64bit Java klasörleri kullanılmalıdır.

set PENTAHO_JAVA_HOME=C:\Program Files\Java\jdk1.7.0_01
set PENTAHO_JAVA=C:\Program Files\Java\jdk1.7.0_01\bin\java.exe
 
Uygulamaya Giriş
Başarılı çalışmaya başladıktan sonra http://localhost:8080 adresinden hemen uygulamaya bağlanıp kullanıcı adı olarak "admin" , parola olarak "password" kullanarak giriş yapabilirsiniz.