【機器學習】必會數學知識:一文掌握數據科學核心數學知識點(下),收藏~

核心數學知識點

  • 1、引言
  • 2、數據科學必會數學知識
    • 2.13 K均值聚類
    • 2.14 決策樹
    • 2.15 隨機森林
    • 2.16 梯度下降
    • 2.17 隨機梯度下降(SGD)
    • 2.18 卷積
    • 2.19 拉普拉斯變換
    • 2.20 傅里葉變換
    • 2.21 信息論
    • 2.22 時間序列分析
    • 2.23 生成模型與判別模型
    • 2.24 支持向量機(SVM)
    • 2.25 均方誤差(MSE)
    • 2.26 L2 正則化
  • 3、總結

1、引言

小屌絲:魚哥,數學知識點下一部分呢。
小魚:別著急,別著急,這就來了。
小屌絲:一點都不自覺,還得我提醒呢。
小魚:…
在這里插入圖片描述

2、數據科學必會數學知識

2.13 K均值聚類

  • 定義:一種分組數據的方法,將數據點劃分為K個簇。
  • 核心原理:歐氏距離、質心更新。
  • 用法:數據挖掘、圖像分割。
  • 算法公式:質心更新 μ j = 1 ∣ C j ∣ ∑ x i ∈ C j x i \mu_j = \frac{1}{|C_j|} \sum_{x_i \in C_j} x_i μj?=Cj?1?xi?Cj??xi?
  • 代碼示例
from sklearn.cluster import KMeansX = [[1, 2], [1, 4], [1, 0], [10, 2], [10, 4], [10, 0]]
kmeans = KMeans(n_clusters=2, random_state=0).fit(X)

2.14 決策樹

  • 定義:一種遞歸分割數據的樹形模型,用于分類和回歸。
  • 核心原理:信息增益、基尼系數、剪枝。
  • 用法:分類、回歸、特征選擇。
  • 算法公式:信息增益 I G ( D , a ) = H ( D ) ? ∑ v ∈ V a l u e s ( a ) ∣ D v ∣ ∣ D ∣ H ( D v ) IG(D, a) = H(D) - \sum_{v \in Values(a)} \frac{|D_v|}{|D|}H(D_v) IG(D,a)=H(D)?vValues(a)?DDv??H(Dv?)
  • 代碼示例
from sklearn.tree import DecisionTreeClassifier
X = [[0, 0], [1, 1]]
y = [0, 1]
tree = DecisionTreeClassifier().fit(X, y)

2.15 隨機森林

  • 定義:通過合并多個決策樹模型提高預測準確性的技術。
  • 核心原理:集成學習、Bagging、隨機子空間。
  • 用法:分類、回歸、特征重要度評估。
  • 算法公式:樹的預測加權平均 f ^ = 1 K ∑ k = 1 K f k \hat{f} = \frac{1}{K} \sum_{k=1}^K f_k f^?=K1?k=1K?fk?
  • 代碼示例
from sklearn.ensemble import RandomForestClassifierX = [[0, 0], [1, 1]]
y = [0, 1]
rf = RandomForestClassifier(n_estimators=10).fit(X, y)

2.16 梯度下降

  • 定義:一種優化算法,用于最小化成本函數。
  • 核心原理:損失函數、梯度計算、學習率。
  • 用法:模型參數優化、神經網絡訓練。
  • 算法公式 θ = θ ? η ? J ( θ ) \theta = \theta - \eta \nabla J(\theta) θ=θ?η?J(θ)
  • 代碼示例
import numpy as npdef gradient_descent(x, y, theta, alpha, iterations):m = len(y)for _ in range(iterations):gradient = np.dot(x.T, (np.dot(x, theta) - y)) / mtheta -= alpha * gradientreturn theta

2.17 隨機梯度下降(SGD)

  • 定義:一種基于梯度下降的優化算法,但每次迭代只使用一個樣本。
  • 核心原理:隨機擾動、收斂性、學習率。
  • 用法:大規模數據集的優化。
  • 算法公式 θ i = θ i ? 1 ? η ? J ( θ i ? 1 ; x ( i ) , y ( i ) ) \theta_{i} = \theta_{i-1} - \eta \nabla J(\theta_{i-1}; x^{(i)}, y^{(i)}) θi?=θi?1??η?J(θi?1?;x(i),y(i))
  • 代碼示例
from sklearn.linear_model import SGDClassifierX = [[0, 0], [1, 1]]
y = [0, 1]
sgd = SGDClassifier().fit(X, y)

2.18 卷積

  • 定義:一種運算,用于信號、圖像、數據特征提取。
  • 核心原理:濾波、滑動窗口、卷積核。
  • 用法:卷積神經網絡(CNN)、圖像處理。
  • 算法公式 ( f ? g ) ( t ) = ∫ ? ∞ ∞ f ( τ ) g ( t ? τ ) d τ (f * g)(t) = \int_{-\infty}^{\infty} f(\tau)g(t - \tau)d\tau (f?g)(t)=??f(τ)g(t?τ)dτ
  • 代碼示例
import numpy as np
from scipy.signal import convolve2dimage = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
kernel = np.array([[1, 0], [0, -1]])
result = convolve2d(image, kernel, mode='valid')

2.19 拉普拉斯變換

  • 定義:用于把微分方程轉化為代數方程的一種積分變換。
  • 核心原理:函數變換、線性運算。
  • 用法:信號處理、控制系統。
  • 算法公式 F ( s ) = ∫ 0 ∞ f ( t ) e ? s t d t F(s) = \int_{0}^{\infty} f(t) e^{-st} dt F(s)=0?f(t)e?stdt
  • 代碼示例
from sympy.integrals.transforms import laplace_transform
from sympy import symbols, expt, s = symbols('t s')
f = exp(-t)
F = laplace_transform(f, t, s)

2.20 傅里葉變換

  • 定義:將時間域信號轉換到頻域的一種變換技術。

  • 核心原理:頻譜分析、濾波。

  • 用法:信號處理、圖像處理。

  • 算法公式 F ( ω ) = ∫ ? ∞ ∞ f ( t ) e ? i ω t d t F(\omega) = \int_{-\infty}^{\infty} f(t) e^{-i\omega t} dt F(ω)=??f(t)e?tdt

  • 代碼示例

import numpy as npx = np.linspace(0, 2 * np.pi, 10)
y = np.sin(x)
y_fft = np.fft.fft(y)

2.21 信息論

  • 定義:研究信息的度量、傳遞和壓縮的理論。
  • 核心原理:熵、互信息、編碼定理。
  • 用法:數據壓縮、特征選擇。
  • 算法公式:熵 H ( X ) = ? ∑ i P ( x i ) log ? P ( x i ) H(X) = -\sum_{i} P(x_i) \log P(x_i) H(X)=?i?P(xi?)logP(xi?)
  • 代碼示例
from sklearn.feature_selection import mutual_info_classifX = [[1, 2], [3, 4], [5, 6]]
y = [0, 1, 0]
mi = mutual_info_classif(X, y)

2.22 時間序列分析

  • 定義:分析時間序列數據的統計方法。
  • 核心原理:自相關、移動平均、ARIMA模型。
  • 用法:經濟預測、庫存控制。
  • 算法公式: ARIMA模型 Y t = c + φ 1 Y t ? 1 + ε t + θ 1 ε t ? 1 Y_t = c + \varphi_1 Y_{t-1} + \varepsilon_t + \theta_1 \varepsilon_{t-1} Yt?=c+φ1?Yt?1?+εt?+θ1?εt?1?
  • 代碼示例
import pandas as pd
from statsmodels.tsa.arima.model import ARIMAdata = pd.Series([1, 2, 3, 4, 5, 6])
model = ARIMA(data, order=(1, 1, 1))
model_fit = model.fit()

2.23 生成模型與判別模型

  • 定義:生成模型嘗試建模輸入數據及其標簽的聯合概率分布,而判別模型則直接建模標簽條件概率。
  • 核心原理:生成模型(如高斯混合模型)、判別模型(如邏輯回歸)。
  • 用法:分類、聚類。
  • 算法公式
    • 生成模型 P ( X , Y ) = P ( Y ) P ( X ∣ Y ) P(X, Y) = P(Y)P(X|Y) P(X,Y)=P(Y)P(XY)
    • 判別模型 P ( Y ∣ X ) P(Y|X) P(YX)
  • 代碼示例
from sklearn.mixture import GaussianMixture
'''
生成模型 - 高斯混合模型 
'''
X = [[1, 2], [3, 4], [5, 6]]
gmm = GaussianMixture(n_components=2).fit(X)

2.24 支持向量機(SVM)

  • 定義:一種監督學習模型,用于分類和回歸。
  • 核心原理:最大間隔分類、核函數。
  • 用法:分類、回歸、異常檢測。
  • 算法公式: 決策邊界 w T x + b = 0 w^T x + b = 0 wTx+b=0
  • 代碼示例
from sklearn.svm import SVCX = [[0, 0], [1, 1]]
y = [0, 1]
clf = SVC().fit(X, y)

2.25 均方誤差(MSE)

  • 定義:一種衡量預測值與實際值之間差異的度量方法。
  • 核心原理:最小化均方誤差,找到最優的模型參數。
  • 用法:回歸模型的損失函數。
  • 算法公式 MSE = 1 n ∑ i = 1 n ( y i ? y ^ i ) 2 \text{MSE} = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 MSE=n1?i=1n?(yi??y^?i?)2
  • 代碼示例
import numpy as np# 示例數據
y_true = np.array([3.0, -0.5, 2.0, 7.0])
y_pred = np.array([2.5, 0.0, 2.0, 8.0])# 計算MSE
mse = np.mean((y_true - y_pred)**2)
print("MSE:", mse)

2.26 L2 正則化

  • 定義:通過在損失函數中增加所有參數的平方和來懲罰大幅度的權重,旨在防止模型過擬合。
  • 核心原理:通過懲罰較大的權重系數來減少模型的復雜度。
  • 用法:線性回歸、邏輯回歸、神經網絡。
  • 算法公式 J ( θ ) = MSE + λ 2 ∑ j = 1 m θ j 2 J(\theta) = \text{MSE} + \frac{\lambda}{2} \sum_{j=1}^{m} \theta_j^2 J(θ)=MSE+2λ?j=1m?θj2?
  • 代碼示例
from sklearn.linear_model import Ridge
import numpy as np# 示例數據
X = np.array([[1, 1], [1, 2], [2, 2], [2, 3]])
y = np.dot(X, np.array([1, 2])) + 3# 創建Ridge回歸模型
ridge = Ridge(alpha=1.0)
ridge.fit(X, y)# 預測
y_pred = ridge.predict(X)# 計算MSE
mse_ridge = np.mean((y - y_pred)**2)
print("MSE with L2 regularization:", mse_ridge)

3、總結

要想學好數學科學、或者機器學習,數學知識是必會的,也是基礎。
所以,以上的這26個數學知識點,一定要掌握。
為了方便我們學習, 我把兩篇的鏈接都放到下面了,點擊即可跳轉。

  • 【機器學習】必會數學知識:一文掌握數據科學核心數學知識點(上),收藏~
  • 【機器學習】必會數學知識:一文掌握數據科學核心數學知識點(下),收藏~

我是小魚

  • CSDN 博客專家
  • 阿里云 專家博主
  • 51CTO博客專家
  • 企業認證金牌面試官
  • 多個名企認證&特邀講師等
  • 名企簽約職場面試培訓、職場規劃師
  • 多個國內主流技術社區的認證專家博主
  • 多款主流產品(阿里云等)評測一等獎獲得者

關注小魚,學習【機器學習】&【深度學習】領域的知識。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/44229.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/44229.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/44229.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

git merge 分支回退

1. 使用git merge --abort(如果合并正在進行中) git merge --abort2. 使用git reset(合并已經提交) 硬重置(--hard)會丟棄所有合并后的更改,并將HEAD指向合并前的提交。這是最徹底的方式&…

DDOS 攻擊原理

DDoS攻擊的基本原理 資源耗盡:攻擊者通過發送大量的請求或數據包,耗盡目標系統的資源(如帶寬、CPU、內存等),使其無法處理正常的用戶請求。 分布式攻擊:與傳統的DoS(拒絕服務)攻擊不…

Java-面向對象基礎

在面向對象編程(Object-Oriented Programming, OOP)中,類(Class)是一種用來描述對象共同特征的藍圖或模板。它是創建對象的原型,定義了對象可以有的屬性(字段)和行為(方法…

物聯網應用,了解一點 WWAN全球網絡標準

WWAN/蜂窩無線電認證,對跨地區應用場景,特別重要。跟隨全球業務的腳步,我們像大唐先輩一樣走遍全球業務的時候,了解一點全球化的 知識信息,就顯得有那么點意義。 NA (北美):美國和加…

OpenSSH漏洞(CVE-2024-6387)

漏洞信息 請參考:OpenSSH遠程代碼執行漏洞 (CVE-2024-6387) 影響范圍 8.5p1 <= OpenSSH < 9.8p1 參考鏈接中內容補充 利用方式 關于OpenSSH漏洞CVE-2024-6387,攻擊者可以利用一個有用的代碼路徑并在正確的時間點上被SIGALRM信號打斷,從而導致sshd(OpenSSH守護…

基于Python的嗶哩嗶哩數據分析系統設計實現過程,技術使用flask、MySQL、echarts,前端使用Layui

背景和意義 隨著互聯網和數字媒體行業的快速發展&#xff0c;視頻網站作為重要的內容傳播平臺之一&#xff0c;用戶量和內容豐富度呈現爆發式增長。本研究旨在設計并實現一種基于Python的嗶哩嗶哩數據分析系統&#xff0c;采用Flask框架、MySQL數據庫以及echarts數據可視化技術…

工控、物聯網、電力行業調試工具大全

工控、物聯網、電力行業調試工具大全 文章目錄 工控、物聯網、電力行業調試工具大全Modbus調試工具MQTT調試工具IEC104/IEC101調試工具IEC61850 調試工具DL/T645 調試工具 Modbus調試工具 Modbus 是一種用于工業自動化系統中的通信協議&#xff0c;最早由 Modicon&#xff08;…

信號111

2、核心轉儲 當進程出現魔種異常的時候&#xff0c;是否有OS將當前進程在內存中的相關核心數據&#xff0c;轉存到磁盤中&#xff01; 一般而言云服務器的核心轉儲功能是關閉的。 3、驗證進程等待中的core dump標記位。 4、為什么生產環境一般都要關閉 core dump 系統調用接口…

解釋器模式在金融業務中的應用及其在Spring框架中的實現

引言 解釋器模式&#xff08;Interpreter Pattern&#xff09;是一種行為設計模式&#xff0c;它為特定語言定義了一個解釋器&#xff0c;用于解釋語言中的語句。該模式用于需要解釋和執行特定語言或表達式的場景&#xff0c;例如腳本引擎、規則引擎等。在金融業務中&#xff…

NSObject‘s MetaClass 的 super_class 指向誰 ?

在 Objective-C 運行時系統中&#xff0c;NSObject 是所有類的根類。為了理解 NSObject 的元類&#xff08;MetaClass&#xff09;以及它的 super_class 指針指向誰&#xff0c;我們需要理解元類的繼承關系。 類和元類的關系 每個類對象都有一個 isa 指針&#xff0c;指向其元…

46、lvs集群- 博客

1、lvs集群&#xff1a; lvs&#xff1a;linux virtual server----章文嵩發起的開源項目&#xff0c;阿里。linux的內核層面實現負載均衡的軟件。 主要作用&#xff1a;將多個后端服務器組成一個高可用&#xff0c;高性能的服務器集群&#xff0c;通過負載均衡的算法將客戶端的…

資訊類app怎么應對DDOS攻擊

資訊類app怎么應對DDOS攻擊&#xff1f;在數字化時代&#xff0c;資訊類App作為信息傳播的重要載體&#xff0c;其穩定運行直接關系到用戶的信任與滿意度。日益猖獗的DDoS攻擊成為了這類應用不可忽視的威脅。為了有效抵御這一挑戰&#xff0c;業界涌現出了多種創新的防護方案&a…

基于cmake為項目自動獲取git分支tag的版本號和commitid

目錄 1. 引言2. 實現過程2.1 工程目錄規劃2.2 c程序文件2.3 CMakeLists.txt2.4 GitVersion.cmake文件2.5 BuildNumber.cmake文件1. 引言 在項目構建的時候,我們經常會希望能夠將git提交的分支信息和提交號(commitid)以及當前版本發布的tag信息作為版本號自動構建到程序里面,以…

留學生的作業形式有哪些???

作業是在海外求學中不可避免的一部分&#xff0c;在國外留學&#xff0c;課程種類豐富多樣&#xff0c;每一門課程都有其獨特的學習要求和作業形式。課業壓力很大&#xff0c;不僅要應對各項quiz&#xff0c;日常各類作業也絲毫不能松懈。無論是文學、藝術&#xff0c;還是理工…

【JavaScript腳本宇宙】實時協同編輯:JavaScript 庫和框架全面解析

實時協同編輯&#xff1a;探秘JavaScript實時協同編輯利器## 前言 在當今互聯網時代&#xff0c;實時協同編輯成為了許多應用程序的重要功能之一。無論是團隊協作辦公軟件&#xff0c;還是在線教育平臺&#xff0c;都需要實現多人同時編輯文檔的功能。為了滿足這一需求&#x…

自建搜索引擎-基于美麗云

Meilisearch 是一個搜索引擎&#xff0c;主程序完全開源&#xff0c;除了使用官方提供的美麗云服務&#xff08;收費&#xff09;進行對接之外&#xff0c;還可以通過自建搜索引擎來實現完全獨立的搜索服務。 由于成本問題&#xff0c;本博客采用自建的方式&#xff0c;本文就…

通過git將文件push到github 遠程倉庫

1.先git clone 代碼地址 git clone htttp://github.com/用戶名/test.git 2. 添加文件 例如&#xff1a;touch 1.txt 3.將文件添加到暫存區 git add 1.txt 4.提交 git commit -m "commit 1.txt" 5.與遠程倉庫建立關聯 git remote add 遠程倉庫名 遠程倉庫…

(2024)docker-compose實戰 (9)部署多項目環境(LAMP+react+vue+redis+mysql+nginx)

前言 本系列最初的想法就是搭建一個多項目的環境, 包含nginx, nodejs, php, html, redis, MongoDB, mysql.本文使用的PHP鏡像為php:7.3.6-apache, 這里可以使用上一篇文章中生成好的鏡像.LAMP或包含react或vue的前端項目, 本文就各寫了一個, 可以按照實際需求, 自行添加多個容…

LLM 研究方向(一): LLM Prompts--p-tuning、LoRA

目錄 1. prompt-tuning background 2. Prompt Tuning 模型介紹 2.1 2021 prefix-tuning 2.2 2021 P-tuning v1 2.3 2021 Parameter-efficient prompt tuning (PET) 2.4 2022 P-tuning v2 2.5 2019 Adapter ?2.6 2021 LoRA (Low-Rank Adaptation) 2.7 2024 DoRA (…

詳解[USACO07OPEN] Cheapest Palindrome G(洛谷PP2890)(區間DP經典題)

題目 思路 考慮區間DP。 設dp[i][j]為從i到j這段區間被修正為回文串的最小花費 c[cc][1]為添加字符cc的花費 c[cc][2]為刪去字符cc的花費 s為題目給出的字符串。 用[i 1,j]區間轉移&#xff1a;這種轉移相當于在[i1,j]區間的左邊加入一個字符&#xff0c;讓[i,j]變為回文的方…