【机器学习】必会数学知识:一文掌握数据科学核心数学知识点(下),收藏~

核心数学知识点

  • 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=Cj1xiCjxi
  • 代码示例
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)DDvH(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^=K1k=1Kfk
  • 代码示例
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=θi1ηJ(θi1;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 (fg)(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)=0f(t)estdt
  • 代码示例
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)etdt

  • 代码示例

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)=iP(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+φ1Yt1+εt+θ1εt1
  • 代码示例
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=n1i=1n(yiy^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.mzph.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]变为回文的方…