
机器学习
文章平均质量分 91
禺垣
万世之一时,全局之一域。
展开
-
循环神经网络(RNN)模型
循环神经网络(Recurrent Neural Network, RNN)是一种专门设计用于处理序列数据(如文本、语音、时间序列等)的神经网络模型。其核心思想是通过引入时间上的循环连接,使网络能够保留历史信息并影响当前输出。原创 2025-05-30 00:09:33 · 874 阅读 · 0 评论 -
卷积神经网络(CNN)模型
卷积神经网络(Convolutional Neural Network, CNN)是一种深度学习模型,广泛应用于图像识别、计算机视觉等领域。其设计理念源于对生物视觉皮层神经机制的模拟,核心原理是通过卷积、池化(下采样)、全连接等操作,自动提取输入数据的层级特征,完成分类或回归任务。原创 2025-05-26 13:42:43 · 966 阅读 · 0 评论 -
常见的激活函数汇总
在神经网络中,激活函数(Activation Function)扮演着至关重要的角色,它为神经网络引入非线性因素,使得网络能够学习和模拟复杂的非线性函数关系,从而具备处理各种复杂问题的能力。如果没有激活函数,多层神经网络将仅仅是一个线性组合模型,其表达能力会受到极大限制。以下是几种常见的激活函数汇总。原创 2025-05-16 01:04:16 · 819 阅读 · 0 评论 -
人工神经网络(ANN)模型
人工神经网络(Artificial Neural Network,ANN),是一种模拟生物神经网络结构和功能的计算模型,它通过大量的神经元相互连接,实现对复杂数据的处理和模式识别。从本质上讲,人工神经网络是对人脑神经细胞的数学抽象,试图模仿人类大脑处理信息的方式,以解决各种实际问题。原创 2025-05-15 22:59:24 · 923 阅读 · 0 评论 -
LightGBM算法原理及Python实现
LightGBM 由微软公司开发,是基于梯度提升框架的高效机器学习算法,属于集成学习中提升树家族的一员。它以决策树为基学习器,通过迭代地训练一系列决策树,不断纠正前一棵树的预测误差,逐步提升模型的预测精度,最终将这些决策树的结果进行整合,输出最终的预测结果。原创 2025-05-06 23:45:31 · 883 阅读 · 0 评论 -
CatBoost算法原理及Python实现
CatBoost 是在传统GBDT基础上改进和优化的一种算法,由俄罗斯 Yandex 公司开发,于2017 年开源,在处理类别型特征和防止过拟合方面有独特优势。在实际数据中,存在大量的类别型特征,如性别、颜色、类别等,传统的算法通常需要在预处理中对这些特征进行独热编码(One-Hot Encoding)或标签编码(Label Encoding)。但这些方法存在一些问题,独热编码会增加数据的维度,导致模型训练时间变长;标签编码可能会引入不必要的顺序关系,影响模型的准确性。CatBoost 采用了一种独特的处原创 2025-05-05 17:41:55 · 1058 阅读 · 0 评论 -
XGBoost算法原理及Python实现
XGBoost 在构建决策树时,利用了二阶导数信息。在损失函数的优化过程中,不仅考虑了一阶导数(梯度),还引入了二阶导数(海森矩阵),这使得算法能够更精确地找到损失函数的最优解,加速模型的收敛速度,同时提高模型的泛化能力。此外,XGBoost 还加入了正则化项,包括 L1 和 L2 正则化,用于控制模型的复杂度,防止过拟合。原创 2025-05-04 16:18:23 · 1072 阅读 · 0 评论 -
AdaBoost算法的原理及Python实现
AdaBoost(Adaptive Boosting,自适应提升)是一种迭代式的集成学习算法,通过不断调整样本权重,提升弱学习器性能,最终集成为一个强学习器。它继承了 Boosting 的基本思想和关键机制,但在具体的实现中有着显著特点,成为具有一定特定性能和适用场景的集成学习算法。原创 2025-04-30 19:11:24 · 860 阅读 · 0 评论 -
GBDT算法原理及Python实现
GBDT(Gradient Boosting Decision Tree,梯度提升决策树)是集成学习中提升(Boosting)方法的典型代表。它以决策树(通常是 CART 树,即分类回归树)作为弱学习器,通过迭代的方式,不断拟合残差(回归任务)或负梯度(分类任务),逐步构建一系列决策树,最终将这些树的预测结果进行累加,得到最终的预测值。原创 2025-04-29 20:55:44 · 737 阅读 · 0 评论 -
Bagging、Boosting、Stacking的原理
Bagging、Boosting、Stacking是常见集成学习的形式,它们都是通过对多个学习器进行有机组合,达到比单个学习器性能更好的目标。原创 2025-04-27 14:23:12 · 1114 阅读 · 0 评论 -
感知机模型
感知机模型(Perceptron Model)也叫做神经元模型,设计灵感即来自于生物神经元的运行机制,依次完成信息接收、处理、输出的过程。当前大放异彩的各种人工神经网络模型即由一个个人工神经元构成,因此,本文介绍的感知机模型(神经元模型)就是各种神经网络模型的基本单元。原创 2024-09-06 11:53:49 · 1267 阅读 · 0 评论 -
逻辑回归模型
逻辑回归模型(Logistic Regression,LR),由名称上来看,似乎是一个专门用于解决回归问题的模型,事实上,该模型更多地用于解决分类问题,尤其是二分类问题。这并不矛盾,因为逻辑回归直接输出的是一个连续值,我们将其按值的大小进行切分,不足一定范围的作为一个类别,超过一定范围的作为一个类别,这样就实现了对分类问题的解决。概况来说就是,先对数据以线性回归进行拟合,输出值以Sigmoid函数进行映射,映射到0和1之间,最后将S曲线切分上下两个区间作为类别区分的依据。原创 2024-09-05 22:28:45 · 1092 阅读 · 0 评论 -
分类模型的算法性能评价
分类模型是机器学习中一种最常见的问题模型,在许多问题场景中有着广泛的运用,是模式识别问题中一种主要的实现手段。分类问题概况起来就是,对一堆高度抽象了的样本,由经验标定了每个样本所属的实际类别,由特定算法训练得到一个分类器,输入样本属性即自动计算出其所属类别,从而完成特定的识别任务。在特定问题中,算法性能的评价是一个重要的方面,它一般由学习器在测试数据中的性能表现来直接衡定,常见的评价指标有准确率、精准度(查准率)、召回率(查全率)、F1值、ROC-AUC值、Kappa系数等。原创 2024-07-09 15:31:58 · 1178 阅读 · 0 评论 -
回归模型的算法性能评价
在一般形式的回归问题中,会得到系列的预测值,它们与真实值(ground truth)的比较表征了模型的预测能力,为有效量化这种能力,常见的性能评价指标有可解释方差(EVS)、平均绝对误差(MAE)、均方误差(MSE)、均方根误差(RMSE)、决定系数(R2)等。值得一提的是,回归问题分单输出情形和多输出情形,在多输出情形下,可以对各维度结果进行平均计算或以不同的权重进行计算。原创 2024-06-05 16:47:53 · 1129 阅读 · 0 评论 -
聚类模型的算法性能评价
作为机器学习领域的重要内容之一,聚类模型在许多方面能够发挥举足轻重的作用。所谓聚类,就是通过一定的技术方法将一堆数据样本依照其特性划分为不同的簇类,使得同一个簇内的样本有着更相近的属性。依不同的实现策略,聚类算法有很多种,如基于距离的k-means、基于密度的DBSCAN等。在聚类完成之后,其性能的评估是一个不可规避的问题,常见的评估方法依有无事先的标记性信息分为外部评估法和内部评估法。原创 2024-06-27 17:45:24 · 1476 阅读 · 0 评论 -
三种常见的平滑滤波方法
均值滤波、中值滤波、高斯滤波是三种常见的平滑滤波方法,其中均值滤波和高斯滤波是线性技术,中值滤波是非线性技术。它们实现的基本原理是基本一致的,指定一个滑动窗口,计算其中的均值、中值、卷积值输出到当前位置。均值滤波、高斯滤波对高斯噪声表现较好,但对椒盐噪声表现较差;中值滤波则对椒盐噪声表现较好,对高斯噪声表现较差。原创 2023-08-10 00:44:51 · 9849 阅读 · 1 评论 -
DBSCAN聚类
DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的聚类算法,簇集的划定完全由样本的聚集程度决定。聚集程度不足以构成簇落的那些样本视为噪声点,因此DBSCAN聚类的方式也可以用于异常点的检测。原创 2023-08-05 18:36:49 · 535 阅读 · 0 评论 -
常见距离计算的Python实现
常见的距离有曼哈顿距离、欧式距离、切比雪夫距离、闵可夫斯基距离、汉明距离、余弦距离等,用Python实现计算的方式有多种,可以直接构造公式计算,也可以利用内置线性代数函数计算,还可以利用scipy库计算。原创 2023-08-02 23:20:15 · 3840 阅读 · 0 评论 -
k-means聚类
当前人工智能技术实现的一种主要手段是机器学习,而机器学习能够解决的问题主要有三种:分类、聚类、回归,有监督的是分类,无监督的是聚类。所谓聚类,就是以一定的方法将一堆样本依它们本身的数据特性划分成不同的簇类,以达成不同的技术目的,k-means就是这样一种基础聚类算法。原创 2023-01-30 18:39:27 · 1194 阅读 · 0 评论 -
朴素贝叶斯分类
朴素贝叶斯法(Naive Bayes)是一种基础分类算法,它的核心是贝叶斯定理+条件独立性假设。原创 2023-01-27 22:00:47 · 1549 阅读 · 0 评论 -
kNN分类
kNN(k nearest neighbor,k近邻)是一种基础分类算法,基于“物以类聚”的思想,将一个样本的类别归于它的邻近样本。原创 2023-01-07 18:24:00 · 1261 阅读 · 0 评论 -
基于准则匹配的图像对准
在图像处理相关的问题中,图像对准是一类典型的问题,也就是要将两幅图严丝合缝地对应起来。通常来讲,两幅图大小不一,一个是模板,一个是母图,也就是要在母图中搜寻定位到与模板图最为接近的区域。原创 2023-01-02 11:22:30 · 1187 阅读 · 2 评论 -
使用pmml跨平台部署机器学习模型Demo——房价预测
基于房价数据,在python中训练得到一个线性回归的模型,在JavaWeb中加载模型完成房价预测的功能。一、 训练、保存模型工具:PyCharm-2017、Python-39、sklearn2pmml-0.76.1。1.训练数据house_price.csvNosquare_feetprice11506450220074503250845043009450535011450640015450760018450原创 2021-11-21 12:08:14 · 1678 阅读 · 0 评论 -
使用pmml实现跨平台部署机器学习模型
一、概述 对于由Python训练的机器学习模型,通常有pickle和pmml两种部署方式,pickle方式用于在python环境中的部署,pmml方式用于跨平台(如Java环境)的部署,本文叙述的是pmml的跨平台部署方式。 PMML(Predictive Model Markup Language,预测模型标记语言)是一种基于XML描述来存储机器学习模型的标准语言。如,对在Python环境中由sklearn训练得到的模型,通过sklearn2pmml模块可将它完整地保存为一个pmml格式的文件,再原创 2021-11-20 19:02:12 · 4781 阅读 · 4 评论 -
隐马尔可夫模型的解码
1.问题描述 隐马尔可夫模型(HMM)的解码问题指,给定模型和输出序列,如何找出最有可能产生这个输出的状态序列。自然语言处理中,也即如何通过观测信号确定最有可能对应的实际语义。在状态序列上,每个状态位是状态集合中的元素之一,因此该问题等价于在状态集合中的节点构成的有向网络(篱笆网络)中找出一条概率最大的路径(最优路径),如图。该问题可以通过维特比算法得到高效的解决。2.算法叙述 假设 P(st,j)P(s_{t,j})P(st,j)表示从起始时刻到st,js_{t,j}st,j的最优路径的原创 2021-11-02 21:42:58 · 1287 阅读 · 0 评论 -
维特比算法
一、概述 维特比算法是安德鲁.维特比(Andrew Viterbi)于1967年为解决通信领域中的解码问题而提出的,它同样广泛用于解决自然语言处理中的解码问题,隐马尔可夫模型的解码是其中典型的代表。无论是通信中的解码问题还是自然语言处理中的解码问题,本质上都是要在一个篱笆网络中寻找得到一条最优路径。 所谓篱笆网络,指的是单向无环图,呈层级连接,各层节点数可以不同。如图是一个篱笆网络,连线上的数字是节点间概念上的距离(如间距、代价、概率等),现要找到一条从起始点到终点的最优路径。 在实际问题中,原创 2021-10-28 21:41:56 · 2327 阅读 · 2 评论 -
离群点检测——局部离群因子(Local Outlier Factor,LOF)算法
1 离群点检测概述离群点是观察的数据集中明显异常的数据点,或者说,离群点的数据分布与数据集的整体分布不同。离群点检测的目的是检测出那些与正常数据差别较大的数据点,然后根据具体的问题作进一步处理。离群点检测算法主要有基于统计、聚类、分类、信息论、距离、密度等相关的方法,列表如下 检测方法 描述 优缺点 基于统计 根据数据的分布特点,选择一个概率分布模型对数据进行匹配,将不能匹...原创 2021-06-29 20:13:50 · 13681 阅读 · 13 评论 -
使用pyinstaller将python项目打包发布为exe可执行文件
pyinstaller模块用于将python项目打包发布成exe文件,以方便地在没有安装python环境的机器上运行。该模块使用pip install pyinstaller安装即可。一、常用参数及含义参数 执行命令 含义 -D pyinstaller -D demo.py 默认选项。除了主程序demo.exe外,还会在在dist文件夹中生成很多依赖文件,推荐使用。 -c pyinstall原创 2021-05-11 16:35:25 · 1196 阅读 · 9 评论 -
使用Flask部署机器学习模型
一、部署结构Flask是一个轻量级的Python Web开发框架,它自带了一个轻型服务器,可以部署Python 应用。对于python训练的机器学习模型,通过序列化和反序列化操作可以在Flask中进行部署。它的基本过程是,线下训练、保存模型,线上加载模型、部署应用。二、部署实现1.序列化和反序列化序列化:指将一个对象转换为字节流,能够存储在文件或网络上,在python中使用pickle模块来实现。也就是把训练的模型保存为一个.pkl文件。反序列化:指从字节流提取出对象。也就是加载.p原创 2021-04-08 14:14:47 · 6992 阅读 · 25 评论 -
决策树—分类
核心:特征选择+剪枝。1 概述决策树采取了“分而治之”的思想,是一种基本的分类方法,也可以用于回归。包括3个步骤:特征选择、决策树的生成和决策树的修剪。主要有ID3、C4.5和CART三种算法。从形式上,决策树就是一棵按照各个特征建立的树形结构,叶节点表示对于的类别,特征选择的顺序不同,得到的树的形状也不同。我们追求的是模型简单、效果好,直观上也就是建立的决策树深度越小越好。[例]...原创 2018-08-16 16:44:32 · 1799 阅读 · 0 评论 -
机器学习之熵
熵这个词本来是物理学中表示分子混乱程度的物理量,香农(Claude Elwood Shannon)借用过来描述信源的平均不确定性。信息熵的内容在信息论相关教材中有详细的描述,这里仅对机器学习中用到的部分相关概念做个笔记。1.信息信息有别于消息,是对事物运动状态或存在方式的不确定性的描述,并且这种不确定性是有大小的。比如我们在手机上看到这样两则新闻:科学家通过新技术复活了一只原核细...原创 2018-08-05 09:50:53 · 1024 阅读 · 0 评论 -
k-nearest neighbor,k近邻法
核心:物以类聚----根据邻近样本决定测试样本的类别。一、概念 所谓邻近样本,就是离它最近的k个样本,通过计算其与所有已知样本的距离来确定。 (距离的计算方式有多种(https://blog.youkuaiyun.com/albert201605/article/details/81040556),kNN一般使用的是欧氏距离,即两点间的空间距离,为两点向量差的L2范数。两个n维向量A...原创 2018-07-28 22:08:11 · 13376 阅读 · 1 评论 -
机器学习笔记:各种范数及各类距离
各种范数和距离有时记不清楚,简单做个笔记。为什么把范数和距离写一块呢,因为一些距离就是通过范数定义的。参考《机器学习:算法原理与编程实践》一书。一、范数。这里主要指向量范数||x||,满足非负性,齐次性,三角不等式。0. L0范数:指向量x中非0的元素的个数。1. L1范数:指向量x中各个元素绝对值之和。 ...原创 2018-07-14 11:42:09 · 2618 阅读 · 0 评论 -
朴素贝叶斯(Naive Bayes)
核心:贝叶斯定理+条件独立性假设。1.贝叶斯定理 其中,为特征向量,y为数据类别。2.分类贝叶斯分类问题可描述为:对特征向量为的数据项进行分类。即对于给定的输入X,计算该数据项对每个类别的后验概率 ,将后验概率最大的类作为X的分类输出。后验概率的计算即根据贝叶斯定理,...原创 2018-07-18 19:05:44 · 883 阅读 · 0 评论 -
MNIST数据集转化为CSV格式
MNIST数据集是一个手写识别数据集,机器学习基础的数据集,其原始数据集以字节形式存储,包含四个部分:训练集images: train-images-idx3-ubyte.gz (包含60000个样本) 训练集labels: train-labels-idx1-ubyte.gz (包含60000个标签) 测试集images:t10k-images-idx3-ubyte.gz (...原创 2018-04-11 11:46:27 · 13857 阅读 · 4 评论 -
决策树—回归
核心:划分点选择 + 输出值确定。一、概述决策树是一种基本的分类与回归方法,本文叙述的是回归部分。回归决策树主要指CART(classification and regression tree)算法,内部结点特征的取值为“是”和“否”, 为二叉树结构。所谓回归,就是根据特征向量来决定对应的输出值。回归树就是将特征空间划分成若干单元,每一个划分单元有一个特定的输出。因为每个结点都是“是”...原创 2018-08-20 11:02:30 · 59349 阅读 · 14 评论 -
一元线性回归python示例——房价预测
假设房价只有面积一个影响因素,根据下列数据集建立线性回归模型,并预测面积为700平方英尺的房子价格。 No square_feet price 1 150 6450 2 200 7450 3 ...原创 2018-08-23 16:58:42 · 10772 阅读 · 1 评论 -
线性回归
线性模型既有回归的,也有分类的;线性回归模型有一元线性回归和多元线性回归,还有拓展的广义线性模型。这里仅对基本的回归模型做一总结。1. 一元线性回归这是一种最简单的回归形式,也就是只有一个变量,表现在二维平面坐标系中就是一堆离散的点,我们要做的就是找到一条最好的直线对这些点进行拟合(如图所示),这些已知的离散点就是训练数据集。这样,对于一个新来的未知数据,我们只知道它的横坐标,就能根据模型...原创 2018-08-23 22:31:01 · 1480 阅读 · 0 评论 -
鸢尾花(iris)数据集
Iris数据集是常用的分类实验数据集,由Fisher, 1936收集整理。Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集。数据集包含150个数据集,分为3类,每类50个数据,每个数据包含4个属性。iris以鸢尾花的特征作为数据来源,常用在分类操作中。该数据集由3种不同类型的鸢尾花的50个样本数据构成。其中的一个种类与另外两个种类是线性可分离的,后两个种类是非线性可分离的。四个属性:...原创 2018-09-02 10:15:54 · 22807 阅读 · 0 评论 -
AttributeError: module 'pandas' has no attribute 'Factor'
在新版本的pandas,Factor 换成了 Categorical。将pd.Factor(iris.target, iris.target_names)替换为pd.Categorical.from_codes(iris.target, iris.target_names)原创 2018-09-02 16:55:20 · 4656 阅读 · 1 评论