官术网_书友最值得收藏!

1.2 為什么使用機器學習

考慮一下如何使用傳統的編程技術編寫垃圾郵件過濾器(見圖1-1):

圖1-1:傳統方法

1.首先,你會檢查垃圾郵件通常是什么樣子。你可能會注意到一些詞或短語(例如“4U”“信用卡”“免費”和“驚人的”)往往會在主題行中出現很多次。也許你還會注意到發件人姓名、電子郵件正文和電子郵件其他部分中的一些其他模式。

2.你會為你注意到的每個模式編寫一個檢測算法,如果檢測到許多這樣的模式,你的程序會將電子郵件標記為垃圾郵件。

3.你會測試程序并重復步驟1和步驟2,直到它足夠好可以發布。

由于這個問題很困難,因此你的程序很可能會變成一長串復雜的規則——很難維護。

相比之下,基于機器學習技術的垃圾郵件過濾器會自動學習詞和短語,這些詞和短語是垃圾郵件的預測因素,通過與非垃圾郵件比較,檢測垃圾郵件中反復出現的詞語模式(見圖1-2)。該程序更短,更易于維護,也更準確。

圖1-2:機器學習方法

如果垃圾郵件發送者注意到他們所有包含“4U”的電子郵件都被阻止了怎么辦?他們可能會轉而寫“For U”。使用傳統編程技術的垃圾郵件過濾器需要更新來標記“For U”電子郵件。如果垃圾郵件發送者一直繞過你的垃圾郵件過濾器,你就需要不斷編寫新規則。

相比之下,基于機器學習技術的垃圾郵件過濾器會自動注意到“For U”在用戶標記的垃圾郵件中變得異常頻繁,并且在沒有人工干預的情況下自動標記垃圾郵件(見圖1-3)。

圖1-3:自動適應變化

機器學習的另一個亮點是擅于處理對于傳統方法過于復雜或沒有已知算法的問題。例如,考慮語音識別,假設你想編寫一個能夠區分單詞“one”和“two”的簡單程序。你可能會注意到單詞“two”以高音(“T”)開頭,因此你會對測量高音強度的算法進行硬編碼并使用它來區分“one”和“two”,但顯然這種技術不能擴展到所有的語音識別(人們所處環境不同、語言不同、使用的詞匯不同)。最好的解決方案(至少在今天)是根據給定的大量單詞錄音示例,編寫一個能夠自我學習的算法。

最后,機器學習可以幫助人類進行學習(見圖1-4)。可以檢查ML模型來查看它們學到了什么(盡管這對于某些模型來說可能很棘手)。例如,一旦垃圾郵件過濾器接受了足夠多的垃圾郵件訓練,就可以用它列出垃圾郵件預測器的單詞和單詞組合。有時候這會揭示意想不到的相關性或新趨勢,從而更好地理解問題。挖掘大量數據來發現隱藏的模式稱為數據挖掘,機器學習擅長于此。

圖1-4:機器學習可以幫助人類進行學習

總而言之,機器學習非常適合:

· 現有解決方案需要有大量微調或一長串規則來解決的問題(機器學習模型通常可以簡化代碼并且比傳統方法執行得更好)。

· 使用傳統方法無法解決的復雜問題(最好的機器學習技術可能會找到解決方案)。

· 變化的環境(機器學習系統可以很容易地根據新數據重新訓練,始終保持最新狀態)。

· 深入了解復雜問題和大量數據。

主站蜘蛛池模板: 资中县| 阿合奇县| 平山县| 正蓝旗| 张家口市| 山东| 娄底市| 北宁市| 常宁市| 平罗县| 宁国市| 锡林浩特市| 永安市| 凤台县| 陆川县| 泽库县| 稷山县| 黔江区| 香港 | 彩票| 苏州市| 长葛市| 宣汉县| 萨迦县| 大渡口区| 荥阳市| 凤山市| 镇远县| 大竹县| 鱼台县| 寻乌县| 宣城市| 韩城市| 河池市| 桐城市| 丹巴县| 龙游县| 靖边县| 建始县| 乐东| 麻城市|