Friday, December 10, 2010

止痛藥 (Pain Reliever in US)


昨天找了找紓解牙痛的止痛藥, 在網路上搜尋了一下資料, 研究一下才發現各式偏方和道聽塗說的說法滿天飛, 害得我要查很多資料才釐清楚甚麼藥甚麼成分, 有甚麼功效之類的。


小小的結論如下...

Over-the-counter (OTC) (不用處方的)止痛藥大致上有兩類:

1. Acetaminophen (對乙醯氨基酚) [1], 常見的有

    a. Tylenol (泰諾) [2]
    b. Panadol (普拿疼) [3]

2. Nonsteroidal anti-inflammatory drugs [4] (NSAID, 非類固醇消炎鎮痛藥), 常見的有成分有
    a. Aspirin (阿斯匹靈) [5] - Bayer, St. Joseph
    b. Naproxen - Aleve (長效) [6]
    c. Ibuprofen - Advil, Motrin, Nurofen (短效) [7]

Acetaminophen和NSAID都有鎮熱解痛的功效, 兩者功效最大的差別在於NSAID藥物還可以有抗炎的功效。

因此,如果曉得疼痛原因不是來自於發炎的話,Acetaminophen和NSAID的藥物效果是相當的,若疼痛原因來自於發炎,則使用NSAID來得效果好些 (e.g., 因為蛀牙發炎產生的疼痛)。

Acetaminophen和NSAID鎮痛解熱的原理也很不一樣,Acetaminophen改變腦袋瓜對於疼痛的感受 (比如說提高感覺疼痛的門檻)來達到止痛的效果。而NSAID則是減低體內一種叫做Prostaglandin的物質的數量。這種像是賀爾蒙的物質其中一項功用就是去干擾脊髓神經讓你身體感到疼痛。

不過這兩類Over-the-counter (OTC)藥物,雖然可以直接在藥局購買,使用前還是要注意是不是有藥物過敏史或是特殊體質之類的情況 [9]。

最後最重要的觀念是,止痛藥還是僅僅只有治標的功效,要治本還是得乖乖去看醫生低~~~

不過,了解這些之後,以後在藥局找藥的時候就比較不會覺得霧煞煞啦!


P.S. 有錯誤請指正~~~乾蝦


Monday, December 6, 2010

如何閱讀學術論文 - 選擇要閱讀的論文 (Deciding what to read)


在這個資訊爆炸的年代,很多研究領域的論文數量每一年都以極快的速度在增加,想要閱讀所有的論文幾乎是不可能的任務,所以我認為學習如何選擇要閱讀的論文,有時候和閱讀論文本身同等重要。

選擇是否閱讀某篇論文,有三項基本的要素:

1. 論文的公信力

2. 與研究題目的相關性

3. 研究領域的動態 


論文的公信力

在面對龐大的論文海時,常常不知道該從何下手,此時一篇論文的公信力對於判斷論文好壞是非常有用的指標,而一篇論文是否具有公信力,大致上可以從下面三個層面來觀察:

A. 論文作者及機構

論文的主要作者是誰傳達了很多重要的訊息,我常看到很多人會忽略論文作者的重要性覺得可惜。這些訊息包含了論文的品質、看待研究問題的哲學、研究的題目、和熟悉及常使用的方法等等。論文中的作者排序同樣也有很多訊息,比如說,誰是誰的博士班學生和博士後、論文是那位學生實習時的作品、博士論文的精華、那些人正同在一個大計畫裡。

這一些隱藏在作者名字背後的訊息提供了非常有用的資訊,來幫助你/妳選擇要閱讀的論文。舉例來說,我在心裡有一份口袋名單,時常會到作者的網頁看看有沒有新的作品,由此對於研究領域脈動的掌握更加即時。當你/妳看到一篇論文新發表在某某期刊時,其實那可能是兩、三年前的想法了,這中間已經不曉得又經過了多少演進。 而有些我覺得很好的研究學者,甚至只要有新的作品,不管題目是甚麼我都會閱讀,因為每一篇作品都表現了這些優秀的研究學者對於此領域的發展看法和願景。 

而了解這些學者間的師承關係 [1],除了茶餘飯後八卦說說嘴之外,其實可以從中得知很多關於研究相關的資訊。同一實驗室往往有類似的研究風格、常使用的數學解題工具等等。有時候一看到論文標題和實驗室的名字大概就可以猜到他們的作法。自己的經驗是這些背景知識對於理解一篇論文有很大的幫助。

至於領域中那些作者是值得注意的,如果指導老師對於領域的發展很有概念,學生很快就可以掌握到名單。沒辦法仰賴指導老師的話,可以自己學著從論文閱讀中去評判論文的品質 (從論文本身的貢獻、引用次數、別人引用這篇文章時介紹的口氣
等等),慢慢地瞭解該領域的指標人物是那幾位。注意這些優秀研究學者不見得擁有很高的職位頭銜,或一定是資深的大老級教授,有時候可能只是一位正在唸博士班的學生。

B. 發表期刊、會議

第二點為論文發表的地方,也是新手最容易大略判斷論文品質的方法。每一個領域往往都會有公認的最好的論文發表期刊或是會議。這些期刊和會議論文長年經營下來對於審核論文都有一定的水準,所以比較不容易遇到品質不佳的論文。關於個別領域中的公認的優良期刊和會議,可以請教指導老師或是有經驗的學長姐,或是藉由期刊影響力指標(impact factor)或是會議的排名來做判斷 [2]。要注意的是期刊的影響力指標因領域而異,比如說,將工程領域的期刊與生物、醫學相關的領域做比較是相當不公平的。同樣的情況會也發生在會議排名上,每個人對於會議的好壞看法不見得一致,所以不用太拘泥於別人做好的排名,在某個領域論文閱讀較廣泛之後自己慢慢會對某些期刊和會議論文有較正確的評價。

當然論文的發表處並不是唯一判斷論文好壞的因素,頂尖的期刊或會議同樣會有品質不佳的論文出現,而沒那麼有名的期刊或會議也有可能有能啟發你/妳的好論文,沒有絕對的好壞。有時候甚至是頂尖的研究學者也不見得會將他的作品發表到最有名望的期刊,其中有很多非學術上的考量。舉例來說,當你的研究主要競爭對手掌握某些知名期刊的主要編輯時,把重要作品往這些期刊投稿時,很有可能會因為對方私心考量而扣住你的論文成果。所以真正判斷一篇論文的好壞主要還是得看論文的內容。


C. 論文的完整性

除了藉由了解論文作者和期刊/會議長久建立下來的名望之外,第三點,即是觀察論文本身的完整性,在科學與工程領域中,可重複性(Reproducibility)是非常重要的觀念。在理論科學中,論文中標準而嚴謹的證明即可提供讀者在觀念上的驗證。在實驗科學中,實驗的可重複性便相當重要,一篇完整的論文必須提供足夠多的細節讓其他研究團隊可以在相同的條件下重複該實驗結果。不少在生物醫學界的論文偽造數據遭到撤銷,都是因為沒有任何團隊可以重複原先的實驗結果而遭到舉發。

因此,第三項觀察論文的公信力的指標即是論文的Reproducibility,在閱讀論文之前,可以先了解該篇論文是否願意提供相關的測試資料和處理程序 (e.g., 詳細的實驗步驟、足夠的細節、環境設定或是程式碼等等),由此判斷論文的公信力。


與研究題目的相關性

在拿起一篇研究論文閱讀之前,請先問自己兩個問題:

第一、 你/妳為什麼要閱讀這篇論文?
第二、 你/妳預期從藉由閱讀這篇論文的過程中得到些甚麼?

了解這兩點可以幫助自己很快地找到正確的論文和該閱讀的段落,因此釐清自己閱讀論文的動機是相當重要的,否則很容易會發生明明已經讀過很多論文了,但是對於手上的研究題目仍然是沒進展的情況。

一般來說,從閱讀一篇論文的過程中,可能可以從中學習到的東西有

A. 認識領域中的某個未解決題目

當你/妳初次接觸一個研究題目時,第一步並不是找一篇最複雜效果宣稱最好的論文硬K,生硬地去試著了解實作細節等等。如果只是個課程實作專題則另當別論,但是若是研究,這樣的做法很容易就陷入見數不見林的窘境。我的建議是先應該先好好地問一下幾個問題?

為什麼這是個重要的問題?
為什麼這個問題困難? 難在哪裡?
問題的設定是甚麼? 輸入和輸出分別是甚麼?
要認識新題目,首先可以搜尋有沒有相關的Tutorial、short course、甚或是video lecture [3]:

搜尋關鍵字:BlahBlahBlah + tutorial/lecture/video/introduction/wiki

這些豐富的學術資源可以提供你/妳對於一個新題目概略的知識,有了high-level的概念之後,再繼續專研比較不容易迷失。

B. 熟悉某個題目的相關論文作品

明白了某個題目的重要性、設定、和困難性之後,下一步可能會希望熟悉該題目相關的論文作品,了解之前的人是怎麼處理這個問題。

這時候需要閱讀的論文屬於比較survey性質,可以找找看是否有相關的回顧文獻。

搜尋關鍵字:BlahBlahBlah + survey/review/introduction/

C. 學習某個特定方法和實作細節

有時候我們想要了解的並不是一篇完整的內容,而僅僅只是論文中使用到的某個數學工具或方法。這種情況下,最簡單直接的方式就是翻教科書相關章節,尤其是一些已經被廣泛討論且理解的方法(e.g., Principle Component Analysis)。如此一來可以避免掉閱讀論文時因為缺乏足夠細節而較難理解的問題。

搜尋關鍵字:BlahBlahBlah + Tutorial/introduction/wiki

D. 學習常用的實驗設定
通常在做科學實驗和工程驗證時,往往會遵循既有的實驗方法來實現,比如說,做影像資料壓縮方面的研究論文絕大部分都會秀PSNR/Bit-Rate的圖,做偵測相關研究的得給precision-recall curve,做識別研究的通常都會給準確率和Confusion matrix等等,還有特定題目往往有不同的好壞評量標準,了解這些實驗設定才能使得讀者對你/妳和前人的研究有個比較的基準。

搜尋關鍵字: BlahBlahBlah + experiment/setting/parameter/evaluation/quantitative/qualitative

E. 了解已有方法所能達到的效果
搜尋關鍵字: BlahBlahBlah + suvery/review/benchmark/qualitative/study

F. 藉由聯想找到可以延伸研究方向
這個動機就沒有特定適合的相關論文,透過廣泛的跨領域閱讀,總是可以獲得更多啟發。

搜尋關鍵字: BlahBlahBlah

研究領域的動態
在一些較熱門的研究領域,隨時了解研究領域的動態是很重要的,這部分可以藉由訂閱網路上的關於學術的新聞頻道,了解到現在大家正關心的研究題目或是有那位知名的學者在做回顧性的演講,才不容易跟領域的脈動脫節。 

這裡所謂研究新聞頻道並不是像一般的社會新聞一樣有個統一的版面,每個領域都會有各式各樣不同的管道。

舉例來說,如果你/妳是數學系的學生,學習分析相關的領域,那麼關於這領域的研究進展可以訂閱Terence Tao的What's new 部落格,還有他的Google Buzz feed。大約每隔一兩天就會有新的長篇文章 (我都不曉得他那裡來這麼多美國時間 = =)

另外像是幾個月前數學界熱烈討論的P<>NP的問題,主要的討論區也在一位教授Dick Lipton的Gödel’s Lost Letter and P=NP 部落格上,頂尖的數學家們如Timothy Gowers, Ken Regan, Gil Kalai, Terence Tao, Suresh Venkatasubramanian都在這個平台上即時地討論,而不是透過正式的論文發表和評論,所以了解這種管道對於掌握研究進展有很幫助。

而數學界比較傳統一些的新聞管道則是藉由網站上的Preprint來獲得,比如說 arXiv 和  Front for the arXiv
再舉訊號處理界現在最熱門的題目Compressive sensing為例,資訊的集散地在Nuit Blanche這個部落格,你可以藉由電子郵件訂閱來取得這個題目最新的研究進展。

在影像處理、電腦視覺、醫學影像這些領域,你/妳可以訂閱Imageworld文摘,從中不只可以得知該領域哪些會議在徵求論文,還可以知道哪裡有相關的實習工作機會或是Ph.D.獎學金。除了被動接受資訊外,也可以主動和這個Community互動,比如說之前和朋友合作的Computer Vision Genealogy Project 就是藉由這個管道通知全世界的研究學者。

如果你/妳對於你/妳所在的研究領域有足夠的了解,就會曉得那幾間實驗室是重點實驗室,時常會邀請知名學者去演講領域上新的突破或是回顧,這些都是非常值得了解的資訊。舉我自己所在的資訊領域(電腦視覺)為例,我加入了兩份Mailing list。第一份是MIT CSAIL的研討會通告,另一份則是UC Berkely的computer vision mailing list。從MIT CSAIL的研討會通告常常可以得知資訊領域上的重大進展,剛畢業的Ph.D.的博士論文題目,看到有興趣的演講再去作者的網頁找相關資源進行了解。而UC Berkely的computer vision mailing list則可以提供電腦視覺最新的研究進展 (因為如果有學者有夠好的研究成果,通常會被邀請到該實驗室演講)。

上面這些新聞管道,大部分都可以藉由電子郵件來訂閱,也就是每當一有更新時,你/妳只需要看看信就可以了,不用到各網站跑來跑去。不管是哪一種新聞管道,都比最傳統的紙本期刊訂閱快將近1-3年 (依各領域不同)。

至於如何掌握自己領域的動態,這部分就要請教自己的指導老師或是經驗豐富的學長姐。
[1] Academic genealogy
[2] Journal impact and conference ranking
Thomson Reuters (ISI) Web of Knowledge
[3] Videolecture是一個蒐集學術演講的網站,裡頭的分類非常完整,內容有許多學術會議、專題演講、博士班口試演講、Tutorial介紹等等。非常推薦。

培根蛋餅教我的事


前些日子買了些蛋餅皮想做份蛋餅來當早餐,於是到附近超市買好了雞蛋跟培根,準備來做自己最喜歡吃的培根蛋餅。
隔天一早費了一番功夫從溫暖的被窩掙脫出來,幾番折騰之後,睡眼惺忪地站在廚房瓦斯爐前把餅皮、培根、和蛋排排放好之後,此時我才發現一件驚人的事實

我不會做蛋餅 Orz…



於是開始閉上原本就睜不太開的眼睛回想以前早餐店是怎麼做培根蛋餅的,印象中是將打好的蛋、餅皮和培根同時放到鐵板上,之後將餅皮蓋到蛋上,翻面之後把煎好的培根放上去,捲好蛋餅皮就大功告成了。
可是問題來了,家裡眼前只有一個平底鍋,所以料理三份原料勢必要決定好處理的先後順序。也就是,當資源不夠充足時,就必須面臨實際的Scheduling問題, i.e., 怎麼樣設計資源(e.g., 平底鍋)的使用時間和先後順序才能有效率地做好蛋餅。

就眼前的這份培根蛋餅來說,原料有三種
A. 雞蛋
B. 餅皮
C. 培根


而一份成功的(i.e., 可以吃的…)培根蛋餅需要完成下面幾項動作
1. A煎好第一面
2. A煎好第二面
3. B煎好第一面
4. B煎好第二面
5. 煎好C
6. C切成適當大小
7. 將三份原料以B-A-C的順序排好
8. 捲成蛋餅


這時才明白其實表面看起來如此單純的料理並不是件簡單的事情。(不只是難,而且還是NP-Hard的難!)

如果一個由不會做蛋餅的傻蛋阿宅(e.g., …)來胡亂嘗試的話,上面八個動作就有2^8 = 256種可能的排列,每天嘗試一種做法得要花上八九個月才能找到最好的排列。

當然沒有人願意接受這麼笨的做法,簡化這個問題最簡單的方法就是把動作做分類,比如說,依照原料分的話,可以只剩三個處理動作
1. 處理A
2. 處理B
3. 處理C

然而在這樣的設定下,仍然有六種排列選擇,分析一下六種做法可能產生的結果


1. A-B-C


首先煎蛋,將蛋兩面煎好後放在一旁,之後加熱餅皮,最後煎培根,切好培根之後,再嘗試著將三份處理好的原料包成蛋餅。   


2. A-C-B


做法跟上面類似,一樣是將三種原料處理好之後,最後再一次包成蛋餅。


3. B-C-A


先將餅皮兩面加熱,加熱完放到旁邊,之後處理培根,培根煎好之後最後才煎蛋。


4. B-A-C


先將餅皮兩面加熱,但是跟3一樣,必須將餅皮移開平底鍋才有辦法處理雞蛋,而處理完蛋之後,一定得要將煎好的蛋擺到一旁才有辦法煎培根。


上面這四種做法即是最簡單的(但是沒效率的)scheduling,在只有一個平底鍋的情況下,把原本平行處理的事情直接改成序列處理,過程中三個處理動作沒有辦法彼此部分重疊 (在計算機結構裡就是所謂的泡泡),拖長了整體處理的時間。另一個缺點則是必須要準備許多額外的盤子來裝煎好的蛋、蛋餅、培根等等 (i.e., 需要比較多的空間,類比電腦術語的話就是吃很多記憶體的意思)


總之,如果沒有仔細想好處理順序,早餐不但會弄得手忙腳亂,最後還要多洗很多不必要的碗盤總是令人不爽的 XD

這麼看起來,首先處理培根似乎是個不錯的選擇,可以先將培根煎好後,移到一旁切成適當大小,之後再擺放到已經處理好的蛋和餅皮上。此時的選擇只剩下先處理蛋還是處理餅皮?也就是56的選擇:
5. C-B-A
6. C-A-B

很明顯地,先處理餅皮的話,會使得接下來煎蛋產生困難(如果餅皮不離開平底鍋),在這個情況下,若要讓蛋的一面煎熟的話,餅皮則會加熱太久而太硬 (因為蛋隔著餅皮煎需要比較長的時間)

但如果依照C-A-B的順序就沒有這個問題,將蛋放到平底鍋煎之後,馬上就可以直接蓋上餅皮,讓蛋還沒熟的那一面可以附著在餅皮上,煎好蛋的其中一面後,就可以連同餅皮一塊兒翻面,同時煎餅皮和蛋的另一面,此時,便可以將一旁切好的培根放上去,等餅皮熱好之後就可以直接在平底鍋上捲成蛋餅。

這個做法依照上面細分的動作來說明便是
5 – 6 – 1 – 3 – 2 – 4 – 7 -8

這個做法不但處理速度快很多,對於資源也比較節省(e.g., 培根煎完出油使得煎蛋時不需要太多額外的油,或是平底鍋的熱量同時可以拿來加熱蛋跟餅皮),同時也不需要額外的碗盤來放處理中的餅皮和蛋。

呼~想了這麼多,才找到了一個滿意的蛋餅做法。可喜可賀!

好吧,會這麼宅我想大概是因為最近Big Bang Theory看太多的關係吧 XDDD