2018年7月29日 星期日

然後你就死了:被隕石擊中、被鯨魚吃掉、被磁鐵吸住等45種離奇死法的科學詳解


書名很有無釐頭風格,但是十足地名符其實。作者用一篇篇有趣的各種死因命題,慢慢帶出各式各樣的科學知識。我一樣是被一篇「睡不著會怎樣?」的網路文章所吸引,發現這本幽默感滿點卻又讓人學到不少有用人體小知識的書。

在各式各樣的死因文章中,可以發現作者對外太空死法比較有偏好。書中出現過數次以上的人體電漿化(笑) 。雖然那些情境百分百不可能發生在你我身上,但也令人欽佩作者居然能找到這麼多推論用的科學立論來描述這些胡思亂想。從書中看到的人體組織結構的小常識,或多或少能解答一些我們曾經困惑但沒去用心找解答的問題。

像是小朋友為何跌倒不會怎麼樣,但大人跌倒卻會出人命。(參考:踩到香蕉皮滑倒會怎樣?)在掉落的電梯中觸地的最後一刻跳起來,能不能避免受傷。(參考:電梯纜線斷了會怎樣?)常見的人體排毒說法,真的確有其事嗎?毒素又是從何而來?(參考:睡不著會怎樣?)上述只是舉一兩個有趣的案例,整本書中充斥著相當有用的生物學知識,當然是覆蓋在作者略帶黑色幽默的文筆之下。

總得來說,這本書的風格非常像是「空想科學讀本」。但卻不會有「空想系列」後期太多數字描述令人感覺疲勞的敗筆。另外「空想系列」畢竟是著重於動畫卡通的科學知識討論,在實用性上也差了此書一節。推薦給每天有個幾分鐘空閒,想要閱讀風趣文字但又能學到新知的人。

2018年7月28日 星期六

大數據分析與應用-使用Hadoop與Spark


「天大、地大、台科大」果真名不虛傳!這本講述如何運用Spark平台做大數據分析與機器學習的書,可能是台科大圖書出版來當做教材的。如果能按步就班地把整本書學習完,學生在大數據與機器學習上的實作能力會有相當的水準。台科大果真是曖曖內含光。

話說回來,這兩三年都在弄大數據應用,因此相關的書買了不少也讀了不少。這本書被選中的理由是第九章的「大數據分析應用基礎」中,有一些之前沒看過的程式技巧令我感到興趣。諸如用Map/Reduce寫出「矩陣相乘」的答案、購物籃分析中常見的「頻繁項分析」、搜尋引擎中的「文件資料反向排序」。特別是「相似度計算」小節,正是我先前一直想找到的實作範例,內容十足珍貴。至於「One-hot編碼」部份因為在讀書會研讀的另一本書中已經講述了更有效率的做法,書中內容就略嫌簡單不好用了。

原本打算閱讀這本書時,同時把Scala語言做個深度的練習,因為恰好整本書都是用Scala當範例。不過看到後半段時發現自己已經太習慣用PySpark來撰寫大數據分析程式,有點受不了需要編譯過才能執行的Scala開發手順。後來就把所有後面章節裡的範例,全部改寫成Python語言版本的程式碼。結果整本看完了Scala還是不熟...

如果以要學習如何在Spark平台上做大數據分析與機器學習,這本書真的值得好好閱讀,不愧是台科大的教材。但其中還是有一點令人感到遺憾的,書中的內容有一部份是和林大貴出的「Hadoop+Spark大數據巨量分析與機器學習整合開發實戰」雷同。如果兩本書都有買的人,就會覺得這本書要去頭去尾抓中間了。