機器學習——智慧機器
簡單來說,機器學習是指軟體無需針對特定活動進行程式設計,即可智慧地執行單一或一系列任務的能力。這是**人工智慧**的一部分。通常,軟體的行為方式由程式設計師編寫程式碼決定;而機器學習則更進一步,使軟體能夠透過使用統計分析和預測分析技術來完成預期的任務。
您可能已經注意到,每當我們在社交媒體網站上點贊或評論朋友的照片或影片時,相關的圖片和影片都會提前釋出並持續顯示。“你可能認識的人”建議也是如此,系統會建議我們新增其他使用者的資料作為朋友,這些使用者與我們現有的朋友列表之間存在某種關聯。想知道嗎?這叫做機器學習。軟體使用統計分析來識別使用者執行的模式,並使用預測分析在您的社交媒體網站上填充相關的新聞資訊。
為什麼需要機器學習?
通常,軟體的工作方式是按照其程式設計方式進行的,其中包含成百上千行復雜的程式碼來執行所需的工作。程式設計師編寫程式碼,只要沒有缺陷,軟體就能完美地執行計劃的任務。那麼,當一切都能透過軟體程式設計順利進行時,為什麼還需要機器學習呢?為什麼需要使軟體能夠識別海量資料並確定下一步可執行的任務呢?
讓我們討論一個簡單的例子,我們每天都會在日常的網路活動中執行這個操作,那就是在谷歌或任何其他搜尋引擎上搜索內容。因此,每當我們搜尋內容時,搜尋引擎都會在幾秒鐘內顯示相關網頁的連結。那麼,僅僅透過程式設計將搜尋結果顯示為基於我們在搜尋欄中輸入的單詞或句子而顯示相關網頁連結就能做到嗎?
數百萬人在同時搜尋網路,並且每分鐘都有許多新的網站上線。那麼,谷歌或任何其他搜尋引擎提供商能夠僅僅透過在執行時進行程式設計來決定在搜尋結果頁面上顯示哪些相關的搜尋內容嗎?這完全不可能。那麼,它是如何工作的呢?讓我們瞭解一下它是如何使用機器學習技術實現的。
機器學習是如何工作的?
機器學習是一種透過使用一些複雜的演算法和預定義規則智慧工作的技術。它使用過去的資料來讀取模式,然後根據分析生成相關資料或執行符合已定義規則和演算法的預期任務。
正如我們在搜尋示例中前面討論的那樣,每當我們在搜尋欄中輸入內容時,搜尋引擎都會使用這種機器學習技術來顯示相關內容。它能夠智慧地讀取網路上的海量資料、索引和排名,並根據定義的規則和演算法顯示搜尋結果。
讓我們討論機器學習技術中涉及的基本步驟。
- 第一步是從各種來源(例如 Excel 檔案、文字檔案或任何其他提供商)收集過去的資料。相關資料的質量是軟體學習的基礎,資料越相關,軟體學習的效果越好。
- 下一步是資料準備。程式設計師花費時間準備高質量的資料並修復資料問題。應糾正缺失的資料以提高資料質量。
- 使用適當的演算法開發資料模型。這些模型是使用相關的演算法開發和測試的,這些演算法使軟體能夠在現實世界中智慧地讀取正確的資料集。
- 下一步是使用在開發模型時使用的資料集以及在開發模型時未使用的資料集來測試模型的準確性。它顯示了模型在最佳精度水平下的效能和準確性。
- 最後,透過使用以前未使用過的各種資料集來檢查和改進效能。這顯示了軟體根據已程式設計演算法中定義的規則讀取新資料集的能力。
更多機器學習示例
正如我們前面討論的那樣,谷歌和其他搜尋引擎提供商如何使用機器學習技術來填充相關資料。讓我們看看更多使用機器學習技術來填充相關資料的示例。
診斷致命性疾病
機器學習技術正在醫療保健領域中使用。該軟體透過讀取患者的過去資料並將這些資料與演算法中定義的症狀進行匹配來幫助檢測癌症等致命性疾病。
面部識別和標籤功能
您可能已經注意到,在將圖片上傳到您的社交媒體帳戶時,軟體會建議您標記圖片中存在的朋友的姓名。它會詢問您是否要標記面部出現在上傳圖片中的人。
這是透過使用機器學習技術實現的。它透過使用這些使用者的過去資料來識別圖片中存在的人的面部,並向您建議準確的姓名。
檢測垃圾郵件
這是我們在電子郵件帳戶中遇到的另一個示例。有些郵件直接進入垃圾郵件資料夾而不是收件箱,為什麼?這又是軟體使用的機器學習技術。
軟體模型根據郵件內容的性質識別郵件資訊,並決定將其允許進入收件箱還是將其標記為垃圾郵件。軟體讀取過去的資料饋送以及規則和演算法集來識別電子郵件的性質。
顯示相關的廣告
在閱讀線上文章或檢視圖片或影片時,您可能已經注意到,來自各種廣告商的購買或檢視產品的相關廣告會不斷出現在網頁側邊欄和其他地方。
這又是機器學習的一個例子。軟體識別文章中使用的資料,並顯示使用者可能感興趣購買或檢視的相關產品。
從銀行、電子商務、機器人到天文學和醫學科學領域,有許多這樣的例子都使用了機器學習技術。您可以在大多數使用大量資料的應用程式中找到機器學習技術的應用。
最後,機器學習技術是當今業務的需求,在當今業務中,我們處理的資料量巨大,並且每秒都在增加。這不能僅僅透過編寫大量複雜的程式碼來管理。