從軟體工程師轉型到資料科學家 我是這樣走的

格伯納發表於2018-04-27

幾年前,作者開始在資料科學領域開始了自己的研究,當時的作者只是一名軟體工程師,當他進行線上搜尋資源時,只看到學習演算法的名稱——包括線性迴歸、支援向量機、決策樹、隨機森林、神經網路等等,很難弄明白到底應該從哪裡開始。而到了今天,明白學習成為資料科學家最重要的是管道,即獲取和處理資料、理解資料、構建模型、評估結果(模型和資料處理階段兩者的過程)和部署。因此,我們首先應該學習邏輯迴歸,而不是被花哨的演算法所淹沒。

從軟體工程師轉型到資料科學家 我是這樣走的

你可以在這篇文章中閱讀到更多關於作者從軟體工程轉入資料科學的經歷。

所以,我們成為資料科學家,應該首先從邏輯迴歸開始入手。這兒提出了5個理由。這當然只是個人的看法,對其他人來說,以不同的方式做事可能會更加容易。

因為學習演算法只是流水線的一部分

正如在一開始所說的那樣,資料科學工作不僅僅是模型構建。它包括以下步驟:

從軟體工程師轉型到資料科學家 我是這樣走的

你可以看到“建模”僅僅是這個重複過程的一部分。在構建資料產品時,先建立整個管道,儘可能簡單,明白你想要達到什麼目標,如何測量自己以及測量基線是一個好習慣。之後,您可以花式進行機器學習,並能夠清楚知道自己是否正在變得更好。

順便說一句,邏輯迴歸(或任何ML演算法)不僅可以用於“建模”部分,還可以用於“資料理解”和“資料準備”,這就是一個例子。

因為你會更好地理解機器學習

相信很多人在閱讀這篇文章的標題時,很多人第一個問的問題一定是為什麼是邏輯迴歸而不是線性迴歸。事實是,這並不重要,因為這個問題本身帶來了兩種監督學習演算法:分類(Logistic迴歸)和迴歸(線性迴歸)。當您使用邏輯或線性迴歸構建流水線時,您將熟悉大多數機器學習概念,同時保持簡單。如監督和無監督學習、分類與迴歸、線性與非線性等等問題。您還可以瞭解如何準備資料,可能存在哪些挑戰(如輸入和特徵選擇),如何測量您的模型,您是否應該使用“準確性”,“Precision-Recall”、“ROC AUC ”或者可能是“均方誤差”和“皮爾森相關”所有這些概念,它們都是資料科學過程中最重要的部分。在熟悉它們之後,您將能夠用您掌握的更復雜的一些元素替換您的簡單模型。

因為“邏輯迴歸”(有時)是足夠的

邏輯迴歸是一種非常強大的演算法,即使對於非常複雜的問題它也可以做得很好。以MNIST為例,僅使用邏輯迴歸就可以達到95%的準確性,這不是一個好的結果,但它的好處足以確保您的管道工作。實際上,如果能夠正確地表現這些功能,它可以做得非常出色。在處理非線性問題時,我們有時會嘗試以線性解釋的方式表示原始資料。下面是這個想法的一個小例子:我們希望對以下資料執行簡單的分類任務:

從軟體工程師轉型到資料科學家 我是這樣走的

如果我們繪製這些資料,我們可以看到沒有一條單獨的線可以將它分開:

從軟體工程師轉型到資料科學家 我是這樣走的

從軟體工程師轉型到資料科學家 我是這樣走的

在這種情況下,邏輯迴歸沒有對資料做任何事情,也不會對我們有所幫助,但是如果我們放棄x2功能並使用x1?,它將如下所示:

從軟體工程師轉型到資料科學家 我是這樣走的

從軟體工程師轉型到資料科學家 我是這樣走的

現在,有一條簡單的線可以分離資料。當然,這個玩具的例子並不像現實生活中的那樣,在現實生活中,很難判斷你需要如何改變你的資料,所以線性分類器可以幫助你,但是如果你投入一些時間在特徵工程中,並選擇您的邏輯迴歸可能會做得非常好。

因為它是統計中的重要工具

線性迴歸不僅適用於預測,一旦您有一個擬合線性迴歸模型,您可以瞭解依賴變數和自變數之間的關係或更多“ML”語言的關係,您可以瞭解您的要素與您的目標之間的關係值,考慮一個簡單的例子,我們有關於房屋定價的資料,和一些功能和實際價格。我們擬合一個線性迴歸模型並獲得好的結果。我們可以看看模型為每個功能學習到的實際權重,如果這些權重很大,我們可以說某些功能比其他功能更重要,而且,我們可以說房屋大小例如負責50%房價的變化和1平方米的增加將導致房價上漲10K。而線性迴歸是學習資料關係的強大工具,統計人員經常使用它。

因為它是學習神經網路的良好開端

對於作者來說,學習邏輯迴歸首先在開始學習神經網路時起了很大作用。您可以將網路中的每個神經元都視為邏輯迴歸,它具有輸入、權重以及對所有這些產品做點積的偏差,然後應用一些非線性函式。此外,神經網路的最後一層是一個簡單的線性模型(大部分時間)。可以看一下這個非常基礎的神經網路:

從軟體工程師轉型到資料科學家 我是這樣走的

讓我們仔細看看“輸出層”,你可以看到這是一個簡單的線性(或邏輯)迴歸,我們有輸入(隱藏層2)、權重、點積,然後新增一個非線性函式(取決於任務)。考慮神經網路的一個好方法是將神經網路分成兩部分,表示部分和分類/迴歸部分:

從軟體工程師轉型到資料科學家 我是這樣走的

第一部分(左側)試圖學習一種資料的良好表示,以幫助第二部分(右側)執行線性分類、迴歸。你可以在這篇精彩的文章中閱讀更多的想法。

結論

要知道你是否能成為資料科學家還有很多事情要做,乍看之下,學習演算法是最重要的部分。現實情況是,在大多數情況下,學習演算法是非常複雜的,需要花費大量的時間和精力才能理解,但這只是資料科學管道的一小部分。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31509949/viewspace-2153462/,如需轉載,請註明出處,否則將追究法律責任。

相關文章