河南高端网站如何在自己做的网站中顶置内容

张小明 2026/1/9 18:42:05
河南高端网站,如何在自己做的网站中顶置内容,杭州企业自助建站系统,找人一起做素材网站引言本篇文章将学习两个简单而又经典的机器学习算法#xff1a;朴素贝叶斯和支持向量机#xff08;SVM#xff09;。为什么选择这两个算法#xff1f;因为它们代表了机器学习中两种不同的类型#xff1a;贝叶斯算法基于概率统计#xff0c;可以直观的展现结果#xff0c…引言本篇文章将学习两个简单而又经典的机器学习算法朴素贝叶斯和支持向量机SVM。为什么选择这两个算法因为它们代表了机器学习中两种不同的类型贝叶斯算法基于概率统计可以直观的展现结果而SVM基于几何间隔能力强大而精确。通过学习它们我们将更加理解机器学习的基本思维方式。一、朴素贝叶斯算法——概率的智慧1、贝叶斯定理从原因推结果从结果推原因这里我们举一个经典的例子来理解贝叶斯假设学校中男生占60%女生占40%。男生全部穿长裤女生一半穿长裤一半穿裙子。现在看到一位穿长裤的学生请问这是女生的概率是多少其中正向概率已知性别求穿裤子概率是直接的统计随机选一人是男生且穿长裤的概率 60% × 100% 0.6随机选一人是女生且穿长裤的概率 40% × 50% 0.2因此随机选一人穿长裤的总概率 0.6 0.2 0.8。而我们贝叶斯要解决的正是逆向概率已知穿裤子求是女生概率我们想要知道的是当“穿长裤”这个证据已经发生时该学生是女生的概率是多少用贝叶斯公式表示P(女生|穿长裤) [P(穿长裤|女生) × P(女生)] / P(穿长裤) (50% × 40%) / (60% 20%) 25%尽管女生只占40%且只有一半女生穿长裤但当我们观察到“穿长裤”这一证据后该学生是女生的概率就从最初的40%先验的概率更新为了25%后验的概率。贝叶斯推断的关键就在于这种基于证据的概率动态更新过程。2、朴素贝叶斯分类器简单而强大朴素贝叶斯模型的朴素之处在于其假设所有特征在给定类别下相互独立这一简化在现实中常不成立。然而它却能有效地工作原因在于该假设极大简化了计算使其能快速处理高维数据同时又避免了复杂模型容易产生的过拟合问题。更重要的是对于分类任务模型只需比较概率的相对大小即使独立性假设不满足其概率估计的偏差也往往不影响最终的分类结果。因此这种假设以可控的近似换取了强大的实用性与计算效率。我们用一个简单的例子来解释假设我们有以下数据判断一个邮件是否是垃圾邮件邮件内容关键词 是否垃圾邮件 优惠、免费 是 会议、报告 否 免费、赢奖 是 项目、进度 否现在来了新邮件优惠、赢奖、免费计算是垃圾邮件的概率 P(垃圾|优惠,赢奖,免费) ∝ P(垃圾) × P(优惠|垃圾) × P(赢奖|垃圾) × P(免费|垃圾) 计算不是垃圾邮件的概率 P(正常|优惠,赢奖,免费) ∝ P(正常) × P(优惠|正常) × P(赢奖|正常) × P(免费|正常)比较两者大小取概率大的作为预测结果3、三种贝叶斯分类器朴素贝叶斯模型为适应不同类型的数据衍生出了几种主要类型。其核心“特征条件独立”的朴素假设不变但对特征分布的预设不同1.高斯朴素贝叶斯假设连续型特征服从正态分布适用于如身高、温度等数据。2.多项式朴素贝叶斯专为处理离散计数特征设计尤其适合文本分类中的词频统计。3.伯努利朴素贝叶斯则面向二值化是/否、出现/未出现特征常用于文档分类中是否包含特定词汇的分析。4、贝叶斯算法的优缺点贝叶斯算法的优点有首先它的数学基础坚实、模型结构清晰便于我们理解和解释。同时它的计算效率极高能快速处理大规模数据集不仅在大数据上表现优异对小规模的数据也有良好的适应能力。另外它支持增量学习当新数据到来时无需重新训练整个模型仅通过直接更新概率估计即可完成迭代这在实践中有很高的可用性与实用性。但它又有不足之处其最关键的缺点在于“特征条件独立”这一基本假设太过于理想化现实数据中的特征往往相互关联这使得模型在理论上存在瑕疵。此外该模型对输入数据的表达形式较为敏感不同的特征工程方法可能明显影响其最终性能。因此它在处理特征间存在强依赖关系或数据表达不当时效果可能不尽如人意。二、支持向量机SVM——边界的力量1、SVM的直观理解最佳的分界线我们来说一个故事王子要救公主魔鬼在桌上放了两种颜色的球让王子用一根棍子分开它们。要求是即使魔鬼再放更多球这根棍子仍然能很好地区分。第一次王子随便一放很轻松的分开了桌上现有的球魔鬼又放了更多球有些球站错了队。这时王子忽然意识到棍子应该放在离两边球都最远的位置这样即使有新球加入也不容易分错。王子最初随意放置棍子导致分类错误类比于普通的分类器容易过拟合。而他后来的领悟应将棍子放在离两侧球类最远的位置正是SVM寻找“最大间隔”超平面的精髓。这样的分界线不仅对现有数据分类更确保了最佳的抗干扰能力。当魔鬼新测试数据加入更多球时这条基于最外围关键球即“支持向量”所确立的最宽“隔离带”就能最可靠地保持分类效果。2 、SVM的数学之美1.超平面方程超平面是支持向量机SVM用于分类的决策边界它的方程形式随数据维度提升而扩展。在二维空间中它表现为一条直线y kx b在三维空间中则为一个平面Ax By Cz D 0而当维度增至n维时便成为超平面其通用方程为 ω₁x₁ ω₂x₂ ... ωₙxₙ b 0。其中ω 是决定超平面方向的法向量b 是偏移量。SVM的核心目标正是通过优化算法找到那个能将不同类别样本分开、且间隔最大的最优超平面。在二维空间分界线是直线y kx b 在三维空间分界线是平面Ax By Cz D 0 在更高维度我们称之为超平面ω₁x₁ ω₂x₂ ... ωₙxₙ b 02. 间隔最大化SVM的核心目标并非仅仅找到一个分界超平面而是要找到那个具有“最大间隔”的分界超平面。因为间隔越大意味着分类决策的置信度越高、容错空间越大从而使模型的泛化能力越强对未来新数据的预测更为稳健。其数学实现的关键步骤在于首先定义支持向量离超平面最近的样本点到超平面的几何距离公式为 d |ω·x b| / ||ω||。SVM的优化目标即是最大化这个距离。为简化计算通过缩放ω和b可以令支持向量处的函数值满足 y_i(ω·x_i b) 1。此时最大化间隔问题便等价于在约束条件 y_i(ω·x_i b) ≥ 1 下最小化 ||ω||²或等价地最小化 ½||ω||²从而转化成一个经典的凸二次规划问题。支持向量到超平面的距离d |ω·x b| / ||ω|| 我们希望最大化这个距离 通过缩放令支持向量满足y_i(ω·x_i b) 1 优化问题转化为最小化||ω||²满足y_i(ω·x_i b) ≥ 13.支持向量的重要性经过训练后最终的决策超平面完全由位于间隔边界上的那少数几个样本“支持向量”所决定。在间隔边界之外的所有样本无论是远离边界还是非常遥远它们在确定超平面位置时不算数。只有这些作为边界上的支持向量它们的位置直接定义了间隔的宽度和边界的方向。所以即使我们删除所有非支持向量的样本训练得到的模型依然不变。这一特性带来了两大优势一是模型不易受多数内部点的影响二是计算高效预测时只需计算新样本与这些少数支持向量的关系即可。3、处理线性不可分核技巧现实中的数据往往不是线性可分的。魔鬼使了个坏把球摆成了这样红球 蓝球 红球 蓝球 红球这时王子一拍桌子球都飞了起来他在空中插入一张纸完美分开了两种颜色的球。这就是核技巧的本质将数据映射到更高维度使其线性可分。SVM的解决思路就是通过一个隐式的映射函数 φ将数据投射到一个更高维的特征空间。在那个高维空间中原本纠缠的数据变得线性可分就像一张纸在空中分开了球。它的精妙之处在于它无需复杂地计算高维映射 φ(x) 本身而只需通过一个核函数 K(x, y) 来计算原始空间中样本对在高维空间的内积极大地降低了计算成本。常用核函数线性核本质是在原始空间线性分割是高效的基础选项。K(x,y) x·y 多项式核通过多项式的次数d显式地控制映射的维度与复杂度。K(x,y) (γx·y r)^d 高斯核RBF最常用也最强大。它实际上将数据映射到了无限维空间并通过参数 γ 精细控制单个样本的影响范围从而能拟合极其复杂的非线性边界。K(x,y) exp(-γ||x-y||²)4、处理噪声软间隔为处理现实数据中的噪声与异常点SVM引入了软间隔的概念允许部分样本跨越边界或分类错误以此提升模型的泛化能力。其关键在于惩罚因子C它控制着模型对分类错误的容忍程度C值越大对误分类的惩罚越严厉迫使模型尽可能正确分类所有样本但这往往导致间隔变窄可能引发过拟合C值越小则允许更多的样本违背间隔规则从而获得更宽的间隔和更简单的模型增强了稳健性但可能欠拟合。因此C的调节本质上是“间隔宽度”与“分类准确度”之间的一种权衡帮助我们找到一个既不过于严格、也不过于松懈的最优决策边。5、SVM的优缺点支持向量机SVM的主要优点为首先它在高维特征空间中表现良好尤其适合文本等数据。其次其模型具有稀疏性决策仅依赖于少数支持向量因此内存效率高。第三通过最大化间隔的核心目标它通常会表现出很强的泛化能力。最后借助核技巧它能灵活地将数据映射到高维空间从而有效解决复杂的非线性分类问题。支持向量机SVM也存在一些固有的局限首先其训练过程涉及复杂的二次规划求解在处理大规模数据集时计算速度较慢。其次模型的性能高度依赖于惩罚参数C和核函数的选择调参需要一定的经验和技巧。最后SVM的输出是直接的分类决策而非天然的概率估计要获得样本属于各类别的概率需要额外的计算。三、从理论到实践——完整项目示例这里用一个完整的简单项目来直观的演示两种算法1. 数据加载与探索import pandas as pd import matplotlib.pyplot as plt from sklearn.datasets import load_iris import numpy as np # 设置中文字体 plt.rcParams[font.sans-serif] [SimHei, Microsoft YaHei, DejaVu Sans] plt.rcParams[axes.unicode_minus] False iris load_iris() # 加载数据集 X iris.data y iris.target导入必要的库pandas数据处理、matplotlib可视化、sklearn.datasets数据集、numpy数值计算设置中文字体是为了让图表能正确显示中文标签load_iris() 加载的是一个包含150个样本、4个特征、3个类别的经典数据集。2. 数据分割from sklearn.model_selection import train_test_split X_train, X_test, y_train, y_test train_test_split( X, y, test_size0.3, random_state42 )train_test_split 将数据随机分成训练集和测试集test_size0.330%的数据作为测试集70%作为训练集random_state42设置随机种子确保每次分割结果一致最后结果是4个数组训练特征、测试特征、训练标签、测试标签。3. 数据标准化from sklearn.preprocessing import StandardScaler scaler StandardScaler() X_train_scaled scaler.fit_transform(X_train) # 计算均值和标准差并转换训练集 X_test_scaled scaler.transform(X_test) # 使用训练集的参数转换测试集StandardScaler 执行标准化(x - 均值) / 标准差fit_transform 只对训练集使用计算训练集的均值和标准差然后转换训练集transform 对测试集使用使用训练集计算的参数转换测试集。4. 模型训练与评估 - 朴素贝叶斯from sklearn.naive_bayes import GaussianNB from sklearn.metrics import accuracy_score, classification_report # 模型1: 朴素贝叶斯 print( * 50) print(朴素贝叶斯模型) print( * 50) nb_model GaussianNB() nb_model.fit(X_train_scaled, y_train) nb_pred nb_model.predict(X_test_scaled) nb_accuracy accuracy_score(y_test, nb_pred) print(f准确率: {nb_accuracy:.4f}) print(\n分类报告:) print(classification_report(y_test, nb_pred, target_namesiris.target_names))可视化部分# 朴素贝叶斯可视化 plt.figure(figsize(10, 6)) plt.scatter(range(len(y_test)), y_test, alpha0.6, label真实标签, markero, s80) plt.scatter(range(len(y_test)), nb_pred, alpha0.6, label预测标签, markerx, s80) # 标记错误预测的点 errors np.where(nb_pred ! y_test)[0] if len(errors) 0: plt.scatter(errors, y_test[errors], colorred, s150, alpha0.8, label错误预测, markers, edgecolorsblack) plt.title(f朴素贝叶斯模型预测结果\n准确率: {nb_accuracy:.4f}, fontsize14) plt.xlabel(样本索引, fontsize12) plt.ylabel(类别, fontsize12) plt.legend(fontsize11) plt.grid(True, alpha0.3) plt.xticks(fontsize11) plt.yticks(fontsize11) plt.tight_layout() plt.show()5. 模型训练与评估 - 线性SVM# 模型2: 线性SVM print(\n * 50) print(线性SVM模型) print( * 50) svm_linear SVC(kernellinear, C1.0, random_state42) svm_linear.fit(X_train_scaled, y_train) svm_linear_pred svm_linear.predict(X_test_scaled) svm_linear_accuracy accuracy_score(y_test, svm_linear_pred) print(f准确率: {svm_linear_accuracy:.4f}) print(\n分类报告:) print(classification_report(y_test, svm_linear_pred, target_namesiris.target_names))kernellinear使用线性核函数C1.0正则化参数控制分类错误的惩罚程度random_state42确保结果可重复。6. 线性SVM可视化# 线性SVM可视化 plt.figure(figsize(10, 6)) plt.scatter(range(len(y_test)), y_test, alpha0.6, label真实标签, markero, s80) plt.scatter(range(len(y_test)), svm_linear_pred, alpha0.6, label预测标签, markerx, s80) # 标记错误预测的点 errors np.where(svm_linear_pred ! y_test)[0] if len(errors) 0: plt.scatter(errors, y_test[errors], colorred, s150, alpha0.8, label错误预测, markers, edgecolorsblack) plt.title(f线性SVM模型预测结果\n准确率: {svm_linear_accuracy:.4f}, fontsize14) plt.xlabel(样本索引, fontsize12) plt.ylabel(类别, fontsize12) plt.legend(fontsize11) plt.grid(True, alpha0.3) plt.xticks(fontsize11) plt.yticks(fontsize11) plt.tight_layout() plt.show()7. 模型训练与评估 - 高斯核SVM# 模型3: 高斯核SVM print(\n * 50) print(高斯核SVM模型) print( * 50) svm_rbf SVC(kernelrbf, C1.0, gamma0.1, random_state42) svm_rbf.fit(X_train_scaled, y_train) svm_rbf_pred svm_rbf.predict(X_test_scaled) svm_rbf_accuracy accuracy_score(y_test, svm_rbf_pred) print(f准确率: {svm_rbf_accuracy:.4f}) print(\n分类报告:) print(classification_report(y_test, svm_rbf_pred, target_namesiris.target_names))kernelrbf使用径向基函数高斯核gamma0.1控制核函数的宽度影响每个训练样本的影响范围。8.高斯核SVM可视化# 高斯核SVM可视化 plt.figure(figsize(10, 6)) plt.scatter(range(len(y_test)), y_test, alpha0.6, label真实标签, markero, s80) plt.scatter(range(len(y_test)), svm_rbf_pred, alpha0.6, label预测标签, markerx, s80) # 标记错误预测的点 errors np.where(svm_rbf_pred ! y_test)[0] if len(errors) 0: plt.scatter(errors, y_test[errors], colorred, s150, alpha0.8, label错误预测, markers, edgecolorsblack) plt.title(f高斯核SVM模型预测结果\n准确率: {svm_rbf_accuracy:.4f}, fontsize14) plt.xlabel(样本索引, fontsize12) plt.ylabel(类别, fontsize12) plt.legend(fontsize11) plt.grid(True, alpha0.3) plt.xticks(fontsize11) plt.yticks(fontsize11) plt.tight_layout() plt.show()9.运行结果这里的数据集较为简单所以准确率会普遍较高感兴趣的话可以找一些大型的数据集来测试并观察结果。我们到这就学完了贝叶斯和SVM算法了在下一章里我们将学习另几种机器学习中的经典算法。
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

网站打开速度慢 如何优化网站建设 网站维护

Qwen3-32B:如何用320亿参数逼近700亿级闭源模型? 在大模型竞赛进入深水区的今天,参数规模早已不是衡量能力的唯一标尺。真正的技术较量,正从“堆参数”转向“提效率”——如何在有限资源下榨取出更高的智能密度?通义实…

张小明 2026/1/5 23:26:24 网站建设

广告公司取名大全集长春百度seo

深入掌握UDS 19服务:在CANoe中实现DTC读取的完整实践指南你有没有遇到过这样的场景?ECU上电后通信正常,但车辆仪表亮起了故障灯,而你却不知道是哪个模块出了问题。翻遍日志也找不到线索——这时候,如果能快速从ECU里“…

张小明 2026/1/5 23:26:23 网站建设

网站备案的幕布是什么来的初二怎么做网站

obs-multi-rtmp多路推流插件深度配置实战手册 【免费下载链接】obs-multi-rtmp OBS複数サイト同時配信プラグイン 项目地址: https://gitcode.com/gh_mirrors/ob/obs-multi-rtmp 开篇概述 在当今多平台直播盛行的时代,obs-multi-rtmp插件为OBS Studio用户提…

张小明 2026/1/5 23:26:20 网站建设

利川做网站网站建设销售一个月开几个单

YOLO模型推理性能瓶颈?可能是你的GPU配置没调好 在智能制造工厂的质检线上,一台搭载YOLOv8的视觉检测系统本应每秒处理上百张图像,却频频卡顿、延迟飙升——排查代码无误、模型结构合理,问题出在哪? 答案往往藏在硬件层…

张小明 2026/1/9 15:23:54 网站建设

网站做自适应宠物网站怎么做

一、标准概述 标准名称:声学 水声换能器测量适用范围:频率范围 1 Hz~1 MHz,适用于一般水声换能器和一般基座。替代情况:替代 GB/T 7965—1987。主要内容:包括基本电声参数、坐标系、测量条件、多种测量方法…

张小明 2026/1/6 6:58:13 网站建设

北京做建筑信息的网站商标自动生成免费软件

你是否曾经为网盘下载速度而烦恼?想要快速下载大文件,却受限于官方客户端的种种限制。现在,网盘直链下载助手为你带来完美的解决方案!这款免费开源的浏览器扩展脚本能够将六大主流网盘的分享链接转换为真实下载地址,让…

张小明 2026/1/6 6:58:11 网站建设