:::

如何讓PDF文件歪斜轉正?使用Acrobat Pro的編輯PDF工具 / How to Deskew and Straighten a Scanned PDF in Acrobat Pro

如何讓PDF文件歪斜轉正?使用Acrobat Pro的編輯PDF工具 / How to Deskew and Straighten a Scanned PDF in Acrobat Pro

image

在數位化的時代裡面,現在很多文件都是以PDF的方式保存。以往數位典藏盛行的時代,許多PDF並非是原生的電子文件,而大多是由列印或影音下來的紙本掃描而成。而掃描的文本最常見的問題就是偏斜、不正,這會造成電腦與平板閱讀的時候有很多問題。這篇我介紹使用Adobe Acrobat Pro來將掃描文件以OCR技術使之變成可選取的文字,再以編輯EDIT功能將歪斜的文字校正至垂直。做法很簡單,我想應該很多人會需要這樣的技術,在這裡整理一下這整套做法。

(more...)

彙整中文與英文的詞性標註代號:結巴斷詞器與FastTag / Identify the Part of Speech in Chinese and English

彙整中文與英文的詞性標註代號:結巴斷詞器與FastTag / Identify the Part of Speech in Chinese and English

image

(圖片來源:e-Tutorial World)

文本分析時常會用到詞性(Part of Speech,簡稱POS)作為判斷依據。現在流行的中文斷詞器結巴(Jieba)具備詞性判斷的功能,這篇將整理56種詞性標記代號的意義,並加上標點符號的自訂詞典以補足結巴無法辨識標點符號的問題。此外,結巴僅會將英文詞性標示為「eng」,這難以用在中英混雜的文本中。因此我又另外找了Node.js上的pos函式庫,這是基於Mark Waston的FastTag詞性標註演算法,能夠為英文字分辨出45種不同的詞性。

(more...)

白箱或黑箱:如何依照場合選擇機器學習模型? / White box or black box: choosing a machine learning model for your application

布丁布丁吃布丁

白箱或黑箱:如何依照場合選擇機器學習模型? / White box or black box: choosing a machine learning model for your application

image

我之前的幾篇文章中一直提到資料探勘(機器學習)中黑箱演算法與白箱演算法的概念。黑箱演算法正確率高、但產生的模型難以解釋;白箱演算法能夠產生容易理解的模型,但正確率可能不高。最近在看Vidyadhar Ranade在2017年4月所寫的「White box or black box: choosing a machine learning model for your application」,覺得他對黑箱與白箱的見解頗有道理。因此試著將內容翻譯出來,讓大家對機器學習演算法中黑箱與白箱的特性有更深刻的認識。

(more...)

M5P:預測非線性連續資料的樹狀迴歸演算法 / M5P: Trees with Linear Models in Weka

布丁布丁吃布丁

M5P:預測非線性連續資料的樹狀迴歸演算法 / M5P: Trees with Linear Models in Weka

image

M5P樹狀迴歸演算法Weka內建的一種迴歸演算法。它可根據資料的分佈建立多種迴歸模型,依據輸入資料的不同來決定適用的迴歸模型。比起傳統的線性迴歸,M5P能夠準確預測非線性的資料,而且規則與迴歸模型容易解讀。相較於類神經網路支持向量機等黑箱演算法,白箱演算法的M5P更容易用於研究結果的解釋上。

(more...)

CSV to SQL Table:將CSV試算表加入到關聯式資料庫 / Import CSV File into a Database Table

CSV to SQL Table:將CSV試算表加入到關聯式資料庫 / Import CSV File into a Database Table

image

這是一個將CSV格式資料轉換成關聯式資料庫插入表格與資料SQL語法的網頁工具。可適用於SQLitePostgreSQLMySQL等關聯式資料庫。傳統做研究時比較常用Excel、SPSS等試算表資料,但其實加入到資料庫之後,就能更容易跟其他資料交互比對、分析,也能用資料庫內建的聚合函數(aggregate functions)計算平均數、標準差等統計常用的資料中心與離度,讓資料分析更容易處理喔。

(more...)

Word專業文件排版課程目錄 / Microsoft Word 2013 Tutorial: Table of Contents

Word專業文件排版課程目錄 / Microsoft Word 2013 Tutorial: Table of Contents

image

這是Word專業文件排版課程的總目錄。Word專業文件排版是2015年我在國立空中大學第四個學期教授的課程。我將九堂面授課程的內容整理成7個單元,放到Blog供大家參考。本課程是以Microsoft Word 2013為主,教授範圍從基本的介面操作、各種功能的使用,到長文件的排版與列印。特別是後半部長文件的相關單元,特別推薦需要寫報告、論文的同學參考。

(more...)

Word長文件中的列印、分隔設定與範本 / Long Documents Layout: Print, Layout, Header and Templates in Microsoft Word

Word長文件中的列印、分隔設定與範本 / Long Documents Layout: Print, Layout, Header and Templates in Microsoft Word

image

這是Word專業文件排版課程的投影片「Word長文件中的列印、分隔設定與範本」。本單元的主題為列印與相關版面的配置,特別是分隔設定跟頁首頁尾,最後還介紹了範本的使用。本單元的投影片還搭配2個相關教材,供同學一邊學習一邊練習。

(more...)

Word長文件中的樣式、目錄與封面 / Long Documents Editing: Style, Table of Contents, and Cover in Microsoft Word

Word長文件中的樣式、目錄與封面 / Long Documents Editing: Style, Table of Contents, and Cover in Microsoft Word

image

這是Word專業文件排版課程的投影片「Word長文件的樣式、目錄與封面」。本單元的主題繼續講述長文件的各種技巧,包括樣式、目錄、佈景主題與封面頁。本單元的投影片還搭配2個相關教材,供同學一邊學習一邊練習。

(more...)

Word長文件中的SmartArt與表格 / Long Documents Writing: Smart Ard and Table in Microsoft Word

Word長文件中的SmartArt與表格 / Long Documents Writing: Smart Ard and Table in Microsoft Word

image

這是Word專業文件排版課程的投影片「Word長文件中的SmartArt與表格」。本單元的主題著重在長文件,以及長文件時常會用到Smart Art跟表格。最後還補充注音字型的使用。本單元的投影片還搭配5個相關教材,供同學一邊學習一邊練習。

(more...)

Word的快取圖案與Smart Art / AutoShapes (Drawing) and Smart Art in Microsoft Word

Word的快取圖案與Smart Art / AutoShapes (Drawing) and Smart Art in Microsoft Word

image

這是Word專業文件排版課程的投影片「Word的快取圖案與Smart Art」。本單元的主題包含了兩個大部分。第一個部分是用快取圖案來畫聖誕節賀卡,第二個部分則是學習用快取圖案跟Smart Art來畫組織圖。本單元的投影片還搭配4個相關教材,供同學一邊學習一邊練習。

(more...)

Word的框線、亞洲文字配置與圖片編輯 / Border, Asian Text Layout and Image Editing in Microsoft Word

Word的框線、亞洲文字配置與圖片編輯 / Border, Asian Text Layout and Image Editing in Microsoft Word

image

這是Word專業文件排版課程的投影片「Word的框線、亞洲文字配置與圖片」。本單元的主題包含了框線與網底、亞洲文字配置、圖片與文繞圖、以及螢幕畫面擷取的功能。本單元的投影片還搭配10個相關教材,供同學一邊學習一邊練習。

(more...)

Word的檢視與格式 / View and Format in Microsoft Word

Word的檢視與格式 / View and Format in Microsoft Word

image

這是Word專業文件排版課程的投影片「Word的檢視與格式」。本單元的主題包含了Word的檢視工具與視窗操作、文字格式、段落格式、編號與項目符號清單、框線與網底、亞洲文字配置。本單元延續上次的「Word的操作介面與基本編輯」,講述更多編輯Word文件的基本功能。本單元的投影片還搭配12個相關教材,供同學一邊學習一邊練習。

(more...)

Word的操作介面與基本編輯 / Basic Operation in Microsoft Word

Word的操作介面與基本編輯 / Basic Operation in Microsoft Word

image

這是Word專業文件排版課程的投影片「Word的操作介面與基本編輯 」。本單元是學習Microsoft Word 2013的第一堂課,主要是針對Word的介面做個簡介,教同學怎麼用Word檢視文件,最後還有一些簡單的編輯操作介紹。本單元的投影片還搭配1份教材與1份小試身手測驗,供同學一邊學習一邊練習。

(more...)

文本探勘分析:用Zotero與資料庫進行書目計量與文本探勘的感想 / Text Analysis: Bibliometrics and Text Mining with Zotero and Database

文本探勘分析:用Zotero與資料庫進行書目計量與文本探勘的感想 / Text Analysis: Bibliometrics and Text Mining with Zotero and Database

image

文本探勘的研究要怎麼進行呢?許多文本分析和書目計量學的研究都使用EndNote跟Excel來整理資料,但其實使用免費的Zotero跟資料庫來做書目計量才是最佳的選擇。我想在這篇簡短聊一下我在2016年底所進行的文本探勘研究的處理方式,也許未來還會有機會做類似的研究吧?

(more...)

PHP文內關鍵字索引全文資料庫 / PHP KWIC Database

PHP文內關鍵字索引全文資料庫 / PHP KWIC Database

image

這個PHP KWIC Database是我在進行文本分析研究中的一個產物。文內關鍵字索引(Key Word In Context)的做法是將檢索的關鍵字擺在查詢結果中間,前後呈現該關鍵字的前後文。這不僅只是拿來搜尋具有該關鍵字的文本,還能夠進一步知道該關鍵字在這些文本中的用法。在許多人文研究中,具備引得查詢資料庫是非常重要的研究工具,許多語料庫(corpus)都有提供。可惜的是,現在許多全文檢索系統都沒有實作引得,包括Apache Solr。所以我在2016年年初的研究中順手寫了這個PHP KWIC Database,並將之整理成框架,讓大家能夠簡單地使用Excel整理文本資料後,並利用Convert to SQLite Online將Excel檔案轉換成SQLite資料庫,就能夠並使用PHP KWIC Database來進行檢索與分析。

(more...)

PhoneGap網頁樣板:簡單建立網站APP / PhoenGap Web Template: Wrap a Website as an APP

PhoneGap網頁樣板:簡單建立網站APP / PhoenGap Web Template: Wrap a Website as an APP

image

PhoneGap能夠讓人用HTML5網頁技術來建立一個APP,那如果我本來就有一個支援RWD的網站,例如改版後的「布丁布丁吃什麼?」,那能不能直接用PhoneGap把這個網站包裝成一個APP呢?可以的,我把整個架構設定整理成PhoneGap Web Template,並且保存到GitHub儲存庫中供人使用。這一篇將說明如何將它客製化成屬於你的APP,這樣就能夠讓使用者用APP開啟你的網站了。

(more...)

Voc4Fun 全民樂單字:單字學習行動應用程式 / Voc4Fun: A Mobile APP for Vocabulary Learning

Voc4Fun 全民樂單字:單字學習行動應用程式 / Voc4Fun: A Mobile APP for Vocabulary Learning

image

這是2016年年初我與學弟共同開發的單字學習行動應用程式,名為「Voc4Fun 全民樂單字」。這個應用程式包含了客戶端 voc4fun-client伺服器端 voc4fun-server,全部在GitHub儲存庫保存。該程式的客戶端是以Onsen UI 2開發,並可能夠直接使用Adobe PhoneGap Build來封裝成APP。而伺服器端則是我用RedBeanPHP開發的特製Log型資料庫,以詳細記錄各個行為歷程細節,再用view視圖功能做成普通的資料表。

這篇就為全民樂單字 Voc4Fun的功能做個介紹,記錄我做過的這個單字學習行動應用程式吧。

(more...)

Apache Solr:簡單建立全文搜尋引擎 / Apache Solr: Build a Fulltext Search Engine by Yourself

Apache Solr:簡單建立全文搜尋引擎 / Apache Solr: Build a Fulltext Search Engine by Yourself

image

這是我在2015年政大圖檔所網路資訊檢索研究課程中所講的「Apache Solr全文搜尋引擎」。這份投影片教大家如何從無到有建立搜尋引擎。跟單純的關聯式資料庫(RMDB)不同,全文搜尋引擎是以XML檔案設定文件的欄位,並可提供指定欄位、層面等簡單的搜尋查詢條件,還可以進一步全文搜尋引擎特有的斷詞器、停用字、同義字、大小寫、詞幹切截等過濾器與檢索權重排序的設定。這份投影片附帶一份完整的Apache Solr環境,主要是為了Windows環境佈置。其中有個步驟需要將匯入資料的試算表檔案轉換成適合Solr的格式,我發展了一個試算表轉換成Solr XML格式小工具,以便我們匯入資料到Solr中。

(more...)

如何分析偏好排序問卷? / How to Analyze Ranking Scale Results?

布丁布丁吃布丁

如何分析偏好排序問卷? / How to Analyze Ranking Scale Results?

image

(圖片來源:ROPER)

對圖書館、系統開發與任何提供服務的相關研究來說,研究者會很想知道使用者到底注重或期待的是什麼功能。舉例來說,系統預計開發的六個功能中,請使用者由最期待到最不期待的順序依序排序;圖書館提供的七項服務中,請讀者由最重要到最不重要的順序依序排序。蒐集完這個資料之後,接下來要怎麼分析好呢?大部分的工具僅止於敘述統計,例如平均數計算次數分配表。但其實應該進一步使用Friedman檢定與事後多重比較Bonferroni校正,或是列聯表分析,它們都能在排除隨機性之後找出更令人信服的結果順序。這篇以冰淇淋口味偏好兩種不同調查結果為例,說明排序問卷在SPSS中的分析方法。

(more...)

多組資料的平均數是否有差異?SPSS的單因子變異數分析 / One-way ANOVA in SPSS

布丁布丁吃布丁

多組資料的平均數是否有差異?SPSS的單因子變異數分析 / One-way ANOVA in SPSS

image

如果要比較兩組資料的平均數有沒有差異,可以使用獨立樣本t檢定。但如果是三組以上的資料,那就得要用單因子變異數分析(one-way ANOVA)。雖然該方法名稱中為「變異數」,但實質上比較的卻是平均數,這點很容易讓人混淆。網路上有許多SPSS單因子變異數的教學,但是卻很少搭配事後多重比較一起操作的例子。所以我參考邱皓政老師的「統計原理與分析技術:SPSS中文視窗版操作實務詳析」,在這裡將變異數分析的操作方法整理一下,也連帶介紹如何在SPSS中匯入CSV格式的資料,供大家參考。

(more...)

自動決定最佳化分群數量:X-means / Determin the Optimal Number of Clusters: X-means

自動決定最佳化分群數量:X-means / Determin the Optimal Number of Clusters: X-means

image

能夠自動決定分群數量的演算法,除了層疊K平均分群法之外,Weka裡面還有另一個分群法也能做到類似的目的,那就是X-means。X-means為每個分群結果計算貝氏資訊準則BIC Score,以此決定是否要將資料分成更多群。跟層疊K平均分群法一樣,它可以讓使用者選定分群數量的可能範圍。然而實際使用幾次後,我發現X-means的分群數量偏少,而且原理也不如層疊K平均分群法使用的Calinski-Harabasz指標(CH指標)容易解釋。因此比起X-means,我個人還是比較推薦使用層疊K平均分群法。本投影片的內容參考了X-means原論文[x-means] 1.x-means简介

(more...)

自動決定最佳化分群數量:層疊K平均分群法 / Determin the Optimal Number of Clusters: Cascade K-means

自動決定最佳化分群數量:層疊K平均分群法 / Determin the Optimal Number of Clusters: Cascade K-means

image

在資料探勘課程常教的K平均法雖然好用,但它最大的問題在於,到底該如何決定分群數量K呢?幸好我們還有其他的分群演算法可以選擇。Weka中另一個分群演算法層疊K平均分群法(Cascade K-means)採用建立大量不同分群數量的做法,評估每一次分群結果的Calinski-Harabasz指標(CH指標),找出組內距離最短、組間距離最長的最佳分群數量。我在資料聚類:分群分群與分類的整合應用:無監督分類器都有使用層疊K平均分群法來自動決定分群數量,這篇就讓我們在Weka中使用層疊K平均分群法來進行分群,並使用Weka分群結果分析器來試著解釋分群結果吧。

(more...)

行為分析之對數線性模式 / Log-Linear Sequential Analysis

行為分析之對數線性模式 / Log-Linear Sequential Analysis

image

這是繼行為分析之時間序列分析之後,對於分析超過二序列之上更長序列的分析方法對數線性模式(Log-linear model)的介紹。一開始是基於Bakeman與Quera在書中介紹的對數線性模式序列分析(log-linear sequential analysis),為了分析方便,我後面介紹的是使用SPSS實作的對數線性模式分析。但是我對於這個分析方法抱有高度疑惑,各書本對於對數線性模式分析方法不盡相同,而報表解讀也有許多漏洞。這一份對數線性模式分析的方法僅供記錄,並不建議真的這樣使用。

(more...)

時間序列分析與預測 / Time Series Analysis and Prediction

布丁布丁吃布丁

時間序列分析與預測 / Time Series Analysis and Prediction

image

這是伴隨在行為分析之時間序列分析的報告中,延伸細談時間序列分析的部分。投影片的內容是參考了林惠玲、陳正倉老師所著的「應用統計學」以及其他時間序列分析的相關書籍綜合而成。大部分時間序列分析的介紹仍是環繞著ARIMA技術的模型,後來我用Weka實作的多變項時間序列預測則採用了機器學習的另類做法。

(more...)

行為分析之時間序列分析 / Time Sequential Behavior Analysis

行為分析之時間序列分析 / Time Sequential Behavior Analysis

image

這是閱讀Bakeman兩本書中行為序列分析與時間相關的兩個章節「9. Analyzing time sequences」跟「11. Time-window and log-linear sequential analysis」的簡報內容。Bakeman將事件編碼的類別資料轉換成比率數字的連續變項,再結合了時間序列分析(Time-series analysis)技術進行處理。在另外一本書則是介紹高階列聯表分析技術線性對數模型(Log-Linear Analysis),可以分析超越雙事件到N事件的序列檢定。

(more...)

揭露文字資料的量化數值!文字探勘分析器 / A Text Analyzer for Text Mining

布丁布丁吃布丁

揭露文字資料的量化數值!文字探勘分析器 / A Text Analyzer for Text Mining

image

這是我為了文字探勘所做的小工具。一般來說文字資料是一種非結構的質性資料,但其實還是可以透過一些簡單的計算來得知它的量化數值,這樣就能讓不同的文字資料之間的比較有了客觀的基準。這個文字探勘分析器提供了基本的敘述統計指標計算功能,包括文字長度、不同字詞的數量、文字變化程度的熵(entropy)跟辛普森指數(Simposon's Index),還有以句子、對話句為單位的分析,最後還能將N字詞的頻率分析結果繪製成文字雲

(more...)

行為順序預測:動態貝氏網路 / Behavior Prediction: Dynamic Bayesian Network

行為順序預測:動態貝氏網路 / Behavior Prediction: Dynamic Bayesian Network

image

這是巨量資料探勘與統計應用課程行為順序檢定:滯後序列分析分類與預測:貝氏網路的進階應用。滯後序列分析只能分析前後兩個行為之間的轉變,如果我們想要預測更多步之後的行為,那我們就需要藉助貝氏網路的預測和推理能力。我們可以決定要為幾步內的行為進行建模,如果是兩步之間的模型,稱之為「二時段貝氏網路」(Two-Timeslice Bayesian Network,2TBN)。而這篇文章將以「四時段貝氏網路」來為幼兒平行遊戲事件序列資料,建立能夠預測和解釋幼兒行為的貝氏網路模型。

(more...)

巨量資料探勘與統計應用課程目錄 / Applications of Big Data and Statistics: Table of Contents

巨量資料探勘與統計應用課程目錄 / Applications of Big Data and Statistics: Table of Contents

image

這是巨量資料探勘與統計應用課程的投影片「巨量資料探勘與統計應用課程目錄」,也包含了整個課程一開始的導論。本課程的主要核心技術是「資料分析」,而資料分析則含括了「資料探勘」與「統計」這兩種領域,並且適用於處理龐大的「巨量資料」,因此本課程就命名為「巨量資料探勘與統計應用」。為了整理到本blog,我將本系列課程調整為11個單元,由淺入深分成「課程導論與資料處理」、「資料敘述級」、「資料檢定級」、「資料預測級」四大階段,每個單元內都包含該單元要處理的問題與適用資料類型、核心技術。由於當初是以大學生為教學對象,因此本系列課程主要著重在訓練同學擁有實作的即戰力,每個單元都是以二到四個實作學習單組成,輔以少量的公式解說。

這份投影片是巨量資料探勘與統計應用課程的整體介紹,文章也會列出每一個單元的連結。最後我會談談我對這門課程的看法。

(more...)

超簡單!文本機器分類入門 / Text Classification with Weka

超簡單!文本機器分類入門 / Text Classification with Weka

image

這篇「超簡單!文本機器分類入門」是我在2017年3月於政大圖檔所資料探勘課程中的演講內容,之後演化成後來我在巨量資料探勘與統計應用課程中「非結構化資料分析:文本分類」單元的內容。如果想要看比較完整的文本分類介紹,請看「非結構化資料分析:文本分類」這篇。不過想要看獨立的文本分類課程的話,那也可以從這篇開始看起喔。

(more...)

非結構化資料分析:文本分類 / Unstructured Text Analytics: Text Classification

非結構化資料分析:文本分類 / Unstructured Text Analytics: Text Classification

image

這是巨量資料探勘與統計應用課程的投影片「非結構化資料分析:文本分類」。本單元是屬於系列課程中的「資料預測級」中最後一個單元。處理資料類型是為非結構化的資料進行分類,也就是使用類別資料。這邊使用了Jieba斷詞來作文本語義分析,然後使用樸素貝氏多項式文本分類器(NaiveBayesMultinomialText)來為文本進行分類,最後還用特徵篩選(Select attributes)找出關鍵字。到底圖書館員分類編目的核心技能會不會被這篇所講的自動化文本分類機器所取代呢?看完這個單元你就可以知道結果了。本單元使用了二個我自製的工具來搭配Weka實作文本分類,單元內包含了四份實作學習單跟一份測驗,供同學邊看邊練習。這個單元包含了四個實作學習單跟一份測驗,供同學邊看邊練習。

(more...)

貝氏網路的結果預測與原因推理:基於專家知識建構的網路結構 / Prediction and Inference with Bayesian Networks Model: Based on Expert Knowledge

貝氏網路的結果預測與原因推理:基於專家知識建構的網路結構 / Prediction and Inference with Bayesian Networks Model: Based on Expert Knowledge

image

前面我將貝氏網路的分類與預測投影片放到blog上,這一篇則是用圖文解說的方式來說明如何在Weka中使用貝氏網路。貝氏網路是一種機器學習預測的方法,其做法大概跟之前所介紹的用Weka分類模型來預測未知案例差不多。貝氏網路分類器本身的正確率通常不高,但是它能夠結合專家知識或領域知識(domain/prior knowledge)來建立預測模型,使得預測結果比較符合人類的思維。另一方面,貝氏網路也可以根據任何已知結果來推理發生的原因,讓我們更容易解釋最後結果。跟類神經網路、支持向量機難以解釋的黑箱演算法相比,貝氏網路這種白箱(white-box)演算法雖然正確率較差,但卻更容易用在任何研究中,協助我們推測研究結果、解釋造成原因。

(more...)

分群與分類的整合應用:無監督分類器 / Building an Unsupervised Classification: Integrating Cluster and Classification in Weka

布丁布丁吃布丁

分群與分類的整合應用:無監督分類器 / Building an Unsupervised Classification: Integrating Cluster and Classification in Weka

image

最近有讀者問到要怎麼在建立的分群結果之後,對後面新增的資料再依照前面的規則新增分群標籤。這就讓我想起來資料探勘課本裡面常常提到的一個機器學習議題:無監督式的監督學習 (Unsupervised Supervised Learning),或是成為不需訓練目標的分類法 (Classification wihtout labels),這篇就叫它作無監督分類器(Unsupervised Classification)。這個做法大多都是將分群結果作為分類的目標標籤,再以此建立分類模型。這種做法聽起來難度挺高的,不過實際在Weka中,我們只要動點巧思,不用寫任何程式,就可以實作這個高級分類技巧。這篇就來介紹一下如何實作無需監督的分類器吧。

(more...)

參加國際會議經驗分享 / How to Participate in a Conference?

布丁布丁吃布丁

參加國際會議經驗分享 / How to Participate in a Conference?

image

我在上週受邀去ASIS&T臺北分會所舉辦的「行動裝置資料與使用者研究工作坊」的「學生參與國際活動之經驗分享」分享參與國際會議的經驗。現在學術圈大多鼓勵學者參加Call for Papers類型,以全文(full paper)發表並口頭報告(oral),因此我的重點也放在如何參與這種國際研討會上。我就參與IMLF 2014IFLA WLIC 2015兩場的經驗,將整個流程歸納成 1. 投稿、2. 行程安排、3. 參與會議、4. 結案報告 的四大階段,而投影片內更加著重說明投稿時選擇研討會、投稿計劃書、摘要與全文、準備投影片和講稿的做法。在上週工作坊中因時間不夠,沒有機會跟大家好好說明,我還是在這裡放上投影片,希望可以嘉惠有意參與國際研討會的莘莘學子。

(more...)

分類與預測:貝氏網路 / Classification and Prediction: BayesNet

分類與預測:貝氏網路 / Classification and Prediction: BayesNet

image

這是巨量資料探勘與統計應用課程的投影片「分類與預測:貝氏網路」。本單元是屬於系列課程中「資料預測級」的第一個單元,處理資料類型是從「類別」來預測「類別」類型的資料。貝式網路(BayesNet)是一種能夠表示變項間因果關係的機率模型,原理簡單、計算速度快,不僅可以用來預測結果,還能推理可能的原因。貝式網路是早期專家決策支持系統最常使用的模型,例如可以用來協助醫生找尋病因。本單元先用簡單「吸菸可能造成生病」的例子來說明貝式網路的運作方式,再來使用Weka來建立貝式網路結構、準備訓練集跟測試集、顯示貝式網路模型以及預測結果。本單元使用了四個我自製的工具來搭配Weka實作貝式網路預測,單元內包含了三個實作學習單跟一份測驗,供同學邊看邊練習。

(more...)

資料預測級導論: 分類的處理流程 / Introduction to Data Prediction: Procedure of Classification

資料預測級導論: 分類的處理流程 / Introduction to Data Prediction: Procedure of Classification

image

這是巨量資料探勘與統計應用課程的投影片「資料預測級導論: 分類的處理流程」。本單元是屬於系列課程中的「資料預測級」的導論,這份投影片是為了銜接前面的「資料檢定級」與後面的概念,資料預測級的概念上比較接近現在「巨量資料(大數據)」或「人工智慧」的範疇,都是為了獲得一個「答案」,特別適用於「類別」類型的答案,這種做法稱之為「分類」。分類的步驟大致上分成 1. 準備資料、2. 建立模型、3. 評估模型、4. 預測未知、5. 修正模型。介紹最後還附上了一個以貝式網路建立的模型,可以讓同學先體驗用有沒有吸菸預測是否可能生病的機率。

(more...)

行為順序檢定:滯後序列分析 / Behavior Analysis: Lag Sequential Analysis

行為順序檢定:滯後序列分析 / Behavior Analysis: Lag Sequential Analysis

image

這是巨量資料探勘與統計應用課程的投影片「行為順序檢定:序列分析」。本單元是屬於系列課程中的「資料檢定級」的最後一個單元,處理資料類型也是在行為的「類別」類型資料,使用的分析技術就是以前我常常提到的滯後序列探勘(lag sequential analysis)。滯後序列分析是延伸前一單元列聯表的檢定方式,但是不像卡方統計量是用於檢定整體列聯表,它使用Allison與Liker(1982)的調整後殘差計算方式來做細格檢定。雖然資料類型都以列聯表呈現,不過計算方法可是差很多的喔。跟以前我介紹滯後序列分析的內容相比,這次不僅採用比較嚴謹的Allison與Liker的計算方法,還加入了相關係數Yule'Q的計算,並直接用jsPlumb畫出了事件轉移圖。本單元使用我所開發的滯後序列分析計算器來作計算,包含兩個實作學習單跟一份測驗,供同學邊看邊練習。

(more...)

類別變項的相關檢定:卡方獨立性檢定 / Correlations with Categorical Variables: Chi-Square Test of Independence

類別變項的相關檢定:卡方獨立性檢定 / Correlations with Categorical Variables: Chi-Square Test of Independence

image

這是巨量資料探勘與統計應用課程的投影片「類別變項的相關檢定:卡方獨立性檢定」。本單元是屬於系列課程中的「資料檢定級」中的第三個單元,處理資料類型是「類別」類型的資料,可以檢測出兩兩類別資料之間的關係。本單元要講的分析技術是推論統計的卡方獨立性檢定(Chi-Square Test of Independence),相當適合質性研究所蒐集的類別資料或行為分析。本單元的分析工具是我額外開發的「卡方獨立性檢定計算器」,在投影片裡面還談到了隱含在卡方檢定之後的陷阱:辛普森詭論(Simpson's paradox)。這個單元包含了四個實作學習單,供同學邊看邊練習。

(more...)

連續變項的相關檢定:皮爾森積差相關分析 / Bivariate Correlation Analysis: Pearson Correlation Coefficient

連續變項的相關檢定:皮爾森積差相關分析 / Bivariate Correlation Analysis: Pearson Correlation Coefficient

image

這是巨量資料探勘與統計應用課程的投影片「連續變項的相關檢定:皮爾森積差相關分析」。本單元是屬於系列課程中的「資料檢定級」的第二個單元,處理資料類型是分析兩兩「連續」資料之間的關係。本單元將會教同學推論統計另外一個很常見的分析技術:皮爾森積差相關分析,它可以用來檢測兩個連續變項之間的相關程度與相關的方向。本單元使用我撰寫的皮爾森積差相關分析計算器,並不需要同學用手算。這個單元包含了二個實作學習單跟一份測驗,供同學邊看邊練習。

(more...)

連續變項的差異檢定:獨立樣本t檢定 / Testing Differences Between Means: Independent t-test

連續變項的差異檢定:獨立樣本t檢定 / Testing Differences Between Means: Independent t-test

image

這是巨量資料探勘與統計應用課程的投影片「連續變項的差異檢定:獨立樣本t檢定」。本單元是屬於系列課程中的「資料檢定級」的第一個單元,處理資料類型是從「類別」分類的「連續」資料。本單元主要教的是推論統計最常見的分析技術:獨立樣本t檢定,可以用來檢測兩組不同樣本的平均值是否有顯著差異。t檢定是由健力士的統計學家William Sealy Gosset博士發表的經典分析方法。在喝健力士啤酒的時候,可別忘了統計的t檢定喔。本單元使用了R-Web跟我撰寫的獨立樣本t檢定計算器,並不需要同學用手算。這個單元包含了二個實作學習單,供同學邊看邊練習。

(more...)

資料檢定級導論: 從數學到統計 / Inferential Statistics: An Introduction

資料檢定級導論: 從數學到統計 / Inferential Statistics: An Introduction

image

這是巨量資料探勘與統計應用課程的投影片「資料檢定級導論: 從數學到統計」。本單元是屬於系列課程中的「資料檢定級」,是銜接「資料敘述級」之後下一個階段的導言課程。許多人學習統計時,都知道統計分成敘述統計(descriptive statistics)推論統計(inferential statistics),前者很好理解,但為何需要推論統計?而這兩者又跟高中以前學的數學有什麼不一樣呢?

要理解推論統計,必須要先理解母體模型的概念。我們手邊看到的資料,在推論統計的框架中,它僅僅只是眾多樣本中的一次抽樣。因此我們在比較不同的樣本群時,注重的不是樣本的層次,而是樣本背後代表的母體模型。樣本對應到母體模型所計算出的檢定統計量,以及此檢定統計量可能出現的機率,才是推論統計的思維。

老實說,這個概念很難懂。因此我試著用自己的方式來詮釋這套思維,並在之中強調「檢定統計量」的核心概念,希望能讓同學比較容易理解推論統計的運作方式。因為本篇只是導言,並沒有任何練習內容或測驗。

(more...)

最佳化問題:規劃求解 / Optimization Problem: Solver

最佳化問題:規劃求解 / Optimization Problem: Solver

image

這是巨量資料探勘與統計應用課程的投影片「最佳化問題:規劃求解」。本單元雖然被歸類系列課程中的「資料敘述級」,但其實它跟其他的資料分析方法有很大的不同:規劃求解會直接給你明確的答案。在本單元中,處理資料類型為「連續」類型。

「規劃求解」是屬於「最佳化問題」領域中的技術。雖然同樣是處理數字,但「最佳化問題」並非「統計」,而跟「資料探勘」領域比較相近。在大部分資料探勘的工具裡,要解決的問題比較明確、使用者較難以自行控制。而許多資料探勘介紹的基因演算法(Genetic Algorithm, GA)又是「最佳化問題」中的進階技術,一般使用者難以輕易上手。所以我這個單元介紹的是「最佳化問題」中比較基礎的「規劃求解」。

「工廠在有限的物料跟時間內,要選擇生產多少產品,才能賺到最多利潤?」或者是「圖書館有10萬元經費,不同讀者想看不同類型的書,要怎麼買才能在有限經費內滿足讀者需求?」像是這些問題,都可以用規劃求解來找出答案。本單元利用Google試算表Solver來實作規劃求解,學生不用自己動手算喔。這個單元包含了三個實作學習單,供同學邊看邊練習。

(more...)

AI能夠告訴你未來?用Weka實作多變項時間序列預測 / Time Series Forecasting with Weka

布丁布丁吃布丁

AI能夠告訴你未來?用Weka實作多變項時間序列預測 / Time Series Forecasting with Weka

image

這是本學期我在政大圖檔所專題討論課程中介紹的內容,主題是「用Weka實作多變項時間序列預測」。傳統的時間序列分析(time series analysis)著重於以統計為主的ARIMA模型,分析過程著重於模型的選擇與判斷,一般僅以時間變項進行預測。Weka則是從資料探勘中迴歸(regression)的角度來實作時間序列預測(time series forecasting),使用的預測演算法可以是線性迴歸(Linear Regression)、類神經網路預測(MultilayerPerceptron)、或支持向量機迴歸(SMOreg),甚至可以加入疊加變項(overlay),就能實作多變項的時間序列預測。

本文除了放上我在專題演講的投影片之外,也將使用Weka進行時間序列預測的做法整理出來,供大家一步一步操作、學習。

(more...)

AI解籤不用1秒,廟公要失業了嗎?Weka的中文自動評分:預測詩籤的等第 / Automatic Chinese Text Scoring in Weka: Rating Fortune Slips

AI解籤不用1秒,廟公要失業了嗎?Weka的中文自動評分:預測詩籤的等第 / Automatic Chinese Text Scoring in Weka: Rating Fortune Slips

image

人工智慧要為非結構性的文本型資料評分,要評到精準是很難,但如果只是簡單地給個評分的話,其實是非常簡單的事情,不需要寫任何程式碼。繼我之前寫的「Weka試跑文本評分」,這次我一樣直接使用Weka來為「雷雨詩籤百首」中的籤文與等第建模,做到Weka看到「一舟行貨好招邀 積少成多自富饒 常把他人比自己 管須日後勝今朝」就知道是「上吉」。此外,還能透過特徵選取(select attributes)功能來篩選出影響等第的籤文關鍵字喔。

(more...)

從PHP的Fat-Free Framework框架來看用Node.js的Express框架開發網站的心得 / Fat-Free Framework in PHP vs. Express in Node.js: Pros and Cons of Node.js

從PHP的Fat-Free Framework框架來看用Node.js的Express框架開發網站的心得 / Fat-Free Framework in PHP vs. Express in Node.js: Pros and Cons of Node.js

image

之前我跟學弟嘗試使用Node.js的Express框架來開發網站。本想著前端跟後端都可以統一使用JavaScript,但實際嘗試之後才發現Express框架問題頗多。這兩天為了把Zotero的資料庫寫成網站,我回頭使用PHP的Fat-Free Framework框架來開發,順手程度讓我感動到痛哭流涕,不禁想要寫一篇來整理一下Node.js的各種問題。這篇就閒聊一下吧。

(more...)

社會網絡分析之隨機圖模型 / Social Network Analysis: Random Graph Models

社會網絡分析之隨機圖模型 / Social Network Analysis: Random Graph Models

image

這是介紹「PAJEK 蜘蛛: 社會網絡分析技術」這本書中的第13章「隨機圖模型」的投影片。這本書使用社會網絡分析工具「pajek 蜘蛛」來分析研究者所蒐集的實測社群本身可能符合或不符合那些隨機圖模型(random graph models)。書中介紹的隨機圖模型包括伯努利隨機圖模型(Bernoulli random graph model)、條件統一隨機圖模型 (Conditional uniform random graph models)、小世界模型 (small world model)與優先連接模型 (scale free model),它們有各自的假設背景、建構網絡的隨機過程以及展現出來結構特徵。本書以蒙特卡洛模擬(Monte Carlo simulation)來建構各個隨機圖模型的信賴區間,藉以判斷實測網路與這些隨機圖模型的異同。

(more...)

感謝大家支持,捐款功能上線囉! / New Feature: Donation

布丁布丁吃布丁

感謝大家支持,捐款功能上線囉! / New Feature: Donation

image

你覺得「布丁布丁吃什麼?」的文章對你有幫助嗎?現在本Blog使用綠界科技的實況主收款功能加入了贊助捐款的功能囉!您可以自由決定捐款金額,並可接受信用卡、網路ATM、ATM櫃員機、便利商店代碼付費等方式付款喔!

(more...)

藍牙耳機一直斷線?解決Android藍牙耳機的斷線問題 / How to solve Bluetooth randomly Disconnecting Issue on Android Smartphone

藍牙耳機一直斷線?解決Android藍牙耳機的斷線問題 / How to solve Bluetooth randomly Disconnecting Issue on Android Smartphone

image

因為我原本的手機電池膨脹了,所以我最近買了另一隻沒有耳機孔的Android智慧型手機HTC U11,想說搭配之前買的藍牙耳機SAMZU神族就可以解決這個問題,不過在藍牙連線狀態下連上行動網路時,藍牙耳機就會斷線。而行動網路沒連線時,藍牙耳機又會恢復連線。

後來我在網路上找到了katieelva的建議,在藍牙裝置配對的時候,用於功能取消勾選「聯絡人分享」,之後藍牙耳機就再也沒有發生異常斷線的問題了。這篇將這個方法整理一下,供大家參考。

(more...)

社會網絡分析之塊模型 / Social Network Analysis: Block Modeling

社會網絡分析之塊模型 / Social Network Analysis: Block Modeling

image

這是介紹「PAJEK 蜘蛛: 社會網絡分析技術」這本書中第12章「塊模型」的投影片。這本書使用社會網絡分析工具「pajek 蜘蛛」來找出社群中人與人之間互動的共同模式,稱之為「塊」(block)。在塊模型中是以鄰接矩陣作為分析工具,而本章則介紹了塊模型的基本概念,全型塊(complete)、無型塊(null)、正則塊(regular)等塊的類型,並介紹核心──週邊架構(core-periphery structure)、與等級架構(hierarchical structure)等常見的塊模型。值得注意的是,蜘蛛的塊模型處理方式跟UCINet中塊模型的處理方式不同,我個人覺得蜘蛛的塊模型分析比較讓人容易理解。

(more...)

「布丁布丁吃什麼?」開站以來的網頁瀏覽記錄突破四百萬 / Over 4 Million Visits Record!

布丁布丁吃布丁

「布丁布丁吃什麼?」開站以來的網頁瀏覽記錄突破四百萬 / Over 4 Million Visits Record!

image

上週在看統計記錄的時候,我還在想應該還有一段時間才會突破四百萬吧。不過今天打開一看,網頁瀏覽記錄居然已經是401萬了。這篇記錄一下上次看到三百萬瀏覽次數的時間,以及我通常會看那些網頁瀏覽記錄資料,最後跟大家聊聊本blog的一些熱門文章。

(more...)

資料聚類:分群 / Clustering

資料聚類:分群 / Clustering

image

這是巨量資料探勘與統計應用課程的投影片「資料聚類:分群」。本單元是屬於系列課程中的「資料敘述級」,處理資料類型主要是「連續」類型資料,不過其實Weka的K平均法也能處理「類別」資料就是了。

本單元的「分群技術」屬於「資料探勘」(data mining)領域的其中一個主題,而此技術是繼前面統計圖表、資料的中心與離度之上,可用於描述多維度、超大量複雜資料的有效方法。如果你拿到一份複雜的資料,不知道該怎麼解析它的時候,不妨先丟進分群跑看看資料會有什麼特徵吧。

我為了這個單元開發了「Weka分群結果分析器」,可以搭配Weka中K平均法分群一起使用。這個單元包含了四個實作學習單,供同學邊看邊練習。

(more...)