機器學習是什么?從廣義上講,機器學習是一種能夠賦予機器學習的能力,讓它以此完成直接編程無法完成的功能的方法。但從實踐的意義上講,機器學習是一種通過利用數據,訓練出模型,然后使用模型預測的一種方法。
人工智能是一種能夠使得計算機及其系統能夠成功完成通常需要人類智能行為才能完成的任務的研究和開發。機器學習是人工智能的核心,是訓練計算機完成上述任務的技術和過程,是其必不可少的一部分。
目前機器學習應用領域十分廣泛,例如:數據挖掘、計算機視覺、自然語言處理、生物特征識別、搜索引擎、醫學診斷、檢測信用卡欺詐、證券市場分析、DNA序列測序、語音和手寫識別、戰略游戲和機器人運用等。
機器學習的應用領域
谷歌是互聯網領域有名的使用機器學習的公司,如下圖所示,谷歌將機器學習應用到不同的產品中。
機器學習的三大基石—算法、數據和計算能力,算法作為其中之一,是非常重要的。然而當前的算法數不勝數,而新的算法更是層出不窮,那么機器學習都會涉及哪些算法呢?不同算法適用于哪些場景呢?
機器學習的任務
當前在機器學習領域,最常見的機器學習任務主要有三類:回歸(Regression)、分類(Classification)、聚類(Clustering)。
回歸是一種用于連續型數值變量預測和建模的算法,使用案例包括房地產價格、股價走勢或學生成績等的預測。
分類是用于分類變量建模及預測的算法,使用案例包括員工流失、郵件過濾、金融欺詐等的預測。
聚類則是基于數據內部結構來尋找樣本自然族群(集群)的算法,使用案例包括用戶畫像、電商物品聚類、社交網絡分析等。
我們可以用幾個例子來說明:
假設你是個地產商。你有以往售出樓房的數據--總面積、有幾間臥室等等——以及它們的售價。你拿到一幢新房的時候,就能根據手頭的數據,預測新房的售價。這是一個回歸問題。
假設你是一個醫生。你有很多人的健康數據——各項生理指標、遺傳因素、以及他們是非患有某一種疾病的測試結果。測試結果可以用二進制表示為:1代表患有疾病,0代表未患有疾病。當你遇到一個新的測試者,輸入他的數據,你就能預測他是否患有疾病。因為輸出的形式是已知的(1或者0),這是一個分類問題。
假設你是一個市場經理。你有一些客戶的資料——客戶年齡、購買產品、購買金額等——你希望找出哪些客戶屬于相近的群體,可能給他們一些特殊優惠。以上的客戶資料可以作為算法的輸入,不過你不知道輸出會是什么樣的,因此這是聚類問題。
機器學習常用算法
面對不同的問題,演化出了許許多多的算法,這些算法根據其功能和形式的類似性大致可分為以下幾類:
在這十三個大類里又有很多具體的算法,比如常見的回歸算法包括:最小二乘法、邏輯回歸、逐步式回歸、多元自適應回歸樣條等。
不同的算法有不同的優缺點也有不同的應用領域,例如常見的決策樹算法易于理解和解釋、可以可視化分析、容易提取出規則、運行速度快、對中間值缺失不敏感、可以處理不相關特征數據。但同時容易產生過度匹配的問題、構建耗時、同時對缺失數據處理比較困難。由于決策樹良好的分析能力,在決策過程應用較多,常用于企業管理實踐,企業投資決策等領域。
決策樹原理示意圖
“天下沒有免費的午餐”,沒有算法能完美地解決所有問題,算法的選擇要受很多因素的影響,比如數據集的規模或結構。在用給定的測試集來評估性能并挑選算法時,應當根據具體的問題來采用不同的算法。
通常工程師在選擇算法時需要考慮主要因素有:
1)數據量的大小、數據質量和數據本身的特點
2)要解決的具體業務場景中問題的本質是什么?
3)可以接受的計算時間是什么?
4)算法精度要求有多高?
也就是說,所選的算法必須要適用于當下要的問題,這就要求選擇正確的機器學習任務,需要考慮算法的準確度,訓練時間和易用性。就好像,如果你需要打掃房子,你可能會用到吸塵器、掃帚或是拖把,但你絕對不該掏出鏟子來挖地。
機器學習算法通過自動地從提供的數據中學習,它會讓我們的程序變得更“聰明”。
想了解更多IT資訊,請訪問中培偉業官網:中培偉業