數(shù)據(jù)挖掘,從字面上理解,就是在數(shù)據(jù)中找到有用的東西,哪些東西有用就要看具體的業(yè)務(wù)目標(biāo)了。最簡(jiǎn)單的就是統(tǒng)計(jì)應(yīng)用了,比如電商數(shù)據(jù),如淘寶統(tǒng)計(jì)過(guò)哪個(gè)省購(gòu)買泳衣最多等。
進(jìn)一步,可以基于用戶的瀏覽、點(diǎn)擊、收藏、購(gòu)買等行為推斷用戶的年齡、性別、購(gòu)買能力、愛(ài)好等能表示一個(gè)人的畫像,就相當(dāng)于用這些挖掘出來(lái)的屬性來(lái)刻畫一個(gè)人,這些還是最簡(jiǎn)單的東西,更深層次的比如預(yù)測(cè)(股票預(yù)測(cè)),但是比較難。
1、數(shù)據(jù)挖掘的過(guò)往
說(shuō)到數(shù)據(jù)挖掘。往往與機(jī)器學(xué)習(xí)離不開(kāi)。比如分類、聚類、關(guān)聯(lián)規(guī)則挖掘、個(gè)性化推薦、預(yù)測(cè)、神經(jīng)網(wǎng)絡(luò)、深度學(xué)習(xí)等。
很多年前說(shuō)人工智能AI(比如產(chǎn)生式系統(tǒng)、專家系統(tǒng)等,好像現(xiàn)在提得比較少了),90年代AI到了瓶頸階段,機(jī)器學(xué)習(xí)是一個(gè)突破口,現(xiàn)在機(jī)器學(xué)習(xí)又遇到了瓶頸階段,深度學(xué)習(xí)又是一個(gè)突破口(其實(shí)神經(jīng)網(wǎng)絡(luò)出來(lái)了很久,但是為什么中間一段時(shí)間沉寂了,在70年代左右出現(xiàn)了低潮(根據(jù)評(píng)論修改),我歸結(jié)是兩點(diǎn):
第一,神經(jīng)網(wǎng)絡(luò)就像一個(gè)黑夾子一樣,很多東西不透明,模型的解釋性不強(qiáng),以及當(dāng)時(shí)沒(méi)辦法處理非線性分類問(wèn)題(后面多層感知器便可以對(duì)非線性問(wèn)題進(jìn)行擬合,如解決XOR問(wèn)題)。參數(shù)過(guò)多,訓(xùn)練復(fù)雜,容易出錯(cuò),容易過(guò)擬合,無(wú)法保證全局最優(yōu),加上很多問(wèn)題無(wú)法用數(shù)學(xué)方法證明(個(gè)人理解)等等。
科學(xué)家和工程師還是有區(qū)別的,科學(xué)家都想把一個(gè)問(wèn)題歸結(jié)為數(shù)學(xué)問(wèn)題,然后證明出來(lái),他們就會(huì)認(rèn)為是有意義的,數(shù)學(xué)上證明其有效往往比做千百個(gè)實(shí)驗(yàn)說(shuō)明其有效要好些吧,工程師往往更在乎效果與結(jié)果),直到后來(lái)出現(xiàn)了BP算法。
第二,得益于現(xiàn)在的大規(guī)模計(jì)算工具,能夠處理PB級(jí)別的數(shù)據(jù)了??傊F(xiàn)在人工智能還遠(yuǎn)沒(méi)達(dá)到人類的水平,最后結(jié)果會(huì)怎樣,這個(gè)暫時(shí)不設(shè)想。
目前正處于大數(shù)據(jù)時(shí)代,很多企業(yè)擁有巨大的數(shù)據(jù),比如阿里擁有消費(fèi)數(shù)據(jù)、百度擁有搜索數(shù)據(jù),騰訊擁 有社交數(shù)據(jù),消費(fèi)數(shù)據(jù)與搜索數(shù)據(jù)都可以直接變現(xiàn)形成商業(yè)模式,而社交數(shù)據(jù)暫時(shí)還無(wú)法直接變現(xiàn),至少企鵝現(xiàn)在還在探尋中。舉個(gè)例子,你的朋友圈,qq空間到處是廣告,你是不是很討厭?
數(shù)據(jù)有了,還有個(gè)重要的方面,處理數(shù)據(jù)的能力,也就是數(shù)據(jù)處理工具,能夠處理這么大的數(shù)據(jù)量,二者不可或缺,缺一談什么大數(shù)據(jù)都是耍流氓。
2、數(shù)據(jù)挖掘工程師應(yīng)具備的技能
首先你數(shù)學(xué)知識(shí)肯定要扎實(shí)吧。統(tǒng)計(jì)與概率論是最基本(也有人說(shuō)現(xiàn)在的機(jī)器學(xué)習(xí)是統(tǒng)計(jì)學(xué)習(xí),確實(shí)有道理)、微分與積分肯定要知道、數(shù)學(xué)公式要看的懂吧,進(jìn)階階段最優(yōu)化,隨機(jī)過(guò)程等。建議去看看機(jī)器學(xué)習(xí)十大算法與一些深度學(xué)習(xí)的東西,多看大牛的博客。
其次,作為一個(gè)工程師,肯定要會(huì)寫代碼吧。不懂寫代碼的工程師都是扯淡,不要寫代碼的數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí),那是研究員,懂得一門高級(jí)語(yǔ)言與一門腳本語(yǔ)言就差不多了(如JAVA或C++,Python或R,個(gè)人推薦Java與Python,因?yàn)橄馠adoop、Spark、Hive、MPI之類的都對(duì)Java提供了很方便的接口,Python寫腳本很爽),還需要懂得Linux、Shell、SQL,這都是個(gè)人意見(jiàn),至少在阿里,用java+sql+python+shell,阿里有個(gè)很牛逼的東西,叫做ODPS,現(xiàn)在叫MaxCoupute,可以去阿里云官網(wǎng)查查相關(guān)資料。
對(duì)于你所說(shuō)的excel、SAS、SPSS,數(shù)據(jù)分析人員專用,因?yàn)楣こ處熉?,編程語(yǔ)言還是必須的。
另外是工具,會(huì)用就行。對(duì)于是否需要學(xué)習(xí)hadoop、hive之類的,個(gè)人意見(jiàn)是只要知道用,然后怎么用,怎么在上面實(shí)現(xiàn)一些算法,怎么去優(yōu)化自己寫的程序就差不多了,它們只是工具,而且更新得很快,就說(shuō)hadoop吧,我還沒(méi)完全搞明白,就逐漸被spark取代了,記住,這些只是工具而已。推薦個(gè)加深你數(shù)據(jù)挖掘功力的東西weka(單機(jī)版的)與mahout(分布式的,有基于hadoop與spark),都是開(kāi)源的。
最后,對(duì)于工作是否需要設(shè)計(jì)新算法,我覺(jué)得在企業(yè)還是沒(méi)有要求這么高。除非你覺(jué)得自己很牛逼,想向google看齊,但是設(shè)計(jì)一個(gè)好的算法并能解決實(shí)際問(wèn)題的算法,不是一朝一夕的,個(gè)人觀點(diǎn),很多算法可以想出來(lái),最大的問(wèn)題就是怎樣去證明其正確,其有效。想到企業(yè)中去,多看看google與ms工程性的文章,想研究就多看看學(xué)術(shù)大牛的文章,比如ICML,IJCAI,KDD,NIPS,CVPR等。大部分工作是,將已有的機(jī)器學(xué)習(xí)與數(shù)據(jù)挖掘算法應(yīng)用到具體的實(shí)踐中,根據(jù)業(yè)務(wù)場(chǎng)景與數(shù)據(jù)特點(diǎn)對(duì)算法進(jìn)行改造或者調(diào)整等。
舉個(gè)例子,你在淘寶上買一件衣服,系統(tǒng)怎樣向你推薦你感興趣的并且和這件衣服搭配的褲子或者飾品,這就是數(shù)據(jù)挖掘工程師的一方面工作。
3、常用的知識(shí)點(diǎn)介紹
對(duì)于數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí),也不是小小的幾百字能說(shuō)清楚的,所以再補(bǔ)充一些想從事機(jī)器學(xué)習(xí)與數(shù)據(jù)挖掘的需要學(xué)習(xí)的知識(shí)點(diǎn):
1)Basis(基礎(chǔ)):
MSE(均方誤差),LMS(最小均方),LSM(最小二乘法),MLE(最大似然估計(jì)),QP(二次規(guī)劃),CP(條件概率),JP(聯(lián)合概率),MP(邊緣概率);
Bayesian Formula(貝葉斯公式),L1 /L2(L1/L2正則,以及更多的,現(xiàn)在比較火的L2.5正則等);
GD(梯度下降),SGD(隨機(jī)梯度下降),Eigenvalue(特征值),Eigenvector(特征向量),QR-decomposition(QR分解),Quantile (分位數(shù)),Covariance(協(xié)方差矩陣)。
2)常見(jiàn)分布:
離散型分布:貝努利分步/二項(xiàng)分布;負(fù)二項(xiàng)分布;多式分布;幾何分布;超幾何分布;泊松分
連續(xù)型分布:均勻分布;正態(tài)分布/高斯分布;指數(shù)分布;對(duì)數(shù)正態(tài)分布;Gamma分布;Beta分布;狄利克雷分布;瑞利分布;柯西分布;韋伯分布
三大抽樣分布:卡方分布;t-distribution;F-分布
3)數(shù)據(jù)預(yù)處理:
缺失值填充;離散化;映射;歸一化/標(biāo)準(zhǔn)化)。
4)采樣:
簡(jiǎn)單隨機(jī)采樣;離線等可能K采樣;在線等可能K采樣;等比例隨機(jī)采樣;接受-拒絕采樣;重要性采樣;馬爾科夫蒙特卡羅采樣算法。
5)聚類:
K-Means;K-Mediods;二分K-Means;FK-Means;Canopy;譜聚類;混合高斯模型-期望最大化算法解決;K-Pototypes;基于劃分;基于層次;基于層次;基于密度;基于密度和基于網(wǎng)格;2014年Science上的密度聚類算法等。
6)聚類效果評(píng)估:
純度;芮氏指標(biāo);調(diào)整的芮氏指標(biāo);規(guī)范化互信息;F測(cè)量等。
7)分類&回歸:
線性回歸;邏輯回歸;多分類邏輯回歸;廣義線性模型;嶺回歸/L2正則最小二乘回歸;正則最小二乘回歸;隨機(jī)森林;決策樹(shù);梯度下降決策樹(shù);分類回歸樹(shù);近鄰;支持向量機(jī);核函數(shù);多項(xiàng)式核函數(shù);高斯核函數(shù);徑向基函數(shù);字符串核函數(shù);樸素貝葉斯;貝葉斯網(wǎng)絡(luò)/貝葉斯信度網(wǎng)絡(luò)/信念網(wǎng)絡(luò);線性判別分析;集成學(xué)習(xí);自適應(yīng)增強(qiáng);最大熵模型。
8)分類效果評(píng)估:
混淆矩陣;精確度;召回率;準(zhǔn)確率;F得分;ROC曲線;AUC面積;Lift曲線;KS曲線。
9)概率圖模型:
貝葉斯網(wǎng)絡(luò)/貝葉斯信度網(wǎng)絡(luò)/信念網(wǎng)絡(luò);馬爾科夫鏈;馬爾科夫模型;最大熵馬爾科夫模型;條件隨機(jī)場(chǎng);馬爾科夫隨機(jī)場(chǎng)。
10)神經(jīng)網(wǎng)絡(luò):
人工神經(jīng)網(wǎng)絡(luò);誤差反向傳播;HN;循環(huán)神經(jīng)網(wǎng)絡(luò);回聲狀態(tài)網(wǎng)絡(luò);長(zhǎng)短記憶神經(jīng)網(wǎng)絡(luò);CW-RNN;時(shí)鐘驅(qū)動(dòng)循環(huán)神經(jīng)網(wǎng)絡(luò)等。
11)深度學(xué)習(xí):
自動(dòng)編碼器;堆疊自動(dòng)編碼器;稀疏自動(dòng)編碼器;去噪自動(dòng)編碼器;收縮自動(dòng)編碼器;受限玻爾茲曼機(jī);深度信念網(wǎng)絡(luò);卷積神經(jīng)網(wǎng)絡(luò);詞向量學(xué)習(xí)模型。
12)降維:
線性判別分析/Fish線性判別;主成分分析;獨(dú)立成分分析;奇異值分解;因子分析法。
13)文本挖掘:
向量空間模型;詞向量學(xué)習(xí)模型;詞頻;詞頻-逆向文檔頻率;互信息;期望交叉熵;二次信息熵;信息增益;信息增益率;基尼系數(shù);x2統(tǒng)計(jì)量;文本證據(jù)權(quán);優(yōu)勢(shì)率;潛在語(yǔ)義分析;基于概率的潛在語(yǔ)義分析;潛在狄利克雷模型;統(tǒng)計(jì)語(yǔ)言模型;神經(jīng)概率語(yǔ)言模型;連續(xù)詞袋模型;Skip-gram等。
14)關(guān)聯(lián)挖掘:
Apriori;頻繁模式樹(shù)生長(zhǎng)算法;AprioriAll;Spade。
15)推薦引擎:
基于人口統(tǒng)計(jì)學(xué)的推薦;基于內(nèi)容的推薦;協(xié)同過(guò)濾;基于用戶的協(xié)同過(guò)濾推薦;基于項(xiàng)目的協(xié)同過(guò)濾推薦。
16)相似性與距離度量:
歐式距離;曼哈頓距離;切比雪夫距離;閔可夫斯基距離;標(biāo)準(zhǔn)化歐氏距離;馬氏距離;余弦;漢明距離/編輯距離;杰卡德距離;相關(guān)系數(shù)距離;信息熵;KL散度/相對(duì)熵等。
17)最優(yōu)化:
無(wú)約束優(yōu)化:變量輪換法;模式搜索法;可變單純形法;梯度下降法;牛頓法;擬牛頓法;共軛梯度法。
有約束優(yōu)化:近似規(guī)劃法;可行方向法;罰函數(shù)法;乘子法。
啟發(fā)式算法:模擬退火算法;遺傳算法
18)特征選擇:
互信息;文檔頻率;信息增益;卡方檢驗(yàn);基尼系數(shù)。
19)異常點(diǎn)檢測(cè):
基于統(tǒng)計(jì);基于距離;基于密度;基于聚類。
20)基于學(xué)習(xí)的排序:
Pointwise:McRank;
Pairwise:RankingSVM,RankNet,F(xiàn)rank,RankBoost;
Listwise:AdaRank,SoftRank,LamdaMART;
21)工具:
MPI;Hadoop生態(tài)圈;Spark;BSP;Weka;Mahout;Scikit-learn;PyBrain…以及一些具體的業(yè)務(wù)場(chǎng)景與case等。
聯(lián)系客服