入門推薦:使用Python進行機器學習

探界行者 發佈 2020-01-03T13:53:27+00:00

什麼是機器學習?機器學習是人工智慧的一部分,它使計算機能夠自動學習,並通過經驗不斷提高自己。機器學習的主要焦點是開發電腦程式,這些程序可以根據新發現的數據進行自我改進,而無需修改編程。它通過結合數據和統計工具來預測輸出,並與數據挖掘和貝葉斯預測建模有關。

什麼是機器學習?

機器學習是人工智慧的一部分,它使計算機能夠自動學習,並通過經驗不斷提高自己。機器學習的主要焦點是開發電腦程式,這些程序可以根據新發現的數據進行自我改進,而無需修改編程。它通過結合數據和統計工具來預測輸出,並與數據挖掘和貝葉斯預測建模有關。

在機器學習的過程中,系統接收數據作為輸入,並使用該算法提供輸出。機器學習用於欺詐檢測、投資組合優化、預測維護等等。機器學習算法有樸素貝葉斯算法、決策樹算法、支持向量機算法、K近鄰算法、K均值聚類算法、隨機森林算法等。目前,它被廣泛應用於價格預測、自動駕駛汽車、欺詐檢測甚至自然語言處理等領域。

機器學習可分為三個部分:

監督學習:在監督機器學習中,機器從有助於提供正確輸出的標記良好的數據中學習。

無監督學習:在該算法中,機器使用非分類數據進行訓練,並且在沒有指導的情況下工作。該算法用於計算輸入數據的聚類。

強化學習:它允許電腦程式與它的動態交互,並且程序接受正反饋或負反饋以提高性能。

什麼是Python?

Python是一種高級的面向對象程式語言,由Guido van Rossum於1991年開發。它簡單易懂,也容易學習。它促進了程序模塊化和代碼重用。因為它是一種交互語言,這意味著我們可以直接與解釋器交互來編寫代碼。

為什麼使用Python進行機器學習?

Python的各種特性使其成為ML的高技術,如下所示:

易於代碼:與Python編寫代碼相比,類似於C++和Java的另一種程式語言非常容易。

面向對象:Python是完全基於OOPs的語言。它支持面向對象語言的所有概念,如類、對象、繼承、多態性、封裝等。

集成:它可以很容易地集成與其他語言,如C,C++等。

動態:這是一種動態類型語言,意味著不需要聲明數據類型,因為它是在運行時決定變量類型的。

可移植:Python是一種獨立的語言。您可以在任何作業系統Windows或MAC上執行相同的程序,因為在其他作業系統上運行時不需要編寫不同的代碼。

機器學習是如何工作的?

機器學習的過程從將訓練數據輸入到所選算法開始。利用已知或未知的訓練數據來開發最終的機器學習算法,並且訓練數據的類型會對算法產生影響。

為了檢查該算法是否正常工作,將新的數據輸入機器學習算法,然後檢查結果和預測。如果結果是不可預期的,那麼重新訓練算法多次,直到沒有提供所需的輸出。它使機器學習算法能夠不斷地自己學習,並產生隨著時間的推移提高正確性的最佳結果。

機器學習的應用

機器學習有幾種應用:

谷歌翻譯:機器學習廣泛應用於谷歌翻譯。它是機器學習最強大的應用之一。GNMT(谷歌神經機器翻譯)是通過使用自然語言處理在許多不同類型的語言和字典上工作的一種神經機器學習,並提供任何單詞或句子的最佳答案。

自動駕駛汽車:機器學習在自動駕駛汽車中起著至關重要的作用。一家汽車製造公司特斯拉正在研發一款自動駕駛汽車。自動駕駛汽車的機器學習算法的主要任務是對周圍環境進行連續的轉換,並預測對周圍環境可能發生的變化。主要研究目標檢測、目標定位、目標分類和運動預測。採用無監督學習算法對該車模型進行訓練,使其在駕駛過程中識別出目標和人。

欺詐檢測:欺詐檢測是機器學習最重要的應用之一。它為在線交易提供安全性。由於各種在線支付方式的可用性,如信用卡或借記卡、網上銀行、智慧型手機、UPI和幾種類型的錢包,在線交易在過去幾年中大幅增加。此外,犯罪人數不斷增加,以發現網上支付系統的漏洞。

當我們使用任何一種在線支付方式時,前饋神經網絡都會檢測出它是授權交易還是未授權交易,從而使在線交易更加安全。

社交媒體:機器學習在Facebook、Twitter、Instagram等社交媒體應用程式或任何其他社交媒體應用程式中提供自動好友標記建議。例如,Facebook經常會注意到你聯繫的朋友的個人資料、你的興趣、工作場所、你經常訪問的個人資料。因此,它會根據你在Facebook上與其他人的互動來推薦一個好友列表,因此,如果你認為某個人可以成為你的朋友,你可以向他們中的任何一個發送好友請求。此外,機器學習允許Facebook自動找到與其資料庫匹配的人的面部檢測和圖像識別,並建議你與此人進行標記。

搜尋引擎:機器學習在Google和其他搜尋引擎中用於改進搜索結果。每當您搜索某個東西並打開搜索結果的頂部連結並在該網頁上停留很長時間時,搜尋引擎就會根據查詢了解所提供的結果是適當的。同樣地,如果您到達第二、第三或另一個頁面,但沒有打開任何頁面,那麼搜尋引擎將假定顯示的結果與要求不匹配。因此,該算法在後端工作,以改善搜索結果。

電子郵件垃圾郵件和惡意軟體過濾:有幾種技術可用於機器學習中的垃圾郵件過濾。每當你收到一封電子郵件,一封郵件就會被自動過濾為普通郵件、重要郵件和垃圾郵件。重要郵件在收件箱中以重要符號接收,垃圾郵件在垃圾郵件箱中以機器學習的方式接收。這些算法包括決策樹、多層感知、樸素貝葉斯分類器等,用於惡意軟體檢測和垃圾郵件過濾。Gmail使用了一些垃圾郵件過濾器,如頭過濾器、內容過濾器、權限過濾器、基於規則的過濾器、一般黑名單過濾器。

機器學習的生命周期

機器學習的生命周期是指從數據中收集知識。它使用數據作為輸入,同時具有學習和改進算法的能力。它分為三個階段:管道開發、培訓和推理。如下圖所示。


機器學習生命周期中有很多步驟。如下所示:

數據收集:數據收集是機器學習生命周期的第一步。此步驟的目標是識別和接收與問題相關的所有數據。收集數據的來源可以是網際網路、文件、資料庫或移動設備。藉助於產出的效率,它決定了所收集數據的質量和數量。它涉及到識別多個數據源、收集數據和組合從不同來源接收的數據的任務過程。

數據整理:此步驟整理收集的數據,以便進一步移動。它將數據保存在適當的位置,並組織數據用於機器學習培訓。數據排列遵循兩個步驟,如下所示。

數據分析:用於確定數據的質量、特徵和格式。

數據預處理:對分析數據進行預處理。

數據篩選:在此步驟中,清理數據並將其轉換為操作格式,使其更適合分析數據。有時,收集到的數據是無用的。它伴隨著各種各樣的問題。它可以是無效數據、丟失值、重複數據和噪聲等。因此,我們必須使用幾種數據過濾技術來清理數據。

數據分析:它用來建立一個機器學習模型,使用各種分析技術來分析和回顧結果。它確定了問題的性質,選擇了回歸、分類、關聯、聚類分析等機器學習技術,利用分析的數據構建模型,並對模型進行評價。

訓練模型:在此步驟中,使用多種機器學習算法訓練模型,以提高其性能並獲得更好的輸出。訓練模型的目的是了解不同的模式、特性和規則。

測試模型:在對模型進行訓練之後,它將進入測試階段,檢查模型是否提供了最佳結果。根據工程或問題的需要,分析了模型的精度百分比。

部署:在最後一步部署中,我們在實際系統中建立模型。如果訓練後的模型能夠在較短的時間內根據需求產生正確的答案,那麼我們就可以將模型部署到實際系統中。但是,如果它沒有按照要求提供準確的結果,那麼重新訓練模型,直到它沒有給出期望的結果。

關鍵字: