2015年11月4日 星期三

[學習] 使用多個 servo motors 的電源問題


最近我用Arduino 做一個貓咪的玩具

使用了四個伺服馬達(servo motors)

但每次想要拔掉usb

只用9v AA電池給電的狀況下都無法運轉

我就猜測

一定是電源不足的問題!!!!




剛好被我在網路上找到了解答

回去來試看看

網址:
http://rcarduino.blogspot.tw/2012/04/servo-problems-with-arduino-part-1.html




裡面最重要的一點是

如果外接電源

『一定要把地線和Arduino 的DCC相連接才行』

2015年10月30日 星期五

[學習] 快速瞭解SSID, BSSID, and ESSID


今天看了一篇介紹無線網路分享器的

一些專業術語  SSID, BSSID, ESSID

當然還有其他更詳細的介紹

就先在這裡記錄一下摟~


網址:
http://www.juniper.net/documentation/en_US/network-director1.5/topics/concept/wireless-ssid-bssid-essid.html

2015年10月26日 星期一

[java] 收送檔案


這幾天為了這幾行程式碼

嘗試了很久

也參考了朋友的程式碼

終於發現了一個結論

在傳輸檔案時.....



「一定要先傳送檔案大小!!!!」




[java] 同時編譯與執行不同package下的檔案


最近因為在寫論文的程式

準備要用cmd line來編譯才發現遇到問題

的是廢廢XDD

這邊有一篇滿詳細的解說

http://stackoverflow.com/questions/17140512/how-to-compile-multiple-java-files-when-there-are-java-files-in-other-packages

但如果為了方便

直接用eclipse當然還是最快的嘍

不行....


我就是要練基本功啊!!!


2015年8月31日 星期一

[java] java 程式開發流程



一直一來

對於java都只是很粗淺的認識

只會把一堆程式寫在有main的class裡面

完全不知道要怎樣去分割程式

像是到底哪裡該如何組合成一個新的class之類

真是滿頭大=="



剛看到一篇分析程式的流程

還不錯 !!!

http://pydoing.blogspot.tw/2011/05/java-encrypt-class.html

2015年8月30日 星期日

[java] Static , non-static method 之間的呼叫

(1)
如果 caller - 是static method
那 callee - 只能是 static method


(2)
如果 caller - 是non static method
那 callee -
1. 如果是 static method , 直接呼叫callee所屬的className還有 methodName
    ex. className.methodName();

2. 如果是 non static method, 需要建立callee所屬的class
     ex.   className  callee = new className();
              callee.methodName();




ps. caller 呼叫方  ->  callee 被呼叫方
             


2015年8月12日 星期三

2015年6月8日 星期一

mining dat stream (concept drift)


1. concept drift

由於輸進的資料可能隨時間而有不同類型的改變(threadshold, type),而導致原先mining目標變得模糊的現象

解決方法:
利用Learning 的方式,在接受到不同資料後,會自動更改classifier


(1) 教科書電子檔
http://infolab.stanford.edu/~ullman/mmds/ch4.pdf

(2) 解釋很清楚的slide
http://www.slideshare.net/draxus/handling-concept-drift-in-data-stream-mining

資料安全 K means anonymity

生活中每個人的資料在不同場合之下會有許多份不同記錄

雖然每一份都是無法直接對應出實際人名的資料(匿名)

但借由資料間的相關性

可能找出所有的關聯

而泄露出個人隱私的問題存在

K means anonymity 就是提出這樣的疑慮

並提供方法解決它


ex.

Medical Data 和 Voter List 間所具有的共同資料 Zip, birthday date, sex
可能導致兩份資料能夠串聯在一起

------------

1. re-identification





(1) 解釋很簡潔的slide
https://www.cs.cmu.edu/~jblocki/Slides/K-Anonymity.pdf

2015年5月24日 星期日

Frequent itemset (Aprori, FP-growth, sequential patternsㄎ

這些演算法

都是希望能在資料群中找出常發生的資料


1. Aprori

非常耗時間,但直覺且簡單



2. FP growth


(1) 不錯的slide
http://www.slideshare.net/deepti92pawar/the-comparative-study-of-apriori-and-fpgrowth-algorithm



3. Tree projection algorithm - lexicographical tree


4. PROPAD algorithm


整個演算法大致為前三步驟循環
(1)建立transaction/tempory itemset
(2)由上建立frequent itemset table
(3)由上建立projected transaction table
(4)以上面table中的點,從(1)開始繼續
(5)建立frequent set tree

ex.



(1) 可以參考這篇paper
Depth-First Frequent Itemset Mining in RelationalDatabases




4. ECLAT algorithm

不同transaction但同樣的element以自己的TID作為標記,放在一起

再利用merge的方式,即可快速得到support counting,而不必搜尋全部資料




---------------------------------------------------------------------------------


3. Sequential patterns (data stream mining)


(1) Maxspan constraint: 以最大時間來限制可考慮的資料範圍,會影響support counting 的值

(2) Maxgap and Mingap constraint: 跟上面方法很類似,但同時考慮最大和最小範圍,一樣會影響support counting 的值。

但要注意的是

若是採用這些限制可能影響Aprori演算法中,subsequence 一定也是frequent itemset

因此有新的modified Aprori Principle判斷法則

就是只考慮同樣指符合時間限制的subsequence

ex.

<1,3,5> 的 subsequence 可以有 <1,3>, <1,5>, <3,5>

但若限制 maxgap = 1

則subsequence只考慮 <1,3>, <3,5>

Cluster method (DBSCAN, K-means), cluster tendency, cluster validity

1. Method of classification

(1)DBSCAN :
優點 可以解決資料不規則分佈(歪七扭八參雜)

(2)K-means
缺點 不能解決不規則分佈資料

1. 隨機在空間中放下K點為中心點
2. 利用 Vironoi diagram 和中心點,將空間的所有點分成數個區塊
3. 計算區塊中所有點的平均值,將中心點移至那裡
4. 重複第2步驟,直至收斂


(3) MAX- distance

(4) MIN- distance




(1) 中文講解不同區分法k-means, DBSCAN
http://123android.blogspot.se/2012/01/28dec11-data-mining.html 

(2) wiki 演算法講解滿清楚
http://en.wikipedia.org/wiki/DBSCAN


-----------------------------------------------------------------------------



2. Cluster tendency

在我們真的去用演算法劃分cluster前

其實可以先借由一些方法來得知資料的分佈狀況

像是『平均分佈』或是『集中分佈』方式


ex. Hopkins statistic演算法


p 為資料空間中任意挑選的點,可以參雜真正的資料點
ui 為p點到彼此最近的點的距離
wi 為p點到最近的真正資料點的距離

從H值可以粗估一些狀況
-  接近0.5, 資料為平均分佈在空間中
-  接近1, 資料高度集中


-----------------------------------------------------------------------------



3. Cluster validity

在我們利用不同方法將資料區分成不同cluster之後

總得去分析這些方法的是否可行

下面就是幾種最為參考的數值




舉個例  
Ex.


Entropy 和 Purity 可以參考上表

但若考慮cluster 1 內

對於Metro 的 Precision = 506/667 = 0.75

對於Metro 的 Recall = 506/943 = 0.26

所以cluster 1 的 Metro 的 F measure = 2*0.75*0.26/(0.75+0.26) = 0.39




2015年5月20日 星期三

Web mining algorithm (HITS, PageRank)

1. HITS


(1) 起始化hub和authority 的值為1
(2) 計劃 Authority,  a = At * h
(3) 計算 Hub,  h = A * a
(4) 正規化 Authority 和 Hub
(5) 重複2-4的動作,直到收斂

!? a = AtA*h
!? h = AAt*a


----
[1] http://sls.weco.net/node/10937
[2] http://www.math.cornell.edu/~mec/Winter2009/RalucaRemus/Lecture4/lecture4.html
[3] http://en.wikipedia.org/wiki/HITS_algorithm#Normalization



2. Pagerank


可以分成迭代法(Iteration)和代數法(algebra)來計算得到結果

(1) 不同範例,且有小程式可計算測試
http://www.webworkshop.net/pagerank.html#toolbar_pagerank

(2) 公式推導
http://mathscinotes.com/2012/01/worked-pagerank-example/

(3) 起始值推敲說明
http://www.sirgroane.net/google-page-rank/

(4)兩種算法解說
http://www.math.cornell.edu/~mec/Winter2009/RalucaRemus/Lecture3/lecture3.html

2015年2月9日 星期一

學習清單

在這裡放一些學習清單


1. http://pcgeeks.bugs3.com/?p=429
自動連上網路的方式

2. http://stackenblochen.blogsport.eu/2013/03/26/script-to-automatically-login-to-upunet-s-at-uppsala-university/
連上網頁的腳本