選單

谷歌大牛分享:分步學習在10個月內成為機器學習演算法工程師

昨晚翻牆看到一篇將怎麼成為機器學習演算法工程師的帖子,包含了樓主和野生大佬的學習心得,整理成了一個學習流程,希望能幫助到各位讀者。

不久前,在Excel中使用資料透視表選項是樓主使用數字的最高技能,而python這個詞更可能是樓主只在科技頻道看到的新聞,而不是產生業務洞察力的工具。

他花了十個月的時間離開了生活,自己處於一個獨特的世界進行學習,機器學習可以用自己的能力告訴中位數,在附近的酒吧中講X-bar,並且知道如何教機器他們需要什麼學習。

樓主轉型過程並不容易,需要艱苦的工作,大量的時間,奉獻精神,並在此過程中需要大量的幫助。它還花費了數百小時的不同形式的“學習”,並且花費了相等的時間來練習和應用所學的知識。

簡而言之,要從一個笨拙的資料專家轉變為一個數據呆子並不容易,但是他在經歷一個非常繁忙的工作日程以及成為一個一歲大孩子的父親時設法做到了。

谷歌大牛分享:分步學習在10個月內成為機器學習演算法工程師

以下是樓主的學習路線和心得分享

步驟1:瞭解基本知識

花幾周時間來增強你對資料科學和機器學習領域的“一般知識”。你可能已經對這個領域有什麼想法和某種理解,但是如果你想成為工程師,則需要了解更詳細的細節,以便可以用簡單的術語向幾乎任何人解釋。

建議主題:

什麼是Google Analytics(分析)?

什麼是資料科學?

什麼是大資料?

什麼是機器學習?

什麼是人工智慧?

以上兩個域之間有何不同和相互關聯?

以上所有領域如何在現實世界中應用?

鍛鍊以表明您知道:

撰寫部落格文章,告訴讀者在面試中被問到如何回答這些問題

第2步:瞭解一些統計資訊

儘管樓主覺得自己是機器學習專家,但他不認為自己具有統計學方面的專業知識。與樓主一樣,這對於那些在統計概念上同樣掙扎的人們來說是個好訊息,因為它證明了你可以成為資料科學家而無需成為統計學家。話雖如此,你不能無視統計概念-機器學習和資料科學中也是如此!

因此,你需要做的是理解某些概念,並知道何時可以應用或使用它們。如果你也可以完全理解這些概念背後的理論,那麼請給自己一些好的幫助。

建議主題:

資料結構,變數和摘要

取樣

機率的基本原理

隨機變數的分佈

數字和分類資料的推斷

線性,多元和邏輯迴歸

建議的練習以標記此步驟的完成:

建立參考列表,其中包含你為每個主題找到的最容易理解的解釋,並將其釋出在部落格中。新增與統計相關的問題列表,這些問題可能會在資料科學訪談中回答

步驟3:學習Python或R(或兩者)進行資料分析

事實證明,程式設計比以前想象的更容易學習,更有趣,更有意義。雖然精通一門程式語言可能是永恆的追求,但是在此階段,您需要熟悉學習語言的過程,這並不難。

Python和R都非常受歡迎,掌握其中一個可以使學習另一個非常容易。我從R開始,並逐漸開始使用Python來完成類似的任務。

建議主題:

支援的資料結構

讀取,匯入或匯出資料

資料質量分析

資料清理和準備

資料處理–例如排序,過濾,彙總和其他功能

資料虛擬化

如果你已準備好就進行下一步:

從網站中提取表格,對其進行修改以計算新變數,並建立彙總資料的圖表

步驟4:完成探索性資料分析專案

在有史以來的第一場板球比賽中(見記分卡),澳大利亞人查爾斯·班納曼在板球歷史上的第一局中獲得了球隊總分的67。35%(245分中的165分)。在撰寫本文時,這仍然是板球比賽中的一項記錄,這是擊球手在一局比賽中得分最高的部分。

使這些局面更加引人注目的是,那場測試比賽中的其他43局平均只有10。8局執行,只有約40%的擊球手得分為10局或更多。實際上,一名澳大利亞人在比賽中的第二高得分是20次比賽。鑑於澳大利亞以45杆贏得了比賽,我們可以確信地說,Bannerman的局面是澳大利亞獲勝的最重要因素。

就像我們能夠從測試比賽的計分卡中構建故事一樣,探索性資料分析就是研究資料以瞭解隱藏在其中的故事,然後與所有人共享該故事。

我個人認為資料專案的這一階段最有趣,這是一件好事,因為可以預期,典型專案中的很多時間都將透過探索性資料分析來佔用。

涵蓋的主題:

單變數探索

成對和多變數探索

Tableau中的虛擬化,儀表板和故事講述

專案成果:

建立一個部落格文章,總結練習並共享儀表板或故事。使用至少包含十列和幾千條記錄的資料集

步驟5:建立無監督的學習模型

假設我們擁有世界上所有國家/地區的資料,涉及人口,收入,健康,主要行業等許多引數。現在假設我們想找出在所有這些引數上哪些國家彼此相似。當我們必須將50多個不同引數的每個國家與所有其他國家進行比較時,我們該如何去做?

那就是無監督機器學習演算法出現的時候。不是時候讓您無聊有關這些概念的所有細節,但是好訊息是,一旦你到達這一階段,你便進入了機器學習和學習的世界。

涵蓋的主題:

K均值聚類

關聯規則

里程碑練習:

在來自不同行業或興趣領域的3個不同資料集上實踐K均值聚類

步驟6:建立監督學習模型

如果你擁有過去數百萬貸款申請人的資料及其還款歷史,那麼你能否確定即使在貸款獲得批准之前仍可能拖欠還款的申請人?

給定足夠的先前資料,你能否預測哪些使用者更有可能對數字廣告活動做出響應?你能根據他們目前的生活方式和習慣來確定某人是否更可能在其生活的晚些時候患上某種疾病?

監督學習演算法有助於解決所有這些問題,甚至更多。儘管有很多演算法可以理解和掌握,但是從一些最流行的演算法開始就可以為你開啟一個新的世界,以及可以使資料對組織有用的方法。

涵蓋的主題:

邏輯迴歸

分類樹

整合模型(如Bagging和Random Forest)

監督向量機

在完成此操作之前,您還沒有真正開始建立模型:

取一個數據集,使用您學到的所有演算法建立模型。訓練,測試和調整每個模型以提高效能。比較它們以確定哪種模型是最佳模型,並記錄為什麼你認為如此。

步驟7:瞭解大資料技術

今天使用的許多機器學習模型已經存在了數十年。這些演算法現在只能找到應用的原因是,我們最終可以訪問足夠多的資料,可以將這些資料提供給這些演算法,以使它們能夠提供有用的輸出。

資料工程和體系結構本身就是一個專業領域,但是每個機器學習工程師都必須知道如何處理大資料系統,而不管其在行業中的專業化程度如何。

瞭解能夠有效儲存,訪問和處理大量資料對於能夠建立可以在實踐中實現的解決方案而不僅僅是理論練習很重要。

樓主確實沒有信念地走了這一步,但是很快他發現,這更多是由於擔心Linux介面形式的未知,而不是在圍繞Hadoop系統尋找方法方面的任何實際複雜性。

涵蓋的主題:

大資料概述和生態系統

Hadoop – HDFS,MapReduce,Pig和Hive

火花

這樣做是為了瞭解您已經瞭解的基本知識:

在系統上安裝本地版本的Hadoop或Spark後上傳資料,執行流程並提取結果

步驟8:探索深度學習模型

深度學習模型正在幫助Apple和Google等公司建立Siri或Google Assistant等解決方案。他們正在幫助全球巨頭測試無人駕駛汽車,並向醫生建議最佳治療方案。

藉助深度學習模型,機器可以看到,收聽,閱讀,書寫和講話,並且將以多種方式改變世界,包括極大地改變人們對組織有用的技能。

開始建立可以從水果中分辨出花朵的影象的模型可能不會立即幫助你開始構建自己的無人駕駛汽車,但無疑會幫助你開始尋找到達那裡的道路。

涵蓋的主題:

人工神經網路

自然語言處理

卷積神經網路

TensorFlow

公開簡歷

里程碑練習:

建立一個可以正確識別兩個朋友或家人照片的模型

步驟9。進行並完成一個數據專案

到目前為止,你幾乎已經準備好以機器學習工程師的身份向世界釋放自己的力量,但是你需要展示自己學到的所有知識,然後其他人才會願意與你達成一致。

網際網路為找到此類專案提供了機會。如果你對前面的八個步驟都非常勤奮,則很有可能你已經知道如何找到一個能激發你的興趣,對某人有用並能證明你的知識和技能的專案。

涵蓋的主題:

資料收集,質量檢查,清潔和準備

探索性資料分析

模型建立和選擇

專案報告

里程碑練習:

與將對您的報告感興趣的利益相關者保持聯絡,並與他們分享您的發現並獲得反饋

最後

機器學習和人工智慧是當前和未來的一組技能。這也是一個學習永遠不會停止的領域,就裝備最急需的技能而言,很多時候你可能不得不繼續跑步才能留在原地,特別是國內的情況,落後的話不僅意味著薪資瓶頸,也可以面臨被最佳化。