機器學習在當今大多數主流行業中盛行。世界各地的企業都在爭相將機器學習融入其職能,為有抱負的資料科學家提供的新機會也成倍增長。
然而,行業需求與現有資源之間存在巨大差距。很多人並不清楚機器學習是什麼以及它是如何工作的。但“教機器”的想法由來已久。還記得阿西莫夫的機器人三定律嗎?機器學習的理念和研究已經存在了幾十年。然而,近年來出現了大量的行動、發展和熱議。讀完本文,您不僅會了解機器學習,還會了解它的不同型別、不斷增長的應用列表以及該領域的最新發展。
什麼是機器學習?
機器學習是一門教會機器如何自學的科學。現在,你可能會想:我們為什麼要這樣做?因為它在分析和自動化應用方面有很多好處。其中最重要的是:
機器可以高精度地完成高頻重複性任務,而不會感到疲倦或無聊。
為了理解機器學習的工作原理,我們以拖地和清潔地板為例。當人類完成這項任務時,結果的質量各不相同。幾個小時的工作後,我們就會感到疲憊/無聊,生病的機率也會影響結果。根據地點的不同,拖地對人類來說也可能是危險的。另一方面,如果我們能教會機器根據地板的狀況和型別來檢測地板是否需要清潔和拖地,以及需要多少清潔,那麼機器就能更好地完成同樣的工作。它們可以繼續工作而不會感到疲倦或無聊!
這就是機器學習的目標!讓機器能夠自主學習,從而回答諸如:
- 地板是否需要清潔和拖地?
- 地板需要多久清潔一次?
機器需要思考,而這正是機器學習模型能夠發揮作用的地方。機器從環境中捕獲資料並將其輸入到模型中。然後,模型利用這些資料來預測地板是否需要清潔、需要清潔多長時間等等。
機器學習的型別
機器學習分為三種型別:
- 監督式機器學習:當你擁有帶有結果(機器學習術語中稱為標籤)的歷史資料,並且想要預測未來的結果時,可以使用監督式機器學習。監督式機器學習問題又可以分為兩類:
- 分類問題:當你需要將結果分類到不同的類別中時。例如,地板是否需要清潔/拖地就是一個分類問題。結果可以分為“是”或“否”。同樣,客戶是否會拖欠貸款也是一個分類問題,任何銀行都非常關注這個問題。
- 迴歸問題:當你需要預測一個連續的數值時。例如,需要進行多少次清潔?或者客戶預期的拖欠金額是多少,這是一個迴歸問題。
- 無監督式機器學習:有時目標不是預測!而是發現資料中的模式、片段或隱藏結構。例如,銀行希望對客戶進行細分以瞭解他們的行為。這是一個無監督機器學習問題,因為我們在這裡不預測任何結果。
- 強化學習:這是一種機器學習,其中代理透過與環境互動來學習做出決策。它會根據其行為獲得獎勵或懲罰,並逐漸改進其策略以最大化累積獎勵。與傳統機器學習相比,這是一個略微複雜的主題,但對未來同樣至關重要。本文對強化學習進行了很好的介紹。
構建機器學習模型涉及哪些步驟?
任何機器學習模型的開發大致可以分為六個步驟:
- 問題定義:將業務問題轉化為機器學習問題
- 假設生成:為模型建立可能的業務假設和潛在特徵的過程
- 資料收集:收集用於檢驗假設和構建模型的資料
- 資料探索和資料清理:移除異常值和缺失值,然後將資料轉換為所需的格式
- 建模:最終構建機器學習模型。
- 模型構建完成後,您將部署模型
為什麼機器學習最近受到如此多的關注?
一個顯而易見的問題是:機器學習已經存在了幾十年,為什麼現在才出現這種情況?
這種發展是由一些潛在的力量推動的:
1. 隨著感測器成本的降低,資料生成量顯著增加(Force 1)
2. 儲存這些資料的成本大幅降低(Force 2)
3. 計算成本已大幅下降 (Force 3)
4. 雲端計算讓大眾得以享受計算的民主化 (Force 4)
這四種力量共同創造了一個世界,我們不僅可以創造更多資料,還可以廉價地儲存資料並對其進行大規模計算。這在以前是不可能的,即使機器學習技術和演算法已經存在。
機器學習中使用哪些工具?
機器學習中使用多種工具和語言。工具的具體選擇取決於您的需求和運營規模。以下是最常用的工具:
語言:
- R – 用於統計計算、資料視覺化和資料分析的語言。
- Python – 流行的通用語言,擁有強大的資料科學、機器學習和自動化庫。
- SAS – 專有分析軟體套件,廣泛用於企業環境中的高階分析和預測建模。
- Julia – 一種專為數值和科學計算而設計的高效能程式語言。
- Scala – 一種在 JVM 上執行的函式式和麵向物件程式語言,通常與 Apache Spark 一起用於大資料處理。
資料庫:
- SQL – 用於管理和查詢關聯式資料庫的結構化查詢語言。
- Hadoop – 使用 MapReduce 程式設計模型進行分散式儲存和處理大型資料集的開源框架。
視覺化工具:
- D3.js – 用於在 Web 瀏覽器中生成互動式資料驅動視覺化效果的 JavaScript 庫。
- Tableau – 用於建立儀表板和互動式視覺化分析的商業智慧工具。
- QlikView – 一款資料發現和視覺化工具,具有用於商業分析的關聯資料建模功能。
其他常用工具:
- Excel – 廣泛使用的電子表格軟體,用於商業環境中的資料錄入、分析、建模和視覺化。
機器學習與深度學習有何不同?
深度學習是機器學習的一個分支。因此,如果用一個簡單的維恩圖來表示它們之間的關係,它看起來應該是這樣的:
您可以閱讀這篇文章,深入瞭解深度學習與機器學習之間的區別。
機器學習中使用了哪些不同的演算法?
機器學習中的演算法分為不同的類別。
- 監督學習
- 線性迴歸
- 邏輯迴歸
- K最近鄰演算法
- 決策樹
- 隨機森林
- 無監督學習
- K均值聚類
- 層次聚類
- 神經網路
機器學習中的資料
您所看到、聽到和做的一切都是資料。您只需以正確的方式捕獲這些資料即可。
如今,資料無處不在。從網站和智慧手機上的日誌到健康裝置,我們都在不斷地建立資料。世界上 90% 的資料都是在過去 18 個月內建立的。
訓練一個機器學習模型需要多少資料?
這個問題沒有簡單的答案。這取決於您要解決的問題、收集增量資料的成本以及資料帶來的收益。為了簡化機器學習中的資料理解,以下是一些指導原則:
- 通常,您需要收集儘可能多的資料。如果收集資料的成本不太高,那麼這種方法最終會很有效。
- 如果捕獲資料的成本很高,那麼您需要根據機器學習模型的預期收益進行成本效益分析。
- 所捕獲的資料應該能夠代表您期望模型處理的行為/環境。
訓練機器學習模型需要什麼樣的資料?
資料大致可分為兩類:
- 結構化資料:結構化資料通常指以表格形式儲存在組織資料庫中的資料。這包括客戶資料、與客戶的互動資料以及其他一些屬性,這些資料在企業的 IT 基礎架構中流動。
- 非結構化資料:非結構化資料包含所有被捕獲但未以表格形式儲存在企業中的資料。例如,來自客戶的信件、推文和圖片。它還包括影像和語音記錄。
機器學習模型可以處理結構化資料和非結構化資料。但是,您需要先將非結構化資料轉換為結構化資料。
機器學習在日常生活中的應用
既然您已經掌握了機器學習的基礎知識,您可能會問它還有哪些其他應用,以及它們如何影響我們的生活。除非你一直與世隔絕,否則你的生活已經深受機器學習的影響。
讓我們來看幾個我們已經運用機器學習成果的例子:
- 智慧手機在拍照或解鎖時可以檢測人臉
- Facebook、LinkedIn 或任何其他社交媒體網站會推薦你的好友和你可能感興趣的廣告
- 亞馬遜會根據你的瀏覽歷史推薦產品
- 銀行使用機器學習即時檢測欺詐交易
機器學習面臨哪些挑戰?
雖然機器學習在過去幾年取得了巨大的進步,但仍有一些重大挑戰亟待解決。這是一個活躍的研究領域,我預計很快就會有人投入大量精力來解決這些問題。
- 需要海量資料:如今訓練一個模型需要海量資料。例如,如果您想根據影像對貓和狗進行分類(並且您不使用現有模型),則需要對數千張影像進行訓練。相比之下,我們通常用兩三張照片向孩子解釋貓和狗的區別。
- 需要大量計算:目前,機器學習和深度學習模型需要大量計算才能完成簡單的任務(對人類來說很簡單)。這就是為什麼需要使用包括 GPU 和 TPU 在內的特殊硬體的原因。
- 模型的解釋有時很困難:某些建模技術可以提供很高的準確率,但很難解釋。這可能會讓企業主感到沮喪。想象一下,如果你是一家銀行,卻無法解釋為何拒絕了客戶的貸款!
- 需要更多資料科學家:此外,由於該領域發展迅速,掌握解決各種問題所需技能的人才並不多。預計未來幾年這種情況仍將持續。所以,如果你正在考慮在機器學習領域發展事業,那麼你完全有理由這樣做!
小結
機器學習是席捲全球的人工智慧革命的核心。這使得人們更有必要了解它並探索其潛力。雖然它並非解決所有問題的靈丹妙藥,但它為未來提供了一個充滿希望的框架。目前,我們正在目睹人工智慧發展與道德把關之間的鬥爭,而道德把關正是為控制它而設立的。隨著這項技術的日益普及,人們很容易因為關注其實用性而忽視其風險,這是過去的一個嚴重錯誤。但有一點是肯定的,那就是未來的前景一片光明。
評論留言