
机器学习
文章平均质量分 61
线性回归、逻辑回归、决策树、K近邻、BP神经网络、朴素贝叶斯、支持向量机、K-Means等经典机器学习算法,从原理到代码一步一步理解算法。
优惠券已抵扣
余额抵扣
还需支付
¥9.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
东城青年
非宁静无以致远
微信号:15221816820
展开
-
从贝叶斯角度理解卡尔曼滤波算法
导弹需要每隔一秒开雷达测下离目标的距离,由于雷达有误差,所以需要融合自己上个时刻的位置、速度等信息来更准确的确定当前时刻离目标的距离。那么雷达测量数据它就不是一个数字了,而是说测量发现导弹有0.8的概率在7m那个位置,有0.1的概率在7.2m那个位置,有0.1的概率在6.9m那个位置,这些数据就叫做概率分布,概率分布的意思就是很多个值还有他们各自出现的概率多大所组成的数据就叫概率分布。),“上个时刻导弹离目标的距离”和“导弹自己当前时刻的速度”可以估算出当前导弹离目标的距离(称之为。原创 2024-09-06 18:30:32 · 206 阅读 · 0 评论 -
理解与推导贝叶斯滤波算法
很多时候一些算法看起来极其复杂,极其难懂,不是因为我们愚不可及,而是因为我们看到的是别人省略过很多步骤和脑海中思考过的思路最后呈现出来的公式和文字,而好的博客就应该尽量还原这些思考过程及省略掉的步骤。原创 2024-08-22 17:34:49 · 556 阅读 · 1 评论 -
矩阵的导数运算
如果一个标量方程f(y1,y2,...ym)有m个自变量,求取它的极值就需要求取m组的方程组。当然可以用一种简洁的方式来表达它,比如二维方程f(y1,y2)可以把其中的变量写成向量的形式。为一个向量(行数与分母相同,称为分母布局)。二维方程f(y1,y2)求极值即求偏导,令。一维方程f(y)求极值即求导,令。就是自变量是一个向量的方程。由于A为对称矩阵,所以。若按分子布局,则写成。,若A为对称矩阵,则。为1×1的标量方程,原创 2024-08-09 19:09:23 · 292 阅读 · 0 评论 -
机器学习面经
解释机器学习中的偏差与方差?偏差:指的是模型在测试集上的预测输出与真实值之间的误差,刻画了算法本身的拟合能力。方差:指的是模型在测试集上的预测输出与所有预测输出的平均值之间的误差,刻画了数据扰动所造成的影响,描述了模型的稳定性。噪声:指的是训练时预测数据与真实值之间的误差平均值,刻画了学习问题本身的难度。泛化误差:偏差、方差、噪声之和。左上角是理想情况:偏差...原创 2019-09-20 18:03:07 · 632 阅读 · 1 评论 -
卡尔曼滤波算法原理及示例
卡尔曼滤波算法原理推导及示例原创 2023-07-26 14:25:17 · 307 阅读 · 0 评论 -
基于梯度下降算法的曲线拟合
梯度下降法在求解函数最小值时,首先初始化一个变量值,然后不断迭代该变量值,直到函数在该变量值的地方梯度接近于0或迭代次数达到我们设定的阈值即终止迭代,此时就找到了一个函数极值点。因为函数在梯度反方向上下降最快,所以利用梯度来迭代变量。迭代规则:x = x – lr * grad(x); 其中lr为学习率,学习率不宜过大,过大容易发散,后面会讲。举例:构造一个函数如下所示。x = -10 : 0.1 : 10;y = 2.2...原创 2021-10-12 14:23:19 · 1761 阅读 · 0 评论 -
科比数据集分析与预测
本文收集了一系列科比的数据,有投篮位置,投进二分、三分球个数,比赛剩余时间,对手是谁等等来预测科比是否进球。主要是想通过本例来认识一下pandas在数据处理方面强大的功能。数据集有需要的可以联系我qq:1344184686一、导入需要用到的包,读入数据集import numpy as npimport pandas as pdimport matplotlib.pyplot as ...原创 2018-08-19 12:43:42 · 7649 阅读 · 6 评论 -
粒子群算法
粒子群算法介绍粒子群算法(PSO)是一种进化计算技术,源于对鸟群捕食的行为研究。粒子群算法的基本思想是通过群体中个体之间的协作和信息共享来寻找最优解。粒子群算法优势PSO优势:在于简单容易实现并没有许多参数的调节。目前被广泛应用于函数优化、神经网络训练、模糊系统控制以及其他遗传算法的应用领域。粒子群算法思想基本思想:粒子群算法通过设计一种无质量的粒子来模拟鸟群中的鸟,粒子仅具有两个属性:速度和位置,速度代表移动的快慢,位置代表移动的方向。每个粒子在搜索空间中单独的搜索最优解pbest,并原创 2022-03-09 10:57:37 · 2312 阅读 · 0 评论 -
多层神经网络实现
C语言实现多层神经网络训练。原创 2023-03-22 16:53:15 · 275 阅读 · 0 评论 -
BP神经网络推导及实现
神经网络训练:% 生成训练数据x = 1 : 0.01 : 10y = 1.1 * x.^3 + 2.1 * x.^2 + 3.1 * x + 1.2;len = length(x);% 训练数据归一化min_x = min(x);max_x = max(x);min_y = min(y);max_y = max(y);normal_x = (x - repmat(min_x, len, 1)) ./ repmat((max_x - min_x), len, 1);norm...原创 2022-04-22 18:26:22 · 1594 阅读 · 0 评论 -
BP神经网络
:代表神经元j的第i个输入;:代表与输入相关联的权值;:代表,单元j的净输出(输入的加权和,未经过激励函数);():代表单元j的实际输出【为sigmoid函数,(z)=1/(1+e^(-z),(1-)】;:单元j的目标输出;损失函数= 。BP神经网络采用随机梯度下降法,即对于每个训练样本d,利用关于这个样本的误差的梯度来修正权值:- 1、当单...原创 2018-08-20 20:51:40 · 262 阅读 · 0 评论 -
Stacking堆叠增强学习算法
数据集划分训练集和测试集,首先用训练集训练多个模型器,然后将测试集送入模型器得到每个模型器的输出,将每个模型器的输出作为一个特征送入最终模型器里训练,训练目标为测试集真实值。比如样本x经过model1得到y1, 经过model2得到y2,经过model3得到y3,然后将(y1,y2,y3)送入最终模型器里训练,目标为x的真实值。将样本送入不同的模型里得到预测结果,将每个模型预测的结果作为一个特征组成一个向量送入最终模型(一般用逻辑回归)里预测。原创 2023-06-12 11:36:39 · 548 阅读 · 1 评论 -
GBDT梯度提升树
可看到我们根据GBDT原理手写计算结果和sklearn提供的GradientBoostingRegressor计算结果一致,因为GradientBoostingRegressor内部的计算过程就是我们上面手写的过程。直接使用sklearn提供的GradientBoostingRegressor。上面介绍的示例提升树是梯度提升树的一种特例,即损失函数用的是平方和。原创 2023-06-09 18:26:32 · 132 阅读 · 0 评论 -
AdaBoost从原理到算法的实现
将不同的分类器组合起来,这种组合方法称为集成方法。使用集成方法时会有多种形式,可以是不同分类器的集成,也可以是数据集不同部分分给不同分类器之后的集成。下面介绍两种数据集不断变化分类器不变的集成方法。1、bagging:基于数据随机抽样的分类器构建方法。设原数据集M个,从原始数据集中有放回的随机抽取M个新的数据集,由于是有放回的抽取,所以抽取的M个新数据集中可能有重复的数据,将新数据集应用到分类...原创 2019-01-08 09:29:58 · 344 阅读 · 0 评论 -
RF随机森林
【代码】RF随机森林。原创 2023-06-09 19:18:00 · 103 阅读 · 0 评论 -
支持向量机从原理到算法的实现
思想:寻找能够成功分开两类样本并且具有最大分类间隔的最优超平面。1.原理解析空间中任何一个平面的方程都可以表示为wx+b =0,如上图,设最优超平面方程H为wx+b=0,支持向量x-到H的距离为,要使分类间隔最大,即该距离最大,而该距离只与|w|有关,分子为一个常数,为了简单优美,设分子常数为-1,则H1平面方程为wx+b = -1,同理H2平面方程为wx+b = 1。则H1H2间...原创 2018-12-17 18:50:24 · 842 阅读 · 4 评论 -
基于朴素贝叶斯的垃圾邮件过滤
1.文本切分 #对于一个文本字符串,可以使用Python的string.split()方法将其切分mySent = 'This book is the best book on python or M.L. I have ever laid eyes upon'words = mySent.split(' ')#Python中有一些内嵌的方法,可以将字符串全部转换成小写(.lower(...原创 2018-11-18 15:43:23 · 1432 阅读 · 2 评论 -
朴素贝叶斯从原理到算法的实现
基于概率论的分类方法:朴素贝叶斯经典举例:已知学校总人数N,男生占3/5,都穿长裤,女生占2/5,一半穿长裤,一般穿裙子。(1).穿长裤的人数:N*3/5 + N*2/5*1/2(2).当你看到一个人穿长裤,不知性别时,问该人是女生的概率? P(女生|长裤) = 女生穿长裤的人数/穿长裤总人数 = P(女)*P(长裤|女)/P(长裤)经典贝叶斯公式:下面通过对...原创 2018-11-17 21:20:40 · 576 阅读 · 0 评论 -
基于决策树的隐形眼镜类型预测
隐形眼镜数据集是著名的数据集,它包含很多患者眼部状况的观察条件以及医生推荐的隐形眼镜类型。隐形眼镜的类型包括硬材质、软材质以及不适合佩戴隐形眼镜。数据集如下图所示,第一列代表年龄‘age’,第二列代表医生的建议‘prescript’,第三列代表是否散光‘astigmatic’,第四列代表戴眼镜的频率‘tearRate’。隐形眼镜数据集 1.导入数据集,将数据集转换到列表中fr = ...原创 2018-11-10 14:44:52 · 1554 阅读 · 0 评论 -
决策树从原理到算法的实现
基本步骤流程 :计算给定数据的原始熵 划分数据集 选择最好的特征划分数据集 构建树的结构 使用决策树执行分类 决策树的存储和调用 绘制树形图决策树:是一种树形结构,其中每个内部节点表示一个属性上的测试,每个分支代表一个测试输出,每个叶子节点代表一种类别。优点:计算复杂度不高,输出结果易于理解,对中间值的缺失不敏感,可以知道哪些特征重要哪些不太重要 缺点:可能会产生过度匹配问...原创 2018-11-09 21:25:42 · 287 阅读 · 0 评论 -
高斯混合模型GMM
高斯混合模型理解。转载 2022-11-29 16:09:00 · 4935 阅读 · 3 评论 -
DBSCAN聚类算法从原理到实现
简介:DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一个比较有代表性的基于密度的聚类算法,它将簇定义为密度相连的点的最大集合,能够把具有足够高密度的区域划分为簇,并可在噪声的空间数据库中发现任意形状的聚类。算法步骤:DBSCAN需要指定两个参数,扫描半径(EPS)和最小包含点数(minPts)。K-Mean运行结果:只适用于球形簇,如果数据不是球形的,它的准确性就会受到影响。数据集:两条弧线.csv。原创 2023-05-29 11:30:39 · 329 阅读 · 0 评论 -
K-means聚类算法
聚类是一种无监督的学习,它将相似的对象归到同一个簇中。优点:容易实现 缺点:可能收敛到局部最小值,在大规模数据集上收敛较慢;对 “ 噪声 ” 和孤立点数据较敏感 使用数据类型:数值型数据K-means算法中的k是用户给定的,每一个簇通过其质心来描述。from numpy import *#加载数据def loadDataSet(filename): dataList...原创 2019-04-13 09:52:53 · 453 阅读 · 0 评论 -
基于K-近邻算法的手写字符识别
收集数据集,包括trainingDigits和testDigits文件夹,文件夹下是字符图像的二进制文本文件,大小为32*32,如下图所示:1.将二进制图像文本文件转换为一行向量首先介绍listdir,它能返回文件夹路径下的所有子文件:import osfrom os import listdirlistdir(r'C:\Users\Administrator\Desktop...原创 2018-11-08 15:07:31 · 451 阅读 · 0 评论 -
基于K-近邻算法的约会网站用户预测
基本步骤流程:收集数据 数据归一化 使用KNN算法进行测试 本例来自Peter Harrington编著的《机器学习实战》, 书中配套代码放在GitHub上《机器学习实战》约会数据放在文本文件datingTestSet.txtz中,有需要的可以联系,每个样本数据占一行,总共有1000行。每个样本包括3个特征:每年飞行的旅程数 玩游戏所耗时间百分比 每周消费的冰淇淋公升数...原创 2018-11-08 13:16:53 · 232 阅读 · 0 评论 -
K-近邻(KNN)从原理到算法的实现
原理介绍:首先存在一组训练样本集,而且每个样本都对应一个标签,即知道每一个样本所属的类别。输入预测数据,计算预测数据与每个样本的欧氏距离当作其相似性度量,然后提取前K个距离最小的数据,选择K个最相似数据中出现次数最多的分类,作为预测数据的分类,通常k是不大于20的整数。优点:精度高,对异常值不敏感 缺点:计算复杂度高、空间复杂度高频基本步骤如下:计算欧式距离 索引排序 创建...原创 2018-11-07 15:35:28 · 358 阅读 · 0 评论 -
逻辑回归及模型评估
本文通过逻辑回归分类来预测一个学生是否被录取,来熟悉python逻辑回归模型及模型的评估,数据集有需要的可以联系我qq:1344184686。一、读入数据#1、【读入数据】import pandas as pdimport matplotlib.pyplot as pltimport numpy as np#gpa为绩点,gre为一种英语等级考试data = pd.read_c...原创 2018-08-20 10:54:28 · 13393 阅读 · 4 评论 -
基于逻辑回归的病马死亡预测
本节将使用逻辑回归来预测患有疝病的马的存活问题。这里的数据包含368个样本和28个特征,其中有两个样本的类别标签缺失,所以将这两个样本剔除,另外有大量数据的许多特征缺失,对于缺失较多的特征,将该特征删除,最后剩有366个样本,保留有21个特征。分为训练集299个样本,测试集67个样本,最后一列为类别标签,表示存活和未能存活。上面对缺失数据的处理可以说是很简单暴力,实际上更科学的可选的作法有:...原创 2018-11-20 14:44:34 · 1245 阅读 · 0 评论 -
逻辑回归从原理到算法的实现
逻辑回归原理介绍:线性回归能对连续值进行预测,而现实生活中常见的是分类问题。既然能够用线性回归预测出连续值结果,那根据结果设定一阈值是不是就可以解决这个问题了呢?事实上对于很标准的情况下确实是可以的。但很多实际的情况下,我们需要学习的分类数据并没有那么精准,因此引出逻辑回归。即将线性回归预测的值通过sigmoid函数映射到0和1之间。定义代价函数,其实是一种衡量预测的结果与实际结果差...原创 2018-11-19 17:02:28 · 336 阅读 · 0 评论 -
线性回归预测油耗
本文通过预测汽车一加仑油能跑多少公里来熟悉python中线性回归模型。数据集可在该网址进行下载:http://archive.ics.uci.edu/ml/datasets/Auto+MPG,数据是网页版的,先复制到文本文档中再保存成data格式。一、读入数据集import pandas as pdimport matplotlib.pyplot as pltcolumns = ['...原创 2018-08-19 14:51:43 · 1803 阅读 · 0 评论 -
RANSAC算法
RANSAC算法原创 2022-09-09 10:10:54 · 2289 阅读 · 1 评论 -
线性回归从原理到算法的实现
1、线性回归这里的编辑器不好用,所以下面是用word写的截图1.1加载数据#dataList设置第一个分量都为1,这是为了引入偏置,labelList为标签def loadData(filename): numFeat = len(open(filename).readline().split('\t'))-1 dataList = [];labelList...原创 2019-01-21 16:08:52 · 578 阅读 · 2 评论