在幾年之前,我踏進了數(shù)據(jù)科學(xué)的大門。之前還是軟件工程師的時候,我是最先開始在網(wǎng)上自學(xué)的(在開始我的碩士學(xué)位之前)。我記得當(dāng)我搜集網(wǎng)上資源的時候,我看見的只有玲瑯滿目的算法名稱—線性回歸,支持向量機(SVM),決策樹(DT),隨即森林(RF),神經(jīng)網(wǎng)絡(luò)等。對于剛剛開始學(xué)習(xí)的我來說,這些算法都是非常有難度的。但是,后來我才發(fā)現(xiàn):要成為一名數(shù)據(jù)科學(xué)家,最重要的事情就是了解和學(xué)習(xí)整個的流程,比如,如何獲取和處理數(shù)據(jù),如何理解數(shù)據(jù),如何搭建模型,如何評估結(jié)果(模型和數(shù)據(jù)處理階段)和優(yōu)化。為了達(dá)到這個目的,我認(rèn)為從邏輯回歸開始入門是非常不錯的選擇,這樣不但可以讓我們很快熟悉這個流程,而且不被那些高大上的算法所嚇倒。
因此,下面將要列出5條原因來說明為什么最開始學(xué)習(xí)邏輯回歸是入門最好的選擇。當(dāng)然,這只是我個人的看法,對于其他人可能有更快捷的學(xué)習(xí)方式。
1. 因為模型算法只是整個流程的一部分
像我之前提到的一樣,數(shù)據(jù)科學(xué)工作不僅僅是建模,它還包括以下的步驟:
可以看到,“建?!?只是這個重復(fù)過程的一部分而已。當(dāng)開展一個數(shù)據(jù)產(chǎn)品的時候,一個非常好的實踐就是首先建立你的整個流程,讓它越簡單越好,清楚地明白你想要獲得什么,如何進行評估測試,以及你的baseline是什么。隨后在這基礎(chǔ)上,你就可以加入一些比較炫酷的機器學(xué)習(xí)算法,并知道你的效果是否變得更好。
順便說下,邏輯回歸(或者任何ML算法)可能不只是在建模部分所使用,它們也可能在數(shù)據(jù)理解和數(shù)據(jù)準(zhǔn)備的階段使用,填補缺失值就是一個例子。
2. 因為你將要更好地理解機器學(xué)習(xí)
我想當(dāng)大家看到本篇的時候,第一個想要問的問題就是:為什么是邏輯回歸,而不是線性回歸。真相其實是都無所謂,理解了機器學(xué)習(xí)才是最終目的。說到這個問題,就要引出監(jiān)督學(xué)習(xí)的兩個類型了,分類(邏輯回歸)和回歸(線性回歸)。當(dāng)你使用邏輯回歸或者線性回歸建立你整個流程的時候(越簡單越好),你會慢慢地熟悉機器學(xué)習(xí)里的一些概念,例如監(jiān)督學(xué)習(xí)v.s非監(jiān)督學(xué)習(xí),分類v.s回歸,線性v.s非線性等,以及更多問題。你也會知道如何準(zhǔn)備你的數(shù)據(jù),以及這過程中有什么挑戰(zhàn)(比如填補缺失值和特征選擇),如何度量評估模型,是該使用準(zhǔn)確率,還是精準(zhǔn)率和召回率,RUC AUC?又或者可能是 “均方差”和“皮爾遜相關(guān)”?所有的概念都都是數(shù)據(jù)科學(xué)學(xué)習(xí)過程中非常重要的知識點。等慢慢熟悉了這些概念以后,你就可以用更復(fù)雜的模型或者技巧(一旦你掌握了之后)來替代你之前的簡單模型了。
3. 因為邏輯回歸有的時候,已經(jīng)足夠用了
邏輯回歸是一個非常強大的算法,甚至對于一些非常復(fù)雜的問題,它都可以做到游刃有余。拿MNIST舉例,你可以使用邏輯回歸獲得95%的準(zhǔn)確率,這個數(shù)字可能并不是一個非常出色的結(jié)果,但是它對于保證你的整個流程工作來說已經(jīng)足夠好了。實際上,如果說能夠選擇正確且有代表性的特征,邏輯回歸完全可以做的非常好。
當(dāng)處理非線性的問題時,我們有時候會用可解釋的線性方式來處理原始數(shù)據(jù)。可以用一個簡單的例子來說明這種思想:現(xiàn)在我們想要基于這種思想來做一個簡單的分類任務(wù)。
X1x2|Y==================-201201-100100
如果我們將數(shù)據(jù)可視化,我們可以看到?jīng)]有一條直線可以將它們分開。
在這種情況下,如果不對數(shù)據(jù)做一些處理的話,邏輯回歸是無法幫到我們的,但是如果我們不用x2特征,而使用x12來代替,那么數(shù)據(jù)將會變成這樣:
X1x1^2|Y==================-241241-110110
現(xiàn)在,就存在一條直線可以將它們分開了。當(dāng)然,這個簡單的例子只是為了說明這種思想,對于現(xiàn)實世界來講,很難發(fā)現(xiàn)或找到如何改變數(shù)據(jù)的方法以可以使用線性分類器來幫助你。但是,如果你可以在特征工程和特征選擇上多花些時間,那么很可能你的邏輯回歸是可以很好的勝任的。
4. 因為邏輯回歸是統(tǒng)計中的一個重要工具
線性回歸不僅僅可以用來預(yù)測。如果你有了一個訓(xùn)練好的線性模型,你可以通過它學(xué)習(xí)到因變量和自變量之間的關(guān)系,或者用更多的ML語言來說,你可以學(xué)習(xí)到特征變量和目標(biāo)變量的關(guān)系。一個簡單的例子,房價預(yù)測,我們有很多房屋特征,還有實際的房價。我們基于這些數(shù)據(jù)訓(xùn)練一個線性回歸模型,然后得到了很好的結(jié)果。通過訓(xùn)練,我們可以發(fā)現(xiàn)模型訓(xùn)練后會給每個特征分配相應(yīng)的權(quán)重。如果某個特征權(quán)重很高,我們就可以說這個特征比其它的特征更重要。比如房屋大小特征,對于房價的變化會有50%的權(quán)重,因為房屋大小每增加一平米房價就會增加10k。線性回歸是一個了解數(shù)據(jù)以及統(tǒng)計規(guī)律的非常強的工具,同理,邏輯回歸也可以給每個特征分配各自的權(quán)重,通過這個權(quán)重,我們就可以了解特征的重要性。
5. 因為邏輯回歸是學(xué)習(xí)神經(jīng)元網(wǎng)絡(luò)很好的開始
當(dāng)學(xué)習(xí)神經(jīng)元網(wǎng)絡(luò)的時候,最開始學(xué)習(xí)的邏輯回歸對我?guī)椭艽?。你可以將網(wǎng)絡(luò)中的每個神經(jīng)元當(dāng)作一個邏輯回歸:它有輸入,有權(quán)重,和閾值,并可以通過點乘,然后再應(yīng)用某個非線性的函數(shù)得到輸出。更多的是,一個神經(jīng)元網(wǎng)絡(luò)的最后一層大多數(shù)情況下是一個簡單的線性模型,看一下最基本的神經(jīng)元網(wǎng)絡(luò):
如果我們更深入地觀察一下output層,可以看到這是一個簡單的線性(或者邏輯)回歸,有hidden layer 2作為輸入,有相應(yīng)的權(quán)重,我們可以做一個點乘然后加上一個非線性函數(shù)(根據(jù)任務(wù)而定)。可以說,對于神經(jīng)元網(wǎng)絡(luò),一個非常好的思考方式是:將NN劃分為兩部分,一個是代表部分,一個是分類/回歸部分。
第一部分(左側(cè))嘗試從數(shù)據(jù)中學(xué)習(xí)并具有很好的代表性,然后它會幫助第二個部分(右側(cè))來完成一個線性的分類或者回歸任務(wù)。
總結(jié)
成為一個數(shù)據(jù)科學(xué)家你可能需要掌握很多知識,第一眼看上去,好像學(xué)習(xí)算法才是最重要的部分。實際的情況是:學(xué)習(xí)算法確實是所有情況中最復(fù)雜的部分,需要花費大量的時間和努力來理解,但它也只是數(shù)據(jù)科學(xué)中的一個部分,把握整體更為關(guān)鍵。
-
算法
+關(guān)注
關(guān)注
23文章
4580瀏覽量
92361 -
人工智能
+關(guān)注
關(guān)注
1789文章
46397瀏覽量
236602
原文標(biāo)題:5個原因告訴你:為什么在成為數(shù)據(jù)科學(xué)家之前,“邏輯回歸”是第一個需要學(xué)習(xí)的
文章出處:【微信號:AI_shequ,微信公眾號:人工智能愛好者社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論