![](https://img-blog.csdnimg.cn/20190828091849988.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Machine Learning
文章平均质量分 69
这孩子谁懂哈
坚持比努力更可怕/You Reap What You Sow
展开
-
Python实现关联规则推荐
1.什么关联规则 关联规则(Association Rules)是反映一个事物与其他事物之间的相互依存性和关联性,如果两个或多个事物之间存在一定的关联关系,那么,其中一个事物就能通过其他事物预测到。关联规则是数据挖掘的一个重要技术,用于从大量数据中挖掘出有价值的数据项之间的相关关系。 关联规则挖掘的最经典的例子就是沃尔玛的啤酒与尿布的故事,通过对超市购物篮数据进行分析,即顾客放入购物篮中不同商品之间的关系来分析顾客的购物习惯,发现美国妇女们经常会叮嘱丈夫下班后为孩子买...原创 2022-04-03 19:57:17 · 4050 阅读 · 2 评论 -
Python之RFM建模分析
1、RFM模型的含义 RFM模型是衡量客户价值和客户创利能力的重要工具和手段。在众多的客户关系管理(CRM)的分析模式中,RFM模型是被广泛提到的。 该模型通过一个客户的近期购买行为®、购买的总体频率(F)以及花了多少钱(M)三项指标来描述该客户的价值状况,从而能够更加准确地将成本和精力更精确的花在用户层次身上,实现针对性的营销。 详细来说,R指的是客户最后一次下单时间距离今天多少天了,该指标与客户的复购和流失直接相关。F指标指的是客户的下单频率,即客户在某个时间段内共消费了多少次,该指标用于原创 2022-03-27 16:41:20 · 4685 阅读 · 6 评论 -
HMM预测妹子心情
最近小组长要求做一个HMM的技术专题报告,想怎么使用通俗易懂的语言来给大家讲解呢?想了好久,终于在网上看到这位大牛的文章,感觉很通俗易懂,今天引用这位大牛的文章,进一步的讲解一下HMM,慢慢的揭开HMM的神秘面纱!先来讲解一下什么是马尔科夫链:一个系统有N个状态 S1,S2,···,Sn,随着时间推移,系统从某一状态转移到另一状态,设qt为时间t的状态,系统在时间t处于状态Sj的概原创 2022-03-26 20:10:39 · 193 阅读 · 0 评论 -
联邦学习之Paillier算法
密码(crypto)的概念由来已久,但与我们的手机解锁“密码”或者WiFi“密码”不同。这些由我们自己设置、用来验证身份的数字或者字母的组合,并非真正意义上的密码,而是“口令”(password)。与简单的口令相比,密码技术则是指通信过程中的一种混淆技术,将明文的消息转变为第三方不可识别的消息,在通信过程被窃听时,防止消息的机密性被泄露。准确地来说,密码技术将明文消息加密成密文,发送给通信的接收方,接收方在收到密文后使用密钥进行解密,从而恢复明文。联邦学习中经常使用的Paillier算法:Paill.原创 2022-03-26 20:02:48 · 1153 阅读 · 0 评论 -
Xgboost算法之一特征分析
仅仅记录一下简单的特征分析法:数据集仍是:Pima印第安人糖尿病数据集主要是:数据分布、散点图、相关性矩阵分析等代码如下:from operator import indexfrom numpy import loadtxtfrom numpy import sortfrom matplotlib import pyplotimport numpy as npimport pandas as pdimport seaborn as snsimport matplotl原创 2022-03-20 16:27:00 · 1939 阅读 · 0 评论 -
Xgboost模型之二特征重要性计算及模型的特征选择
XGBOOST模型对于一些场景有着不错的表现,切提供了一个很多的特征重要性的计算:准备:把一些用到的包安装一下,如xgboost,sklearn等建议使用国内的镜像源,否则106M会让你等很久,具体可以参考:pip安装包较慢的解决办法_这孩子谁懂哈的博客-CSDN博客1.使用的 Pima印第安人糖尿病的测试数据集;下载地址:2.计算特征重要性:# plot feature importance manuallyfrom numpy import loadtxtf原创 2022-03-20 16:13:55 · 4550 阅读 · 1 评论 -
如何看ROC,LIFT,PR,KS曲线
1.ROC曲线ROC(receiver operating characteristic)接受者操作特征,其显示的是分类器的真正率和假正率之间的关系ROC曲线有助于比较不同分类器的相对性能,当FPR小于0.36时M1浩宇M2,而大于0.36是M2较好。ROC曲线下面的面积为AUC(area under curve),其面积越大则分类的性能越好,理想的分类器auc=1。一般AUC>0.8分类器还可以。 图来自https://blog.csdn.net/taoyanqi8932/ar.原创 2020-09-10 15:14:44 · 15298 阅读 · 0 评论 -
集成学习的决策树的算法
常见的集成学习框架有三种:Bagging、Boosting 和 Stacking。三种集成学习框架在基学习器的产生和综合结果的方式上会有些区别,我们先做些简单的介绍。1.1 BaggingBagging 全称叫 Bootstrap aggregating,看到 Bootstrap 我们立刻想到著名的开源前端框架(抖个机灵,是 Bootstrap 抽样方法) ,每个基学习器都会对训练集进行有...原创 2019-11-19 13:16:31 · 4760 阅读 · 0 评论 -
深入理解拉格朗日乘数法和KKT条件
在求取有约束条件的优化问题时,拉格朗日乘子法(Lagrange Multiplier) 和KKT条件是非常重要的两个求取方法,对于等式约束的优化问题,可以应用拉格朗日乘子法去求取最优值;如果含有不等式约束,可以应用KKT条件去求取。当然,这两个方法求得的结果只是必要条件,只有当是凸函数的情况下,才能保证是充分必要条件。KKT条件是拉格朗日乘子法的泛化。之前学习的时候,只知道直接应用两个方法,但是却...转载 2018-06-21 10:52:13 · 1075 阅读 · 0 评论 -
极大似然估计和最小二乘法区别
最近在优化问题,发现很多的极大似然估计问题和最小二乘问题,查阅了一下资料,留在这里,以备不时之需。最大似然估计,就是利用已知的样本结果,反推最有可能(最大概率)导致这样结果的参数值。例如:一个麻袋里有白球与黑球,但是我不知道它们之间的比例,那我就有放回的抽取10次,结果我发现我抽到了8次黑球2次白球,我要求最有可能的黑白球之间的比例时,就采取最大似然估计法: 我假设我抽到黑球的原创 2017-12-29 21:22:43 · 9815 阅读 · 0 评论 -
机器学习中的分类、回归、标注
在数据挖掘、人工智能等领域中存在两个:分类和回归。单说分类很容易理解,但想到回归就容易分不清晰,那么这两者到底有什么区别和联系呢?下面简单介绍下我的理解。其实回归问题和分类问题的本质一样,都是针对一个输入做出一个输出预测,其区别在于输出变量的类型。分类问题是指,给定一个新的模式,根据训练集推断它所对应的类别(如:+1,-1),是一种定性输出,也叫离散变量预测;原创 2017-12-28 21:54:27 · 6603 阅读 · 0 评论 -
GMM(高斯混合模型)
高斯混合模型--GMM(Gaussian Mixture Model)首先,我们先来了解一下,什么是高斯分布。若随机变量X服从一个数学期望为μ、方差为σ^2的正态分布,记为N(μ,σ^2)。其概率密度函数为正态分布的期望值μ决定了其位置,其标准差σ决定了分布的幅度。若随机变量 服从一个位置参数为 、尺度参数为原创 2017-10-16 19:14:45 · 3276 阅读 · 0 评论 -
KNN中的优化算法KD-tree
我们知道KNN是基于距离的一个简单分类算法,熟悉KNN的都知道,我们要不断计算两个样本点之间的距离,但是,试想一下,如果数据量特别大的时候,我们要每个都计算一下,那样计算量是非常大的,所以提出了一种优化KNN的算法-----kd-tree.实现k近邻法时,主要考虑的问题是如何对训练数据进行快速k近邻搜索。这在特征空间的维数大及训练数据容量大时尤其必要。k近邻法最简单的实现是线性扫描(穷原创 2017-09-26 16:55:18 · 7196 阅读 · 0 评论 -
大白话讲解EM算法
001、一个非常简单的例子假设现在有两枚硬币1和2,,随机抛掷后正面朝上概率分别为P1,P2。为了估计这两个概率,做实验,每次取一枚硬币,连掷5下,记录下结果,如下:硬币结果统计1正正反正反3正-2反2反反正正反2正-3反1正反反反反1正-4反2正反反正正3正-2反1反正正反反2正-3反可以很容易地估计出P1和P2,如下:P1 = (3+1+2)/ 15 = 0转载 2017-09-08 20:06:36 · 2383 阅读 · 1 评论 -
什么是范数
什么是范数?我们知道距离的定义是一个宽泛的概念,只要满足非负、自反、三角不等式就可以称之为距离。范数是一种强化了的距离概念,它在定义上比距离多了一条数乘的运算法则。有时候为了便于理解,我们可以把范数当作距离来理解。在数学上,范数包括向量范数和矩阵范数,向量范数表征向量空间中向量的大小,矩阵范数表征矩阵引起变化的大小。一种非严密的解释就是,对应向量范数,向量空间中的向量都原创 2017-09-05 19:35:30 · 9371 阅读 · 0 评论 -
决策树(decision tree)——连续值处理
转自: https://blog.csdn.net/u012328159/article/details/79396893前面两篇博客分别介绍了如何构造决策树(根据信息增益,信息增益率,基尼指数等)和如何对决策树进行剪枝(预剪枝和后剪枝),但是前面两篇博客主要都是基于离散变量的,然而我们现实的机器学习任务中会遇到连续属性,这篇博客主要介绍决策树如何处理连续值。| 连续值处理 因为连续属性的可...转载 2018-06-22 11:23:20 · 6371 阅读 · 0 评论 -
决策树(decision tree)——缺失值处理
现实生活中的数据集中的样本通常在某系属性上是缺失的,如果属性值缺失的样本数量比较少,我们可以直接简单粗暴的把不完备的样本删除掉,但是如果有大量的样本都有属性值的缺失,那么就不能简单地删除,因为这样删除了大量的样本,对于机器学习模型而言损失了大量有用的信息,训练出来的模型性能会受到影响。这篇博客就来介绍在决策树中是如何处理属性值有缺失的样本的,本篇博客使用的数据集如下(数据集来自周志华《机器学习》)...转载 2018-06-22 16:30:06 · 5689 阅读 · 1 评论 -
向量点乘(内积)和叉乘(外积、向量积)概念及几何意义解读
向量是由n个实数组成的一个n行1列(n*1)或一个1行n列(1*n)的有序数组;向量的点乘,也叫向量的内积、数量积,对两个向量执行点乘运算,就是对这两个向量对应位一一相乘之后求和的操作,点乘的结果是一个标量。点乘公式对于向量a和向量b: &...转载 2018-06-20 10:52:06 · 13549 阅读 · 4 评论 -
K-Fold Cross Validation(K倍交叉检验)
今天用matlab实现决策树,发现用到交叉检验的问题,好吧网上找的总结一下,以备不时之需!!!下面是一个求6倍交叉检验的决策树的错误率代码。function errorrate()[S1,S2,S3,S4,S5,S6,S7,S8,classity]=textread('Pima-training-set.txt','%f %f %f %f %f %f %f %f %s');D=[S1 S2 S3原创 2017-01-15 15:02:28 · 3735 阅读 · 1 评论 -
求最优解-牛顿法
牛顿法牛顿法原创 2018-08-28 16:50:18 · 3096 阅读 · 0 评论 -
Relief 特征选择算法简单介绍
relief算法Relief算法最早由Kira提出,最初局限于两类数据的分类问题。Relief算法是一种特征权重算法(Feature weighting algorithms),根据各个特征和类别的相关性赋予特征不同的权重,权重小于某个阈值的特征将被移除。Relief算法中特征和类别的相关性是基于特征对近距离样本的区分能力。算法从训练集D中随机选择一个样本R,然后从和R同类的样本中寻找最近邻样...转载 2018-08-08 15:52:01 · 5973 阅读 · 2 评论 -
LVW特征选择算法简单介绍
LVW(Las Vegas Wrapper)是一种典型的包裹式特征选择方法,它在拉斯维加斯方法框架下使用随机策略来进行子集搜索,并以最终分类器的误差为特征子集评价准则。与过滤式特征选择不考虑后续学习器不同,包裹式特征选择直接把最终要使用的学习器的性能作为特征子集的评价准则,换言之,包裹式特征选择的目的就是为了给定学习器选择最有利于其性能,量身定做的特征子集。算法描述: 红色箭头...原创 2018-08-15 11:28:26 · 5152 阅读 · 0 评论 -
奇异值分解(SVD)原理与在降维中的应用
转自:大神博客奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。是很多机器学习算法的基石。本文就对SVD的原理做一个总结,并讨论在在PCA降维算法中是如何运用运用SVD的。1. 回顾特征值和特征向量 ...转载 2018-08-10 17:21:39 · 602 阅读 · 0 评论 -
L1正则化和L2正则化的详细直观解释
正则化(Regularization)转自:此处机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作ℓ1ℓ1-norm和ℓ2ℓ2-norm,中文称作L1正则化和L2正则化,或者L1范数和L2范数。L1正则化和L2正则化可以看做是损失函数的惩罚项。所谓『惩罚』是指对损失函数中的某些参数做一些限制。对于线性回归模型,使用L1正则化的模型建叫做Lasso...转载 2018-08-09 15:13:18 · 37087 阅读 · 8 评论 -
L1正则化和L2正则化的直观解释
正则化(Regularization)机器学习中几乎都可以看到损失函数后面会添加一个额外项,常用的额外项一般有两种,一般英文称作ℓ1” role=”presentation” style=”position: relative;”>ℓ1ℓ1-norm,中文称作L1正则化和L2正则化,或者L1范数和L2范数。L1正则化和L2正则化...转载 2022-03-26 20:28:25 · 803 阅读 · 1 评论 -
GBDT算法
转载:https://www.cnblogs.com/willnote/p/6801496.html简介GBDT即梯度提升树,提升方法依然采用的是加法模型与前向分布算法。以决策树为基函数的提升方法称为提升树。对分类问题决策树是二叉分类树,对回归问题决策树是二叉决策树。例如前文中的例子中所使用的决策树桩即为一个根节点直接连接两个叶节点的简单决策树。与Adboost的区别GBDT与Adboost最主要...转载 2018-06-28 15:07:20 · 1090 阅读 · 0 评论 -
Boosting学习笔记(Adaboost、GBDT、Xgboost)
转载请注明出处:http://www.cnblogs.com/willnote/p/6801496.html前言本文为学习boosting时整理的笔记,全文主要包括以下几个部分:对集成学习进行了简要的说明给出了一个Adboost的具体实例对Adboost的原理与学习过程进行了推导针对GBDT的学习过程进行了简要介绍针对Xgboost的损失函数进行了简要介绍给出了Adboost实例在代码上的简单实现...转载 2022-03-26 20:30:08 · 554 阅读 · 0 评论 -
神经网络中的Regularization和dropout
本文主要讲解神经网络中的正则化(Regularization)和Dropout,都是用了减小过拟合。正则化在机器学习领域中很重要。主要针对模型过拟合问题而提出来的。本文是观看麦子学院的视频整理而来。下面开始介绍。1 正则化机器学学习中的正则化相关的内容可以参见李航的书:统计学习方法。参阅者可以先了解有关的内容。正则化是用来降低overfitting(过拟合)的,减少过拟合的的其他方法有:增加训练转载 2017-09-04 11:07:14 · 1387 阅读 · 0 评论 -
ROC曲线详解
机器学习之分类器性能指标之ROC曲线、AUC值http://www.cnblogs.com/dlml/p/4403482.html分类器性能指标之ROC曲线、AUC值一 roc曲线1、roc曲线:接收者操作特征(receiveroperating characteristic),roc曲线上每个点反映着对同一信号刺激的感受性。横轴:负正类率(false postive rate FPR)特异转载 2017-05-18 15:42:49 · 17652 阅读 · 4 评论 -
Decision Tree的matlab实现及原理
clear all;clc;[S1,S2,S3,S4,S5,S6,S7,S8,classity]=textread('Pima-training-set.txt','%f %f %f %f %f %f %f %f %s');%Pima-training-set.txtD=[S1 S2 S3 S4 S5 S6 S7 S8];AttributName={ 'preg','plas','pres','s原创 2017-01-15 15:02:30 · 1635 阅读 · 0 评论 -
BP神经网络
本文以Fisher的Iris数据集作为神经网络程序的测试数据集。Iris数据集可以在http://en.wikipedia.org/wiki/Iris_flower_data_set 找到。这里简要介绍一下Iris数据集:有一批Iris花,已知这批Iris花可分为3个品种,现需要对其进行分类。不同品种的Iris花的花萼长度、花萼宽度、花瓣长度、花瓣宽度会有差异。我们现有一批已知品种的Iris花的原创 2017-01-15 15:02:44 · 900 阅读 · 0 评论 -
libsvm的make或者mex不成功(No supported compiler or SDK was found)
我们在进行机器学习或者数据挖掘的时候,我们总会用到svm的模型进行数据的挖掘和分析,但是我们使用SVM后,它只能二类的分类直接使用效果更好,但是我们往往是多类的分类。那么我们就会采用libsvm工具箱,libsvm是啥呢?首先感谢Lin教授及其实验室提供的libsvm工具箱,原始下载地址:下载主页:http://www.csie.ntu.edu.tw/~cjlin/libsvm/原创 2017-02-17 10:22:48 · 16923 阅读 · 5 评论 -
LIBSVM在matlab下的使用安装
1) 从LIBSVM的官网http://www.csie.ntu.edu.tw/~cjlin/libsvm/上下载最新版本的LIBSVM,当前版本为libsvm-3.18.zip2) 解压压缩包到电脑上一位置,如:C:\Program Files\libsvm-3.183) 假设你使用的是64位的操作系统和matlab。此时将libsvm-3.18文件夹下的windows目录添加到matlab目录原创 2017-01-15 15:03:14 · 323 阅读 · 0 评论 -
machine learning中的性能度量(Accuracy,Precision,Recall)
准确率(accuracy)准确率是最常用的分类性能指标。拿最常见的二分类问题来说,我们的模型无非是想要把正类和负类预测识别出来。在测试集中识别对的数量(不论是把正样本识别为正样本还是把负样本识别为负样本)除以测试集的数据总量就是准确率。在用scikit-learn调用分类器进行分类的时候,模型返回的score值其实就是准确率。精确率(precision)和召回率(recall)以及F值精确率容易和原创 2017-01-15 15:02:55 · 2400 阅读 · 0 评论 -
Kmeans的matlab的实现
计算二类精度的Kmeans 的matlab代码clear all;clc;D= load('Pima-training-set-non.txt');predict_label=kmeans(D,2,'dist','sqEuclidean','rep',4);%predict_label[S1,S2,S3,S4,S5,S6,S7,S8,classity]=textread('Pima-trainin原创 2017-01-15 15:02:38 · 1037 阅读 · 0 评论 -
半监督学习(SSL)
什么是半监督学习?我的理解就是一种偷懒的学习算法。利用很少的数据样本,构造模型,然后对大量的数据进行训练。百度百科的答案:半监督学习(Semi-Supervised Learning,SSL)是模式识别和机器学习领域研究的重点问题,是监督学习与无监督学习相结合的一种学习方法。它主要考虑如何利用少量的标注样本和大量的未标注样本进行训练和分类的问题。主要分为半监督分类,半监督回归,半监督聚类和半监督降原创 2017-01-15 15:01:13 · 2353 阅读 · 1 评论 -
Decision Tree(决策树算法)
决策树是以类常见的机器学习方法,决策树(Decision Tree)是一种简单但是广泛使用的分类器。通过训练数据构建决策树,可以高效的对未知的数据进行分类。决策数有两大优点:1)决策树模型可以读性好,具有描述性,有助于人工分析;2)效率高,决策树只需要一次构建,反复使用,每一次预测的最大计算次数不超过决策树的深度。因为实在是太懒了,不想一个一个字敲了,纯属学习总结:原创 2017-01-15 15:00:45 · 315 阅读 · 0 评论 -
什么是Deep Learning?
Deep Learning(深度学习)的算法思想:假设我们有一个系统S,它有n层(S1,…Sn),它的输入是I,输出是O,形象地表示为: I =>S1=>S2=>…..=>Sn => O,如果输出O等于输入I,即输入I经过这个系统变化之后没有任何的信息损失(呵呵,大牛说,这是不可能的。信息论中有个“信息逐层丢失”的说法(信息处理不等式),设处理a信息得到b,再对b处理得到c,那么可以证明:a和c的原创 2017-01-15 15:00:26 · 2189 阅读 · 0 评论 -
Viterbi算法
Viterbi算法应用于HMM的识别问题,也称解码问题。它通过应用了动态规划的思想避免了复杂度很高的运算,为识别时效性提供了强有力的支持。这个算法并不难理解,这里只是对其一个细节进行阐述。Viterbi算法实际上解决P(I|O,λ)最大化的问题,给定观测序列求其最可能对应的状态序列。算法首先需要导入两个变量δ和ψ。δ是在时刻t状态为i的所有单个路径(i1,i2,...,it)中概率的最大值: δt原创 2017-01-15 14:58:51 · 451 阅读 · 0 评论 -
Baum-Welch算法
最近 由于科研的需要,重新 学习了一下HMM里的学习和预测算法(解码),里面的两个重要的算法,就是Baum-Welch和Viterbi算法。概率计算问题即模型评价问题——前向算法和后向算法学习问题即参数估计问题——Baum-Welch算法预测问题即解码问题——Viterbi算法Baum-Welch算法Baum-Welch算法是为了解决HMM的参数估计问题而提出的,而且是没有标注也就是HMM的状态序原创 2017-01-15 14:58:48 · 4899 阅读 · 0 评论