數據科學中的6個基本算法,掌握它們要學習哪些知識

2020-12-11 千家智客

曉查 發自 凹非寺

量子位 出品 | 公眾號 QbitAI

如果想從事數據科學,但是又沒有數學背景,那麼有多少數學知識是做數據科學所必須的?

統計學是學習數據科學繞不開的一門數學基礎課程,但數據科學也經常會涉及數學中的其他領域。

數據科學使用算法進行預測,這些算法稱為機器學習算法,有數百種之多。有人總結了數據科學中最常用的6種算法,已經掌握它們分別需要哪些數學知識。

樸素貝葉斯分類器

樸素貝葉斯分類器(Naive Bayes classifier)是一種簡單的概率分類器,它基於特徵之間相互獨立的假設,以貝葉斯定理為基礎。

貝葉斯定理的數學公式為:

其中A、B表示兩個事件,且P(B)不等於0。各個部分具體的含義為:

1、P(A|B)是條件概率,它是事件B發生後事件A發生的概率。

2、P(B|A)也是一個條件概率,它是事件A發生後事件B發生的概率。事件發生的可能性 發生了 是真的。

3、P(A)和P(B)是各自發生的概率,A、B兩個事件彼此獨立。

需要的數學知識:

如果你想要了解樸素貝葉斯分類器,以及貝葉斯定理的所有用法,只需學習概率課程就足夠了。

線性回歸

線性回歸是最基本的回歸類型,它用來理解兩個連續變量之間的關係。在簡單線性回歸的情況下,獲取一組數據點並繪製可用於預測未來的趨勢線。

線性回歸是參數化機器學習的一個例子,訓練過程最終使機器學習找到最接近於訓練集的數學函數,然後可以使用該函數來預測未來的結果。在機器學習中,數學函數被稱為模型。在線性回歸的情況下,模型可以表示為:

a1, a1, ……,an表示對數據集的參數值,x1, x1, ……,xn表示在線性模型中使用的特徵值。

線性回歸的目標是找到描述特徵值和目標值之間關係的最佳參數值。換句話說,就是找到一條最適合數據的線,可以外推趨勢以預測未來結果。

為了找到線性回歸模型的最佳參數,我們希望讓殘差平方和(residual sum of squares)最小化。殘差通常被稱為誤差,它用來描述預測值和真實值之間的差異。殘差平方和的公式可表示為:

y的「頭頂」加上^用來表示預測值,y表示真實值。

需要的數學知識:

如果你只想粗略地了解,基礎統計學課程就可以了。殘差平方和的公式可以在大多數高級統計課程中學到。

邏輯回歸

邏輯回歸(Logistic regression)側重於二元分類,即輸出結果只有兩種情況的概率。

與線性回歸一樣,邏輯回歸是參數化機器學習的一個例子。因此,這些機器學習算法的訓練過程的結果是找到最接近訓練集的數學函數模型。

但是線性回歸模型輸出的是一組實數,而邏輯回歸模型輸出的是概率值。在邏輯回歸的過程中還會用到sigmoid函數,它會把所有值壓縮到0~1的範圍之間。

需要的數學知識:

這一部分包含的知識有指數函數和概率,你需要對代數和概率論有充分的理解。如果想深入了解,建議學習概率論、離散數學或實分析。

神經網絡

神經網絡是一種機器學習模型,它們受到人類大腦中神經元結構的極大啟發。神經網絡模型使用一系列激活單元(稱為神經元)來預測某些結果。神經元將輸入應用於轉換函數,並返回輸出。

神經網絡擅長獲取數據中的非線性關係,並幫助我們完成音頻和圖像處理等任務。雖然存在許多不同類型的神經網絡(比如卷積神經網絡、前饋神經網絡、遞歸神經網絡等),但它們都依賴於轉換輸入生成輸出的基本概念。

在上圖中,線條將每個圓圈連接到另一個圓圈。在數學中,這就是所謂的圖,一種由邊連接的節點組成的數據結構。

神經網絡的核心是一個系統,它接收數據,進行線性代數運算,然後輸出答案。

線性代數是理解神經網絡的關鍵,它通過矩陣和向量空間來表示線性方程。因為線性代數涉及矩陣表示線性方程,所以矩陣是理解神經網絡核心部分必須知道的基本知識。

矩陣是由數字、符號或表達式組成的矩形陣列,按行和列排列。例如:

它被稱為3×3矩陣,因為它有三行三列。

神經網絡,每個特徵都表示為輸入神經元。每個特徵的數值乘以神經元的權重向量獲得輸出。在數學上,該過程是這樣的:

其中X是一個m×n矩陣,m是神經元輸入的數量,n神經元輸出的數量。a是權重向量,aT是a的轉置,b是偏置。

偏置(bias)通過向左或向右移動S形函數來影響神經網絡輸出,以便對某些數據集進行更好的預測。轉置(Transpose)是一個線性代數術語,它的意思是把矩陣的行變成列、列變成行。

在所有特徵列和權重相乘之後,調用激活函數來確定神經元是否被激活。激活函數有三種主要類型:RELU函數sigmoid函數雙曲正切函數

sigmoid函數我們已經知道了。RELU函數是一個簡潔的函數,當輸入x大於0的時候輸出x,當輸入x小於0的時候輸出0。雙曲正切函數與sigmoid函數類似,只是它用來約束-1和1之間的數值。

需要的數學知識:

離散數學和線性代數課程是必須的。為了深入理解,還需要學習圖論、矩陣論、多元微積分和實分析課程。

K-平均聚類

K-平均聚類(K-Means Clustering)算法是一種無監督機器學習,用於對未標記數據進行分類。該算法通過在數據中查找組來工作,其中組由變量k表示。它根據提供的特徵將每個數據點分配給k組中的一個。

K-平均聚類依賴於整個算法中的距離概念,將數據點「分配」到聚類。在數學中,描述集合中任意兩個元素之間距離的指標有兩種:歐幾裡德距離和計程車距離(又叫曼哈頓距離)。

其中,(x1, y1)、(x2, y2 )是笛卡爾平面上的坐標點。

雖然歐幾裡得距離標準已經足夠,但在某些情況下它不起作用。假設在城市街道上乘坐計程車,那麼你是沒法走斜線的,只能走橫平豎直的街道,這時候我們可以使用計程車距離:

需要的數學知識:

這部分牽涉到的知識比較少。實際上你只需要知道加法和減法和代數的基礎知識,就可以掌握距離公式。但是為了深入理解每種距離的基本幾何形狀,建議學習歐氏幾何和非歐幾何。為了深入理解指標和度量空間的含義,我會閱讀數學分析並參加實分析課程。

決策樹

決策樹是一種類似流程圖的樹結構,它使用分支方法來說明決策的每個可能結果。樹中的每個節點代表對特定變量的測試,每個分支都是該測試的結果。

決策樹依賴於資訊理論(information theory)。在資訊理論中,人們對某個主題了解越多,可以知道的新信息就越少。資訊理論的關鍵之一是(entropy)。熵是變量不確定性的一種度量,具體形式為:

在上面的公式中,P(x)是數據集中特徵出現的概率。b是對數函數的底,它常見的值有2、e和10。前面的Σ符號表示求和,它的上下方分別寫著求和的上限和下限。

在計算熵之後,我們可以通過信息增益(information gain)構造決策樹,它告訴哪種拆分方式會最大程度地減少熵。信息增益的公式如下:

信息增益用于衡量可以獲得多少「信息」。在決策樹中,我們可以計算數據集中每一列的信息增益,找到哪一列能為我們提供最大的信息增益,然後在該列上進行拆分。

需要的數學知識:

基本的代數和概率知識是了解決策樹所必須的。

原文地址:

https://www.dataquest.io/blog/math-in-data-science/

相關焦點

  • 10個數據科學領域學習資源
    通過使用數據科學應用程式的四個逐步增加難度的SQL項目,你將了解諸如SQL基礎知識、數據爭用、SQL分析、AB測試、使用ApacheSpark的分布式計算等主題。6) 高級機器學習在大聯盟裡,沒有填鴨式灌輸。
  • 成為偉大的數據科學家需要掌握的基本數學
    對於從其他行業(硬體工程、零售、化學加工工業、醫藥和衛生保健、商業管理等)進入數據科學領域的新人來說,這一基本數學知識尤為重要。雖然這類領域可能需要電子表格、數值計算和投影方面的經驗,但數據科學所需的數學技能可能有很大的不同。考慮web開發人員或業務分析人員。他們可能每天都要處理大量的數據和信息。數據科學應該是關於科學而不是數據。
  • 100天學習計劃 | 一份詳實的數據科學指南
    我遇到過許多對學習數據科學充滿熱情的人,但僅僅幾周後,他們就放棄了學習。我想知道為什麼一個人對一個領域如此熱情卻不去追求它?通過與他們中的一些人交談,我了解到人們放棄學習的主要原因是:這些甚至會嚇到一個有經驗的數據科學家,難怪他們會讓試圖學習數據科學的人放棄。上面的每一個話題就像一片海洋,當有人試圖快速掌握它們時,他們會感到沮喪並放棄學習。
  • 資源| 自學數據科學&機器學習?19個數學和統計學公開課推薦
    後來他想,做點應用數學應該是個有趣的變化。——數學家 John Edensor Littlewood數學和統計學是數據科學和機器學習的基礎。就我所知,大多數成功的數據科學家都來自這些領域——計算機科學、應用數學和統計學、經濟學。如果你想掌握數據科學,你就必須要對基本代數和統計學有很好的了解。但是,對於沒有數學背景的人來說,起步之路可能會舉步維艱。
  • 五個給機器學習和數據科學入門者的學習建議
    這兩部分知識你都會需要。在學習 Python 編程的同時,練習使用 Jupyter 和 Anaconda 等數據科學工具。花幾個小時來研究一下,它們是用來做什麼的以及為什麼要使用它們。學習資源人工智慧要素 (https://www.elementsofai.com/)—人工智慧和機器學習主要概念概述。
  • 進入大學學習AI之前,高中生應掌握哪些基礎知識?
    從這一點說,在高中階段加強數學概念的學習,有助於提高學生將來對數學的理解。例如,統計在數據最小化中起著至關重要的作用,它提高了計算速度。那麼,在大學學習人工智慧之前,高中生需要掌握哪些知識呢?Matroid公司執行長、史丹福大學兼職教授Reza Zadeh在推特上說,數學中的概念——微積分、線性代數、概率和統計,可以為那些希望在人工智慧領域發展的學生提供良好的基礎。
  • AI、大數據和數據科學的10類算法, 以及它們擅長的任務
    【新智元導讀】AI正在改變我們的職業、我們的工作方式和我們的企業文化。AI讓我們得以專注於那些真正關鍵的技術,讓人力資源得以充分發揮他們的長處。但在工作場景中應用AI確實會讓事情變得複雜,因為有各種不同層級的算法可以用於實現AI,每一類的使用和影響都有差別。
  • 文科生如何高效學習數據科學?
    我覺得這是個非常好的問題。對於非IT類本科畢業生,尤其是「文科生」(定義見這裡),讀研階段若要用到數據科學方法,確實有很多知識和技能需要補充。他們中不少人因此很焦慮。但是焦慮是沒有用的,不會給你一絲一毫完善和進步。學會拆解和處理問題,才是你不斷進步的保證。
  • 在數據科學領域中,你需要多少數學知識?
    引言  如果你有心學習數據科學,那麼你一定會在腦海中想過下面的問題:  沒有或者只有很少的數學知識,我能做一個數據科學家嗎? 數據科學必需的數學工具有哪些?  有很多優秀的包可用於建立預測模型或者數據可視化。
  • 【TD精選】學習數據科學的102個資源
    為了達到目的,您必須從數據科學基礎的基本技術和基本概念入手。學習數據科學需要了解數據科學的流程,以及將所有內容整合在一起所需的各種組件。概覽首先需要了解構成數據科學領域的相關流程和概念,以便您可以學習數據科學。
  • 程式設計師必須掌握的核心算法有哪些?
    由於我之前一直強調數據結構以及算法學習的重要性,所以就有一些讀者經常問我,數據結構與算法應該要學習到哪個程度呢?,說實話,這個問題我不知道要怎麼回答你,主要取決於你想學習到哪些程度,不過針對這個問題,我稍微總結一下我學過的算法知識點,以及我覺得值得學習的算法。
  • 重啟數據科學:如何開啟第二次的學習?
    學習基礎的Python概念有助於學習數據科學。關於Python的知識,很多還是個謎。但隨著課程推進,可以通過實踐進行學習。連結: https://www.kaggle.com/learn/python價格:免費Kaggle微課:數據可視化數據可視化最容易被忽略,但它確實十分重要,有助於充分掌握要處理的數據。
  • 為初學者提供的63個免費的數據科學學習資源
    要想成為數據科學家,你將面臨一個艱巨的挑戰。不僅要掌握機器學習等技術,還要學會商業分析。但是,回報也是豐厚的。此外,你還會解決許多有趣的問題,可以掌握新的、有影響力的技術。本文分享了63個免費的數據科學學習資源,這些資源專門為初學者而準備。目錄如下:1.
  • 資源 | 20本機器學習與數據科學必讀書籍
    d=RFII4v機器學習是計算機科學發展最快的領域之一,具有深遠的應用。本書的目的是以原則性的方式介紹機器學習及其提供的算法範例。本書提供了機器學習的基礎知識,以及將這些原理轉化為實際算法的數學推導的說明。在介紹基礎知識之後,本書還涵蓋了以前教科書沒有提到的大量重要的課題。
  • 數據科學中的Python與R
    數據科學家需要獨特的綜合技能,在數據方面是典型的「十」字型人才,即至少擁有兩項以上上述的數據技術、數據管理、數據安全、數據政策、數據挖掘與分析人才所必備的基本技能。    數據科學註定是一門交叉學科,其知識結構也比較複雜,需要同時具備理論基礎和工程經驗,以及掌握各種工具的用法。涉及到基礎的數學方法,如統計學習、計算機相關知識如機器學習、圖形設計和展示如可視化以及領域知識的運用等。
  • 機器學習入門必讀:6種簡單實用算法及學習曲線、思維導圖
    有的人說機器學習入門並不難,有的人會覺得機器學習難以理解。那麼該如何去學習機器學習這種技術與方法呢?在本文當中,我們將介紹掌握機器領域知識的學習曲線、技術棧以及常用框架。01 機器學習算法1.聚類算法聚類算法是一類無監督學習算法。聚類是研究(樣品或指標)分類問題的一種統計分析方法,同時也是數據挖掘的一個重要算法。聚類分析以相似性為基礎,在一個聚類中的模式比不在同一聚類中的模式具有更多的相似性,這是聚類分析的最基本原理。
  • 數據科學家需要掌握的10個基本統計技術
    為什麼學習統計學習?了解各種技術背後的想法是非常重要的,可以讓你知道如何以及何時使用它們。由簡入繁,首先要理解更簡單的方法,才好把握更複雜的方法。準確地評估一種方法的性能,了解它的工作效果多好或者多糟,這一點很重要。
  • 求職|一份理想的數據科學家簡歷中要包括哪些技能?
    在本文中,我們對Indeed中一千份數據科學相關的招聘信息進行了分析,主要針對數據工程師、數據科學家和機器學習工程師這三個職位,希望能解答你的疑問。首先,讓我們來看看不同職位的技能要求。此外,TensorFlow在深度學習領域絕對佔據主導地位。儘管Keras作為高級深度學習框架在數據科學家中非常受歡迎,但對於機器學習工程師職位,很少要求要掌握Keras,這可能表明機器學習從業者大多使用較低級別的框架,如TensorFlow。
  • 數據產品必備技術知識:機器學習及常見算法,看這一篇就夠了
    大家都知道,產品經理需要懂技術,畢竟產品經理經常要和開發同學相愛相殺。不一定要精通,但至少不要讓這塊成為溝通的障礙。懂點技術,實際工作中也能少被開發同學「忽悠」,講道理時不會畏手畏腳,更有底氣。對於數據產品經理來說,不僅要懂技術,還要懂更多的技術。本文分享了數據產品經理必備的那些技術知識。
  • 乾貨滿滿|不容錯過的數據科學入門數學指南
    數據科學就屬於後者。如果你想從事數據科學工作,你就必須解決數學問題。如果你已經獲得了數學學位或其它強調數學技能的學位,你可能想知道你學到的這些知識是否都是必要的。而如果你沒有相關背景,你可能想知道:從事數據科學工作究竟需要多少數學知識?在本文中,我們將探討數據科學意味著什麼,並討論我們到底需要多少數學知識。讓我們從「數據科學」的實際含義開始講起。