當我們在談論kmeans(1)
引言
當希望快速了解或回顧某些算法的發(fā)展時,一般而言,大家都會選擇閱讀綜述性文章,然后有選擇性的閱讀部分論文。而這種高效率的做法的負面,就是比較無趣的體驗,畢竟一直都行走在別人規(guī)劃好的思路中,總感覺少了點趣味性。
此系列文章一方面旨在回顧一些算法的歷史演變軌跡;同時,看看能否挖掘出更多有趣或有意義的信息,讓算法之路走的歡脫一點。
作為練手,本次先從k-means這個最基本的機器學習算法之一開始。
數據準備
從IEEE上抓取“標題或摘要中含有kmeans或相關關鍵詞的論文”的部分公開信息,對于現在已有的信息,我關注的主要是title、authors、keywords、abstract、publicationYear、isConference(是否是會議文章)。抓取到數據后,將數據存入mongodb,后續(xù)使用python+jupyter來分析。
受限于抓取難度,以及本人初步的爬蟲水平,并沒有抓reference,這對接下來的數據挖掘是一個遺憾。若有同學比較擅長爬蟲,歡迎私信或留言交流!(IEEE的網站說明里聲明禁止爬蟲,因此政治正確上最好是不要去爬的,此處也不討論具體的技術細節(jié))
數據總覽
論文數量
1969-2016年,每年IEEE收錄關于kmeans的論文數量如下圖。其中藍色表示當年總文章數量,綠色表示當年期刊論文數量,紅色表示當年會議文章數量。
從圖中可以得出以下幾點結論:
1.1990年以前,kmeans相關文章很少,多的時候每年出版的總文章數量是1,少的時候則沒有任何相關文章出版;90年代作為明顯的過渡期,其之前與之后論文數量與趨勢的變化是翻天覆地的;
2.會議文章占了總文章數量的絕大多數:在抓取的6000多篇文章中,會議文章總5476篇,而期刊數量540篇,只有會議文章的1/10;而每年的會議文章跟期刊文章的比值也差不多這個數;
3.kmeans相關會議文章數量在2005-2010和2013-2015幾年間出現了爆炸性