機器學習簡介
一、機器學習的定義
機器學習(Machine Learning)是計算機科學的子領域,也是人工智能的一個分支和實現方式。機器學習所關注的是計算機程序如何隨著經驗積累自動提高性能。機器學習的形式化描述: 對于某類任務T和性能度量P,如果一個計算機程序在T上以P衡量的性能隨著經驗E而自我完善,那么就稱這個計算機程序在從經驗E學習。
機器學習主要的理論基礎涉及到概率論、數理統計、數值逼近、最優化理論、計算復 雜理論等,核心要素是數據、算法和模型。
二、機器學習的發展
機器學習的發展分為知識推理期、知識工程期、淺層學習和深度學習幾個階段。在機器學習的發展過程中,隨著人們對智能的理解和現實問題的解決方法演變,大致出現了符號主義、貝葉斯、聯結主義、進化主義、行為類推主義五大流派。
三、機器學習的演化
四、機器學習、人工智能和數據挖掘
機器學習是人工智能的一個分支,它是實現人工智能的一個核心技術,即以機器學習為手段解決人工智能中的問題。機器學習是通過一些讓計算機可以自動“學習”的算法并從數據中分析獲得規律,然后利用規律對新樣本進行預測。
數據挖掘是從大量的業務數據中挖掘隱藏、有用的、正確的知識促進決策的執行。數據挖掘的很多算法都來自于機器學習,并在實際應用中進行優化。機器學習最近幾年也逐漸跳出實驗室, 解決從實際的數據中學習模式,解決實際問題。數據挖掘和機器學習的交集越來越大。
五、機器學習典型應用領域
- 藝術創作
- 金融領域
- 醫療領域
- 自然語言處理
- 網絡安全
- 工業領域
- 娛樂行業
六、機器學習應用
- 人機大戰
AlphaGo是深度卷積神經網絡CNN、加強 學習RL、蒙特卡洛樹搜索MCTS三者相結合的產物
- 趨勢預測
Google流感趨勢預測
- 社保欺詐
反垃圾郵件系統
- 個性化推薦
七、機器學習流程
- 機器學習是一門入門容易但精通難的學科
- 機器學習分析人員需要掌握行業知識以了解業務流程、理解數據背后的隱含信息以合理解讀數據、從變化的角度和時間維度把握需求以確定使用哪些數據,這是數據分析的基礎
- 機器學習的主要流程是明確分析目標、數據收集、數據預處理、建模分析、結果評估、部署使用以及學習更新。
八、機器學習怎么做
- 明確數據分析目標:明確數據分析目標是機器學習首要的重要步驟,這個步驟需 要與用戶進行充分的溝通。
- 數據收集:充足、全面的高質量數據是機器學習的基礎。
- 數據預處理:數據清理,為保證數據的質量,必要的數據治理是需要的。
- 數據建模:算法本身沒有絕對的好壞,不同的機器學習算法都有各自的使用范圍。選擇合適的建模方法或算法,算法的好壞需要實驗比較確定。此階段是機器學習的核心部分,使用精巧復雜的分析方法從 數據中提取知識,包括選擇建模技術、生成測試設計以及構 建和評估模型。算法調優(包括參數或結構等方面),機器學習算法是科學,應用是藝術。
- 效果評估:選定模型之后,就可以評估機器學習結果在多大程度上能夠 幫助實現業務目標。此階段的要素包括評估學習結果,以便 為機器學習的過程提供反饋。
- 部署使用 更新:有效的機器學習結果會改善客戶業務決策的效果,給客戶帶來價值。因為業務可能發生變化,在部署過程中需要更新機器學習的模型等。機器學習不是一勞永逸的事情(遞增式學習)。
九、機器學習常用算法
- 監督學習:支持向量機SVM、決策樹、樸素貝葉斯分類、k-近鄰算法KNN
- 非監督學習:主成分分析、奇異值分解、K-均值聚類
- 強化學習:Q-learning
- 聚類算法
- 分類算法
- 回歸分析
- 關聯分析
十、數據挖掘常用算法
十二、數據分析常見陷阱
1、錯誤理解相關關系
- 事物間的相關性并不意味著存在因果關系,或者有可能其因果關系顛倒了
- 需要深入理解業務,規避大部分錯誤
- 需要分析是否由第三方變量同時引起兩種變量的變化,找出其原因
2、錯誤的比較對象
- 機器學習中的結果或效果進行比較時,容易將不同樣本集進行結果比較,比較對象不合理,其結果自然無效,結論便不能成立
3、數據抽樣
- 數據抽樣時如果出現偏差可能會影響分析結果
- 需要考慮采樣標準
4、忽略或關注極值
- 忽視極值可能失去某類樣本或丟失某項重要特征
- 過于關注極值可能會對結果造成偏差,影響結論
5、相信巧合數據
- 實驗中多次重復實驗可避免巧合數據的出現
6、數據未做歸一化
- 兩個數據進行比較時,容易進行總數比較,而忽視比例的比較
7、忽視第三方數據
- 搜集或使用爬蟲獲得更多數據使數據源更豐富
8、過度關心統計指標
- 可能會忽視某些方法或結論成立的前提條件
- 十二、機器學習方法的選擇
- 理解目標要求是機器學習方法選擇的關鍵,首先要 對問題進行分類,如果數據集中有標簽則可進行監 督式學習,反之可應用無監督學習
- 熟悉各類機器學習方法的特性是分析方法選擇的基 礎,不僅需要了解如何使用各類分析算法,還要了解其實現的原理
- 在選擇模型前,要對數據進行探索性分析
- 機器學習方法選擇過程中可在幾個可能模型中分析選出較優的模型
- 選擇模型后,比較不同模型的擬合程度,反復調整參數使模型結果趨于穩定
十三、機器學習項目團隊的組建
- 職能崗位
- 項目經理
- 業務專家
- 機器學習工程師
- 數據建模人員
- 可視化人員
- 評估人員
- 其他
十四、機器學習人才培養的難題
- 數理要求高
- 學習成本高
- 跨學科綜合能力
- 實踐機會少
十五、機器學習技能要求
十六、常見的機器學習平臺
- Python
- R
- TensorFlow
- Caffe
- 開源社區Github