- Feb 02 Thu 2012 18:23
涼宮春日的動搖
- Jan 29 Sun 2012 23:56
從資料中挖金礦
閱畢日期:2012/1/28
這本書是講資料採礦,講的相當淺顯易懂,簡單來說,這是一本入門書。書的主要架構大致是這個樣子,先講資料採礦可能會遇到的盲點以及必須要做的事情,然後介紹步驟以及常使用的方法,最後延伸到網路以及隱私問題。
步驟:
- 先決定想知道什麼
- 資料的蒐集
- 資料的取捨
- 先從單一資料與屬性下手
- 失敗經驗有助於往後的分析
- 試著加上其他屬性
- 剔除異常值
- 單一屬性與多重屬性的混雜使用
大致有這些分析方法:
- 分類:群集分析、決策樹分析、自我組織映射圖
- 關聯:關聯法則
- 預測:迴歸分析、類神經網路
迴歸分析的最小平方法,其實就是加總各點與直線距離的平方和,畫出平方和最小化情形下的直線。所謂的迴歸分析就是從不明確的資料群裡,找出「各式各樣的資料這麼多,最後應該有這樣的規律/公式吧」的妥協點的方法。從迴歸分析取得的線就是回歸線,想查明的東西稱為因變數,所需要的資料稱為自變數。只有一個自變數的案例稱為「簡單迴歸分析」,有兩個以上自變數的案例稱為「複迴歸分析」。缺點是如果資料的分散度很大時,會無法找出適當的回歸線,導致預測的準確度很低。
決策樹是依據分歧條件去歸納整理並畫出類似樹狀的圖形,可以用來快速的做判斷。
群集分析,是依據資料的某些條件做出分類。K平均法是其中的一種方法,他是經由不斷的計算每個群集的中心點位於何處,移動中心點,經由計算移動中心點以後,再次重新判斷、將資料點歸屬到距離最近的中心點。重複這項作業直到中心點不再移動為止。
自我組織映射圖,這個比較難說明,書裡舉的例子是先簡單把資料分為四格,然後每個格子裡再去區分為四格來分類,以次類推到更裏面的格子。簡單的說就是把多次元的資料以二次元方式來表現,就x, y, z甚至w, x, y, z想在一張平面的圖裡表現出來。章節最後介紹了自我組織映射圖,說是目前比較矚目的方法。
關聯法則,就是依照資料去找出不同種類物品的關聯關係,常被用來舉例的就是尿布跟啤酒。說到這個,我突然想到,國內的賣場並非如此,這跟民族性有關係嗎?還是跟現行法令有關係?
類神經網路。一個點是以資料屬性與臨界值來判定是否符合條件,再加上多個屬性,就形成了類神經網路。好處在於可以擴充也可以學習,缺點在於需要額外準備資料來檢測分析是否俱備泛用性,然後有可能有過度學習的情況。
後面講的是資料採礦的其他問題,像是網路上收集的資料會導致隱私的洩漏等等的,然後講到OECD,OECD的幾個原則:
- 蒐集個人資料時,必須使用公正的手段而且取得當事人的同意才可以進行蒐集。
- 個人資料需要符合利用目的的內容,必須確保其正確且最新的狀態
- 蒐集個人資料的目的,於各個階段必須明確標示
- 個人資料只能使用在已得到當事人同意的用途上
- 個人資料必須嚴加保護,避免被使用在破壞、洩漏、惡質連線等用途上
- 個人資料的運用方式必須公開;資料管理者的連繫管道必須暢通
- 必須設定個人資料相關的詢問及客訴窗口。如果客訴情況屬實,必須修改或刪除資料。
- 資料管理的負責人,必須負責執行這些原則
個人必須要注意的,就是要判斷自己的資料哪些是可以公開的,哪些是不想公開的。而且因為網路和儲存裝置的大量普及,一旦散佈出去的資料將很難再去抹滅。
要買書可以到博客來網路書局
- Jan 20 Fri 2012 15:53
Android in action - 17
第十七章 AppWidget
AppWidget就小工具,功能有限,主要是顯示資訊然後允許人家click這樣而已,也可以說是一個捷徑。
每個小工具都有自己的資料來源,並非共用。放AppWidget的應用程式叫做AppHost,他們之間主要的溝通是靠BroadCast。
大致上有四種類型,可以參考 17.1,standalone, smart shortcut, specific static data, dynamic data。
P.S. 這個章節後面沒看完,一放就快三年過去,pass ~
- Jan 17 Tue 2012 17:55
Android in action - 16
先介紹Web的好處跟WebKit,然後講HTML該怎麼寫。
第一個是加 viewport 這個 meta tag。
第二個是可以用 navigator.userAgent 去判斷有無'android'來決定要出哪一個 css,就是用javascript判斷,然後以document.write('<link rel="stylesheet" href="xxx.css"/>');
但更好的方法其實是用 media 這個 attribute來決定。
Web database的話,是用window.openDatabase()開啟資料庫,然後用transaction去包 sql 敘述,跟一般寫法不太一樣的是,回傳處理跟錯誤處理是包在callback函數裡,所以要把資料與例外的處理,寫在callback函數裡。後面有介紹如何除錯,因為手機上除錯不易,作者建議可以直接用Google瀏覽器來進行除錯。
最後則是介紹javascript如何與java這邊互通,就是利用WebChromeClient、WebViewClient與JavaScriptInterface去跟WebKit掛勾。
要注意的地方是安全性的問題,因為javascript可能被竄改,而能存取到 java code裡的資訊。
- Jan 13 Fri 2012 16:16
完全圖解日本戰國武將54人
- Jan 12 Thu 2012 18:20
Android in action - 11
Chapter 11
利用DDMS搭配GPX/KML可以連續性的送出一條路線上的所有座標點,可以模擬行走或開車的情況。
在 onCreate 處理 GPS 可能會花很久時間,範例是寫在 onStart 去處理,所以我應該也要善用。
LocationListener 不要用實作的,改用inner class的方式,LocationManager可以requestLocationUpdate多個listener,所以就可以作不同的處理。requestLocationUpdate時,也可以指定要收到更新的間隔,避免過於頻繁。
MapView 這邊對於 key 的處理還是一樣,你要針對 keystore 去跟 google 註冊 key,可是一般在開發時,會有 emulator/device 上的差異,這時候該怎麼辦呢?我個人後來是乾脆把 keystore 也丟到 repository,統一用一個 keystore。加 Overylay 的方法,這裡是用 Handler 去接訊息,接到才新增,一般中文的書上都是介紹直接在 onCreate 時去作。
第四節是介紹GeoCoder,這個的註解是說 2.2 API level 8 Emulator 裡的 GeoCoder 有問題,所以建議可以改用 2.1 API level 7來作。
- Jan 10 Tue 2012 11:13
Android in action - 13, 14
Chapter 13 - Building Android application in C
原本以為是可以用 C 寫出 GUI 的應用程式,實際上不是,就是教你下載 toolchain,然後寫簡單的application,丟上去執行而已。比較有價值的是教你解決 dynamic linking 的問題,一般在編譯時用 -static 可以避掉這問題,可是這會程式變大。用 dynamic linking 的方法,就是把 /system/lib 的必要檔案拉下來,然後連結的時候,放到一起去連結:
arm-none-linux-gnueabi-ld -entry=main -dynamic-linker /system/bin/linker -nostdlib -rpath /system/lib -rpath-link /android/system/lib -L /android/system/lib -l android_runtime -l c -o hellodynamic hello.o
。有用到特殊的library,就是自己補,像 –l GLES_CM 或是 –l sqlite。然後有提到 static 跟 dynamic 有什麼不一樣,會遇到什麼問題,這裡詳細剖析,說用dynamic linking時,會少一段 crt 的 code,這邊要補上才不會有問題(可以參考http://honeypod.blogspot.com/2007/12/initialize-libc-for-android.html)。章節最後以 daytime server 與 android client 告終。
Chapter 14 - Bluetooth
比我想像中簡單很多。
要列出所有已經pair的裝置,可以先用 BluetoothAdapter.getDefaultAdapter(); 取得 adapter,再從這個 adapter.getBondedDevices()取得裝置列表。
取得device以後,就會有socket可以用,用socket就可以跟其他的bluetooth裝置溝通。
要監控Bluetooth狀態,可以用BroadcastReceiver,收到Intent時,判斷android.bluetooth.device.action.ACL_CONNECTED跟android.bluetooth.device.action.ACL_DISCONNECTED就可以監控連線或斷線。
權限記得要開android.permission.BLUETOOTH。
這章後面的範例就是再搭配sensor偵測你手機的手勢,然後透過bluetooth去控制機器人,蠻有趣的。
- Jan 03 Tue 2012 15:34
涼宮春日的消失
- Jan 01 Sun 2012 07:15
新創企業之國
- Jan 01 Sun 2012 07:13
漫步華爾街
閱畢日期:2011/12/31
前半部很有意思,基本上是破解,講解目前市場上各種原理為什麼不可靠,也不一定保證能賺到錢的原因。因為,這些方法都是看過去的資料來預測未來,而未來是不可預測的。即便某些方法可以在某段期間有效,但無法保證一直有效。看公司的話,投資人不一定能看到公司內第一手的資訊,所以你只能從公司所發佈的訊息來判斷未來是不是會這樣走。
後半部則是提供一些建議,讓我們作為參考,以下是節錄。
個人理財的十項演練:
- 採取保護措施,先保護好自己以及預留活命的資產
- 釐清投資目標
- 儘可能節稅
- 保持競爭力,讓手上的現今收益跟的上通膨
- 了解債券:值得考慮的幾種債券有,無息債券、債券共同基金、免稅公債與公債基金。
- 投資由自宅開始:租賃使投資肌肉鬆軟
- 房地產投資信託
- 投資黃金與蒐藏品宜謹慎
- 手續費低者為佳
- 分散投資
普通股的長期報酬=原始股利收益+股利成長率
不要靠照後鏡投資,意即過去的好成績不代表未來的好成績。
合理配置資產組合前的4個原則:
- 歷史告訴我們風險和報酬相關
- 投資於股票和債券上的風險得視持有期間的長短而定,投資人的持有期間愈長,風險愈低
- 平均成本投資法可以更進一步降低投資股票和債券的風險
- 明白對風險的心態與承受風險能力之間的區隔。(能負擔的風險要視你的整體狀況而定)
三項通則幫助你建立適合你自己的投資計劃:
- 特殊的資金需求需有特定的資產支應
- 了解對風險的忍受程度
- 持續規律的儲蓄,即使小金額也有效果
不依賴投資工具,自行投資的規則:
- 只購買至少能維持5年「盈餘成長超過平均」的股票
- 不要買股價高於合理真實價值的股票
- 購買有故事題材的股票
- 進可能減少進出以減少管理成本的損耗。
- Dec 26 Mon 2011 14:59
如何設計好網站
閱畢日期:2011/12/24
很輕鬆就能看完的一本書,看完大致上會對於網站該長什麼樣子跟如何測試有一定程度的了解。
後車廂測試,隨便選網站上的一頁,拉遠,然後儘快找出與圈出下列項目:
- 網站名稱
- 網頁名稱
- 分區與子分區
- 局部導覽列
- 「你在這裡」的標示
- 搜尋
當看到新網站時,首頁要能立即回答下列幾個問題:
- 這是什麼網站?
- 我在這裡可以做什麼?
- 網站上有什麼?
- 我為什麼要來這裡,而不去其他地方?
傳達訊息準則:
- 使用愈多空間愈好:明顯的副標、明顯但簡要的歡迎詞、媒體轉述...
- 但不要浪費過多的空間
- 不要在歡迎詞中加上使命描述
建議書單:
- 資訊架構學
- Why we buy
- Source of power: How people make decisiions.
- The practice of Creativity
- http://www.useit.com
- http://www.nngroup.com
- Homepage Usability: 50 websites deconstructed.
- Web application design handbook: Best practice for web-based software.
- Defensive design for the web
- The design of Everyday things.
- A practical guide to usability testing
- http://www.formsthatwork.com
- Usability news http://psychology.wichita.edu/surl
- http://webword.com
- http://www.usabilityviews.com
要買書可以到博客來網路書局
- Dec 22 Thu 2011 14:54
涼宮春日的煩悶
- Dec 19 Mon 2011 10:39
豐臣公主
閱畢日期:2011/12/18
就整體來說,故事相當的好看,對每個人性格、行為上的描述非常傳神。書的故事是從會計檢查院的檢察官松平、鳥居與旭去大阪檢查開始,他們發現了OJO這個奇怪的組織。追查的過程裡交雜著真田大輔的遭遇,然後因為誤會,而發出了大阪國的召集令。大阪國的男人被召喚出來,集合在大阪城,證明了這件事情。最後以莫名其妙的,松平宣佈OJO是合理的使用國家的費用而作終,一切都是旭的私心與高層想要裁掉此預算的陰謀。
只是,曝光而導致大阪國消失的這個事情也太過於牽強。故事雖然好看,但是有點失望了,並不是因為日本戰國的人物不熟悉,託以前五專同學跟「信長的野望」的福,這些人我還蠻熟的,我想應該是書評寫的太過好看吧。個人對於真田大輔的遭遇深表同情,為什麼作者會特別寫他?我想並不只是因為跟茶子的關係,應該是作者也支持自由表達性向的這件事情吧。
要買書可以到博客來
- Dec 15 Thu 2011 18:13
松本行弘的程式世界
閱畢日期:2011/12/11
跟思考術一點關係都沒有。不過這是一本很適合拿來當作從入門到進階的一本講計算機概論書,從演進、技法、其他語言的介紹、平行化、日期、浮點數...等等的,都介紹了一遍,真的很棒。我也因此學到許多Ruby與其他語言的東西、浮點數為什麼會有誤差...等等的事情。
=====
Python 內部編碼是 utf-16還是 utf-32 ??
Ruby1.9 的 regular expression engine是鬼車。
公開金鑰加密,指的是擁有「用公開金鑰加密的字串只能用秘密金鑰解密,反之以秘密金鑰加密的資料只能以公開金鑰解密」這種性質的加密方式。
浮點數不存在結合律,因為誤差會加大。
浮點數要比差異是否夠小。
這都是因為使用二進位表示小數的關係。
RubyInLine可以在Ruby嵌入C語言。
效能調校要點:
- 透過測定,找到瓶頸
- 減少物件數量
- 減少呼叫方法的次數。
- 避免以Ruby實作的方法
- 盡量利用立即值
- 以C改寫瓶頸部份
- 以空間交換時間
REXML:Ruby內建的XML,以Ruby實作,所以較慢。
YAML, XML, JSON, Protocol Buffer, Thrift 等等的純文字交換格式都很不錯。
文字的保存,作者和我有一樣的感受,純文字才是王道。
Functional Programming language:Lisp/Haskell/OCaml/Erlang
在工作上應用「語言」的四個階段:
- 作為興趣學習
- 作為個人工具
- 作為工作支援工具
- 作為商用程式
eRuby (erb/eruby:erb以ruby實作,eruby以C實作)
GC演算法:
- 引用次數計算法:缺點是循環引用,不利於平行處理
- 標記清除法:物件數量多時,容易慢
- 標記壓縮法:複製需要成本
- 複製法
- Generational GC
- Conservative GC
- 遞增GC:適用於embedded,如IO、Lua
- 平行GC:Hotspot JVM
推薦書:
- Ruby DSL for programmers
- Code generation in Action
- http://www.vanderburg.org/Speaking/
要買書可以到博客來書店。
- Dec 12 Mon 2011 09:55
再一次相遇
閱畢日期:2011/12/10
其實這本書不是小說,是九把刀在拍電影後把拍片時的一些點點滴滴紀錄起來的文章,有很大一部份(約70%左右)都可以在他的blog裡找到。前一陣子,我已經都在他blog上看過了,這本書裡珍貴的是照片(尤其是妍希女神的照片)跟隨附的DVD。
我可是每一頁都翻過了,就差DVD沒看,因為我覺得太費時間。書才借了兩節課就拿去還,圖書館的工讀妹還問我說,「是不是不好看啊?」我回答:「很好看,我真的翻完了。」
網址在這裡:愛嗑電影的九把刀系列文章,對了,九把刀搬去痞客邦了,痞客邦那邊也有放的樣子。