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

核心数学知识点

  • 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 KMeans

X = [[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 RandomForestClassifier

X = [[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 np

def gradient_descent(x, y, theta, alpha, iterations):
    m = len(y)
    for _ in range(iterations):
        gradient = np.dot(x.T, (np.dot(x, theta) - y)) / m
        theta -= alpha * gradient
    return 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 SGDClassifier

X = [[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 convolve2d

image = 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, exp

t, 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 np

x = 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_classif

X = [[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 ARIMA

data = 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 SVC

X = [[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博客专家
  • 企业认证金牌面试官
  • 多个名企认证&特邀讲师等
  • 名企签约职场面试培训、职场规划师
  • 多个国内主流技术社区的认证专家博主
  • 多款主流产品(阿里云等)评测一等奖获得者

关注小鱼,学习【机器学习】&【深度学习】领域的知识。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/789273.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Centos7 安装Docker步骤及报错信息(不敢说最全,但是很全)

一、操作系统要求: 要安装Docker Engine,您需要CentOS 7及以上的维护版本。存档版本不受支持或测试。必须启用centos临时存储库。默认情况下,此存储库已启用,但如果已禁用,则需要重新启用它。建议使用overlay2存储驱动…

【JavaScript】深入理解Promise:从基础概念到进阶用法、手写promise

🔥 个人主页:空白诗 文章目录 一、引言二、Promise概述1. Promise的定义2. Promise的用途3. Promise的三种状态4. Promise的构造函数和基础结构5. Promise的优点6. Promise的实例方法7. Promise的静态方法 三、Promise的基本用法1. 创建一个Promise2. th…

【深度学习(42)】通过vscode使用anaconda的python环境

按ctrlshiftp,选择Python:Select Interpreter 选择anaconda下的python虚拟环境

亚马逊关键词优化全攻略:自养号测评让你的产品跃居首页

常常听到亚马逊运营吐槽: 为啥我的产品就是上不了首页呢? 我的关键词要怎么优化才能排名靠前啊? 的确,每天都有无数个卖家在想方设法让自己的产品排到首页,所以产品的竞争激烈程度不言而喻。 我们在亚马逊运营中&a…

3Ds MAX 2025:创意的翅膀

初识3Ds MAX 2025 在我初次接触3Ds MAX 2025时,仿佛打开了一扇通往无限可能的大门。那时,我还是一个对三维建模充满好奇的初学者,心中怀揣着对未来的憧憬和对艺术的热爱。3Ds MAX 2025的出现,如同一位温柔的导师,带领…

C语言学习笔记[23]:循环语句while①

C语言除了顺序结构和选择结构还有循环结构 whilefordo...while while循环 //while 语法结构 while(表达式)循环语句; 表达式的结果为真&#xff0c;则执行循环语句&#xff0c;否则循环停止 例如&#xff1a;打印1~10 #include <stdio.h>int main() {int i 1;whil…

深度解析C++重载、隐藏、重写

重载 函数重载是指两个函数在同一个作用域并且函数名相同、参数(参数个数或类型或类型顺序 )不同的一种特殊情况 // 1、参数类型不同 int Add(int left, int right){cout << "int Add(int left, int right)" << endl;return left right; } double Add…

微软发布Win11 21H2七月更新补丁KB5040431,快来体验!

系统之家于7月10日发出最新报道&#xff0c;微软为Win11 21H2用户发布了七月的安全更新补丁KB5040431。用户升级系统后&#xff0c;会发现版本号升至22000.3079。此次更新针对远程桌面MultiPoint Server在争用条件会导致服务停止响应等多个问题进行修复。接下来跟随小编看看此次…

HarmonyOS ArkUi 字符串<展开/收起>功能

效果图&#xff1a; 官方API&#xff1a; ohos.measure (文本计算) 方式一 measure.measureTextSize 跟方式二使用一样&#xff0c;只是API调用不同&#xff0c;可仔细查看官网方式二 API 12 import { display, promptAction } from kit.ArkUI import { MeasureUtils } fr…

全面解析BPMN、CMMN、DMN与XML

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 &#x1f38f;&#xff1a;你只管努力&#xff0c;剩下的交给时间 &#x1f3e0; &#xff1a;小破站 全面解析BPMN、CMMN、DMN与XML 前言BPMN&#xff08;业务流程模型与标记法&#xff09;定义与用途…

基于GWO-CNN-BiLSTM数据回归预测(多输入单输出)-灰狼优化算法优化CNN-BiLSTM

基于GWO-CNN-BiLSTM数据回归预测(多输入单输出)-灰狼优化算法优化CNN-BiLSTM 1.数据均为Excel数据&#xff0c;直接替换数据就可以运行程序。 2.所有程序都经过验证&#xff0c;保证程序可以运行。 3.具有良好的编程习惯&#xff0c;程序均包含简要注释。 获取方式 https:/…

【Linux】进程7——查看进程

1.为什么进程管理这么重要呢&#xff1f; 这是因为&#xff1a; 首先&#xff0c;我们在操作系统时的各项任务其实都是经过某个PID来完成的&#xff08;包括你的bash环境&#xff09;&#xff0c;因此&#xff0c;能不能执行某项任务&#xff0c;就与该进程的权限有关了。再来…

图片管理不再愁,一文带你玩转图床世界

在数字化时代&#xff0c;图片已经成为我们日常生活中不可或缺的一部分。无论是社交媒体上的自拍分享&#xff0c;还是工作中的文档插图&#xff0c;图片都扮演着重要角色。 然而&#xff0c;你是否曾经遇到过这样的问题&#xff1a;如何在网络上方便地存储、分享和管理这些图…

【鸿蒙学习笔记】使用动画

官方文档&#xff1a;使用动画 目录标题 属性动画&#xff1a;通用属性发生改变时而产生的属性渐变效果animationanimateTo自定义属性动画 AnimatableExtend 转场动画&#xff1a;是页面或组件的切换动画 , 显示/隐藏 切换时的动画出现/消失转场&#xff1a;实现一个组件出现或…

详解[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]变为回文的方…

Linux镜像源设置不再难:一键脚本,新手也能成为优化高手(一键切换镜像源/Docker一键安装脚本)

文章目录 📖 介绍 📖🏡 演示环境 🏡📒 更换镜像源 📒📝 一键切换软件源📝 Docker一键安装脚本⚓️ 相关链接 ⚓️📖 介绍 📖 在国内,Linux系统用户经常会遇到下载软件包时速度慢的问题,这通常是因为默认的镜像源并不总是最优选择。对于新手来说,手动设置…

暑假学习计划怎么做 用待办计划软件安排更科学

暑期来临&#xff0c;无论是学生还是老师&#xff0c;做好暑期计划都至关重要。记得去年暑假&#xff0c;我给自己定下了阅读十本书的目标&#xff0c;却因为缺乏明确的计划&#xff0c;最后只草草读完了两本。而今年&#xff0c;我决定尝试一种新的方式——使用待办计划软件来…

每周算法:无向图的双连通分量

题目链接 冗余路径, Redundant Paths G 题目描述 为了从 F F F 个草场中的一个走到另一个&#xff0c;奶牛们有时不得不路过一些她们讨厌的可怕的树。 奶牛们已经厌倦了被迫走某一条路&#xff0c;所以她们想建一些新路&#xff0c;使每一对草场之间都会至少有两条相互分离…

VS安装Qt扩展工具

1-Visual Studio中安装QT插件 **插件下载地址&#xff1a;**http://download.qt.io/development_releases/vsaddin/ 关闭VS,双击下载的QT插件&#xff0c;默认安装即可&#xff1b; &#xff08;1&#xff09;配置Qt的MSVC编译器安装路径 打开Visual Studio&#xff0c;在菜单栏…

ceph存储

1 存储简介 存储的三种方式包括&#xff1a;块存储、文件存储、对象存储1。此外&#xff0c;还有内存存储、硬盘存储和闪存存储2。 内存存储&#xff1a;临时性数据存储方式&#xff0c;存储速度快&#xff0c;容量有限&#xff0c;通常用来存储正在使用的程序和数据。硬盘存…