机器学习-理论基础
MachineLearning theory
ll_lin
这个作者很懒,什么都没留下…
展开
-
Chameleon变色龙聚类算法小结
原文链接代码资源转载 2020-01-17 17:32:29 · 5127 阅读 · 9 评论 -
Apriori算法原理总结
我只是一名搬运工,以下内容来自:刘建平Pinard https://www.cnblogs.com/pinard/p/6293298.html1.前言 Apriori算法是常用的用于挖掘出数据关联规则的算法,它用来找出数据值中频繁出现的数据集合,找出这些集合的模式有助于我们做一些决策。比如在常见的超市购物数据集,或者电商的网购数据集中,如果我们找到了频繁出现的数据集,那么对于超市,我们可以...转载 2019-09-07 21:16:22 · 696 阅读 · 0 评论 -
典型关联分析(CCA)原理总结
我只是一名搬运工,以下内容来自:刘建平Pinard https://www.cnblogs.com/pinard/p/6288716.html1. 前言 典型关联分析(Canonical Correlation Analysis,以下简称CCA)是最常用的挖掘数据关联关系的算法之一。比如我们拿到两组数据,第一组是人身高和体重的数据,第二组是对应的跑步能力和跳远能力的数据。那么我们能不能说这...转载 2019-09-07 20:07:38 · 2818 阅读 · 0 评论 -
局部线性嵌入(LLE)原理总结
我只是一名搬运工,以下内容来自:刘建平Pinard https://www.cnblogs.com/pinard/p/6266408.html1. 前言 局部线性嵌入(Locally Linear Embedding,以下简称LLE)也是非常重要的降维方法。和传统的PCA,LDA等关注样本方差的降维方法相比,LLE关注于降维时保持样本局部的线性特征,由于LLE在降维时保持了样本的局部特征,...转载 2019-09-06 10:25:27 · 3195 阅读 · 0 评论 -
奇异值分解(SVD)原理与在降维中的应用
我只是一名搬运工,以下内容来自:刘建平Pinard:https://www.cnblogs.com/pinard/p/6251584.html1. 前言 奇异值分解(Singular Value Decomposition,以下简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域。是很多机器学习算法的基石。本文就对SVD...转载 2019-09-05 23:25:36 · 407 阅读 · 0 评论 -
线性判别分析LDA原理总结
我只是一名搬运工,以下内容来自:刘建平Pinard:https://www.cnblogs.com/pinard/p/6244265.html在主成分分析(PCA)原理总结中,我们对降维算法PCA做了总结。这里我们就对另外一种经典的降维方法线性判别分析(Linear Discriminant Analysis, 以下简称LDA)做一个总结。LDA在模式识别领域(比如人脸识别,舰艇识别等图形图像...转载 2019-09-05 20:53:51 · 245 阅读 · 0 评论 -
主成分分析(PCA)原理总结
我只是一名搬运工,以下内容来自:刘建平Pinard:https://www.cnblogs.com/pinard/p/6239403.html1. 前言 主成分分析(Principal components analysis,以下简称PCA)是最重要的降维方法之一。在数据压缩消除冗余和数据噪音消除等领域都有广泛的应用。一般我们提到降维最容易想到的算法就是PCA,下面我们就对PCA的原理做一...转载 2019-09-04 23:40:08 · 638 阅读 · 0 评论 -
谱聚类(spectral clustering)原理总结
我只是一名搬运工,以下内容来自:刘建平Pinard:https://www.cnblogs.com/pinard/p/6221564.html1. 前言 谱聚类(spectral clustering)是广泛使用的聚类算法,比起传统的K-Means算法,谱聚类对数据分布的适应性更强,聚类效果也很优秀,同时聚类的计算量也小很多,更加难能可贵的是实现起来也不复杂。在处理实际的聚类问题时,个人认...转载 2019-09-04 18:42:54 · 844 阅读 · 0 评论 -
DBSCAN密度聚类算法
我只是一名搬运工,以下内容来自:刘建平Pinard:https://www.cnblogs.com/pinard/p/6208966.html1. 前言 DBSCAN(Density-Based Spatial Clustering of Applications with Noise,具有噪声的基于密度的聚类方法)是一种很典型的密度聚类算法,和K-Means,BIRCH这些一般只适用于凸...转载 2019-09-03 16:41:11 · 169 阅读 · 0 评论 -
FP Tree算法原理总结
我只是一名搬运工,以下内容来自:刘建平Pinard https://www.cnblogs.com/pinard/p/6307064.html1. 前言 在Apriori算法原理总结中,我们对Apriori算法的原理做了总结。作为一个挖掘频繁项集的算法,Apriori算法需要多次扫描数据,I/O是很大的瓶颈。为了解决这个问题,FP Tree算法(也称FP Growth算法)采用了一些技巧,...转载 2019-09-08 10:13:51 · 269 阅读 · 0 评论 -
PrefixSpan算法原理总结
我只是一名搬运工,以下内容来自:刘建平Pinard https://www.cnblogs.com/pinard/p/6323182.html1. 前言 前面我们讲到频繁项集挖掘的关联算法Apriori和FP Tree。这两个算法都是挖掘频繁项集的。而今天我们要介绍的PrefixSpan算法也是关联算法,但是它是挖掘频繁序列模式的,因此要解决的问题目标稍有不同。2. 项集数据和序列数据...转载 2019-09-08 12:43:48 · 511 阅读 · 0 评论 -
XGBoost算法原理小结
我只是一名搬运工,以下内容来自:刘建平Pinard https://www.cnblogs.com/pinard/p/10979808.html前言 在之前作过梯度提升树(GBDT)原理小结,但是对GBDT的算法库XGBoost没有单独拿出来分析。虽然XGBoost是GBDT的一种高效实现,但是里面也加入了很多独有的思路和方法,值得单独讲一讲。因此讨论的时候,我会重点分析和GBDT不同的地...转载 2019-09-18 10:54:55 · 495 阅读 · 0 评论 -
异常点检测算法小结
我只是一名搬运工,以下内容来自:刘建平Pinard https://www.cnblogs.com/pinard/p/9314198.html前言 异常点检测,有时也叫离群点检测,英文一般叫做Novelty Detection或者Outlier Detection,是比较常见的一类非监督学习算法,这里就对异常点检测算法做一个总结。1. 异常点检测算法使用场景 什么时候我们需要异常点检...转载 2019-09-18 09:00:27 · 1306 阅读 · 0 评论 -
贝叶斯个性化排序(BPR)算法小结
我只是一名搬运工,以下内容来自:刘建平Pinard https://www.cnblogs.com/pinard/p/9128682.html前言 在矩阵分解在协同过滤推荐算法中的应用中,我们讨论过像funkSVD之类的矩阵分解方法如何用于推荐。今天我们讲另一种在实际产品中用的比较多的推荐算法:贝叶斯个性化排序(Bayesian Personalized Ranking, 以下简称BPR)...转载 2019-09-17 22:15:50 · 819 阅读 · 0 评论 -
分解机(Factorization Machines)推荐算法原理
我只是一名搬运工,以下内容来自:皮果提peghoty https://blog.csdn.net/peghoty/article/details/40534885( 1 )( 2 )( 3 )( 4 )( 5 )( 6 )( 7 )( 8 )( 9 )( 10 )Pinard注:上面最后一句话应该是"而gθ(x)则利用yˆ(x)−θhθ(x)来计算"( 1...转载 2019-09-10 11:08:39 · 242 阅读 · 0 评论 -
SimRank协同过滤推荐算法
我只是一名搬运工,以下内容来自:刘建平Pinard https://www.cnblogs.com/pinard/p/6362647.html前言 在协同过滤推荐算法总结中,我们讲到了用图模型做协同过滤的方法,包括SimRank系列算法和马尔科夫链系列算法。现在我们就对SimRank算法在推荐系统的应用做一个总结。1. SimRank推荐算法的图论基础 SimRank是基于图论的,如...转载 2019-09-10 10:17:39 · 884 阅读 · 0 评论 -
矩阵分解在协同过滤推荐算法中的应用
我只是一名搬运工,以下内容来自:刘建平Pinard https://www.cnblogs.com/pinard/p/6351319.html前言 在协同过滤推荐算法总结中,我们讲到了用矩阵分解做协同过滤是广泛使用的方法,这里就对矩阵分解在协同过滤推荐算法中的应用做一个总结。1. 矩阵分解用于推荐算法要解决的问题 在推荐系统中,我们常常遇到的问题是这样的,我们有很多用户和物品,也有少...转载 2019-09-09 22:14:30 · 415 阅读 · 0 评论 -
协同过滤推荐算法总结
我只是一名搬运工,以下内容来自:刘建平Pinard https://www.cnblogs.com/pinard/p/6349233.html前言推荐算法具有非常多的应用场景和商业价值,因此对推荐算法值得好好研究。推荐算法种类很多,但是目前应用最广泛的应该是协同过滤类别的推荐算法,本文就对协同过滤类别的推荐算法做一个概括总结,后续也会对一些典型的协同过滤推荐算法做原理总结。推荐算法概述...转载 2019-09-09 21:35:19 · 4185 阅读 · 0 评论 -
BIRCH聚类算法原理
1. 前言 在K-Means聚类算法原理中,我们讲到了K-Means和Mini Batch K-Means的聚类原理。这里我们再来看看另外一种常见的聚类算法BIRCH。BIRCH算法比较适合于数据量大,类别数K也比较多的情况。它运行速度很快,只需要单遍扫描数据集就能进行聚类,当然需要用到一些技巧,下面我们就对BIRCH算法做一个总结。2. BIRCH概述 BIRCH的全称是利用层次方法的...转载 2019-09-03 15:39:59 · 3068 阅读 · 0 评论 -
K-Means聚类算法原理
我只是一名搬运工,以下内容来自:刘建平Pinard:https://www.cnblogs.com/pinard/p/6164214.html1. 背景 K-Means算法是无监督的聚类算法,它实现起来比较简单,聚类效果也不错,因此应用很广泛。K-Means算法有大量的变体,本文就从最传统的K-Means算法讲起,在其基础上讲述K-Means的优化变体方法。包括初始化优化K-Means++...转载 2019-09-02 16:00:44 · 668 阅读 · 1 评论 -
梯度提升树(GBDT)原理小结
我只是一名搬运工,以下内容来自:刘建平Pinard:https://www.cnblogs.com/pinard/p/6140514.html1. 背景 在集成学习之Adaboost算法原理小结中,我们对Boosting家族的Adaboost算法做了总结,本文就对Boosting家族中另一个重要的算法梯度提升树(Gradient Boosting Decison Tree, 以下简称GBD...转载 2019-09-01 21:15:29 · 513 阅读 · 0 评论 -
最小二乘法小结
最小二乘法是用来做函数拟合或者求函数极值的方法。在机器学习,尤其是回归模型中,经常可以看到最小二乘法的身影,这里就对我对最小二乘法的认知做一个小结。1.最小二乘法的原理与要解决的问题 最小二乘法是由勒让德在19世纪发现的,原理的一般形式很简单,当然发现的过程是非常艰难的。形式如下式:目标函数=∑(观测值−理论值)2 观测值就是我们的多组样本,理论值就是我们的假设拟合函数。目标...转载 2019-06-03 21:27:49 · 402 阅读 · 0 评论 -
朴素贝叶斯算法原理小结
我只是一名搬运工,以下内容来自:刘建平Pinard:https://www.cnblogs.com/pinard/p/6069267.html1. 背景 在所有的机器学习分类算法中,朴素贝叶斯和其他绝大多数的分类算法都不同。对于大多数的分类算法,比如决策树,KNN,逻辑回归,支持向量机等,他们都是判别方法,也就是直接学习出特征输出Y和特征X之间的关系,要么是决策函数Y=f(X),要么是条件...转载 2019-06-09 21:38:31 · 2027 阅读 · 0 评论 -
梯度下降(Gradient Descent)小结
我只是一个搬运工,以下内容来自:刘建平Pinard:https://www.cnblogs.com/pinard/p/5970503.html梯度下降(Gradient Descent)小结 在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。这里就对梯度下降法做一个完整的总结。1. 梯度...转载 2019-06-03 12:31:16 · 298 阅读 · 0 评论 -
K近邻法(KNN)原理小结
我只是一名搬运工,以下内容来自:刘建平Pinard:https://www.cnblogs.com/pinard/p/6061661.html1. 背景 K近邻法(k-nearest neighbors,KNN)是一种很基本的机器学习方法了,在我们平常的生活中也会不自主的应用。比如,我们判断一个人的人品,只需要观察他来往最密切的几个人的人品好坏就可以得出了。这里就运用了KNN的思想。KNN...转载 2019-06-09 11:08:13 · 1183 阅读 · 0 评论 -
支持向量机原理(五)线性支持回归
我只是一名搬运工,以下内容来自:刘建平Pinard:https://www.cnblogs.com/pinard1. 背景 在前四篇里面我们讲到了SVM的线性分类和非线性分类,以及在分类时用到的算法。这些都关注与SVM的分类问题。实际上SVM也可以用于回归模型,本篇就对如何将SVM用于回归模型做一个总结。重点关注SVM分类和SVM回归的相同点与不同点。2. SVM回归模型的损失函数度量...转载 2019-06-14 10:50:36 · 328 阅读 · 0 评论 -
决策树算法原理(下) - CART
我只是一名搬运工,以下内容来自:刘建平Pinard:https://www.cnblogs.com/pinard/p/6053344.html1. 背景 在决策树算法原理(上)这篇里,我们讲到了决策树里ID3算法,和ID3算法的改进版C4.5算法。对于C4.5算法,我们也提到了它的不足,比如模型是用较为复杂的熵来度量,使用了相对较为复杂的多叉树,只能处理分类不能处理回归等。对于这些问题,C...转载 2019-06-08 16:18:45 · 396 阅读 · 0 评论 -
决策树算法原理(上) - ID3,C4.5
我只是一名搬运工,以下内容来自:刘建平Pinard:https://www.cnblogs.com/pinard/p/6050306.html1. 背景 决策树算法在机器学习中算是很经典的一个算法系列了。它既可以作为分类算法,也可以作为回归算法,同时也特别适合集成学习比如随机森林。本文就对决策树算法原理做一个总结,上篇对ID3, C4.5的算法思想做了总结,下篇重点对CART算法做一个详细...转载 2019-06-07 21:05:35 · 277 阅读 · 0 评论 -
感知机原理小结
我只是一名搬运工,以下内容来自:刘建平Pinard:https://www.cnblogs.com/pinard/p/6042320.html1. 背景 感知机可以说是最古老的分类方法之一了,在1957年就已经提出。今天看来它的分类模型在大多数时候泛化能力不强,但是它的原理却值得好好研究。因为研究透了感知机模型,学习支持向量机的话会降低不少难度。同时如果研究透了感知机模型,再学习神经网络,...转载 2019-06-07 17:54:32 · 701 阅读 · 0 评论 -
交叉验证(Cross Validation)原理小结
我只是一名搬运工,以下内容来自:刘建平Pinard:https://www.cnblogs.com/pinard/p/5992719.html 交叉验证是在机器学习建立模型和验证模型参数时常用的办法。交叉验证,顾名思义,就是重复的使用数据,把得到的样本数据进行切分,组合为不同的训练集和测试集,用训练集来训练模型,用测试集来评估模型预测的好坏。在此基础上可以得到多组不同的训练集和测试集,某次训...转载 2019-06-04 09:44:15 · 5192 阅读 · 0 评论 -
精确率与召回率,RoC曲线与PR曲线
我只是一名搬运工,以下内容来自:刘建平Pinard:https://www.cnblogs.com/pinard/p/5993450.html 在机器学习的算法评估中,尤其是分类算法评估中,我们经常听到精确率(precision)与召回率(recall),RoC曲线与PR曲线这些概念,那这些概念到底有什么用处呢? 首先,我们需要搞清楚几个拗口的概念:1. 定义: TP, FP, TN,...转载 2019-06-04 10:36:49 · 2816 阅读 · 0 评论 -
支持向量机原理(四)SMO算法原理
我只是一名搬运工,以下内容来自:刘建平Pinard:https://www.cnblogs.com/pinard/p/6111471.html1. 背景 在SVM的前三篇里,我们优化的目标函数最终都是一个关于α\alphaα向量的函数。而怎么极小化这个函数,求出对应的α\alphaα向量,进而求出分离超平面我们没有讲。本篇就对优化这个关于α\alphaα向量的函数的SMO算法做一个总结。...转载 2019-06-12 15:54:54 · 356 阅读 · 1 评论 -
支持向量机原理(三)线性不可分支持向量机与核函数
1. 背景 在前面两篇我们讲到了线性可分SVM的硬间隔最大化和软间隔最大化的算法,它们对线性可分的数据有很好的处理,但是对完全线性不可分的数据没有办法。本文我们就来探讨SVM如何处理线性不可分的数据,重点讲述核函数在SVM中处理线性不可分数据的作用。2. 回顾多项式回归 在线性回归原理小结中,我们讲到了如何将多项式回归转化为线性回归。 比如一个只有两个特征的p次方多项式回归的模型:...转载 2019-06-12 09:23:07 · 942 阅读 · 0 评论 -
集成学习之Adaboost算法原理小结
我只是一名搬运工,以下内容来自:刘建平Pinard:https://www.cnblogs.com/pinard/p/6133937.html1. 背景 在集成学习原理小结中,我们讲到了集成学习按照个体学习器之间是否存在依赖关系可以分为两类,第一个是个体学习器之间存在强依赖关系,另一类是个体学习器之间不存在强依赖关系。前者的代表算法就是是boosting系列算法。在boosting系列算法...转载 2019-06-16 18:02:36 · 828 阅读 · 0 评论 -
支持向量机原理(二) 线性支持向量机的软间隔最大化模型
我只是一名搬运工,以下内容来自:刘建平Pinard:https://www.cnblogs.com/pinard/p/6097604.html1. 背景 在支持向量机原理(一) 线性支持向量机中,我们对线性可分SVM的模型和损失函数优化做了总结。最后我们提到了有时候不能线性可分的原因是线性数据集里面多了少量的异常点,由于这些异常点导致了数据集不能线性可分,本篇就对线性支持向量机如何处理这些...转载 2019-06-11 20:56:15 · 502 阅读 · 0 评论 -
集成学习原理小结
我只是一名搬运工,以下内容来自:刘建平Pinard:https://www.cnblogs.com/pinard/p/6131423.html1. 背景 集成学习(ensemble learning)可以说是现在非常火爆的机器学习方法了。它本身不是一个单独的机器学习算法,而是通过构建并结合多个机器学习器来完成学习任务。也就是我们常说的“博采众长”。集成学习可以用于分类问题集成,回归问题集成...转载 2019-06-16 13:15:26 · 411 阅读 · 0 评论 -
支持向量机原理(一) 线性支持向量机
我只是一名搬运工,以下内容来自:刘建平Pinard:https://www.cnblogs.com/pinard/p/6097604.html***1. 背景 支持向量机(Support Vecor Machine,以下简称SVM)虽然诞生只有短短的二十多年,但是自一诞生便由于它良好的分类性能席卷了机器学习领域,并牢牢压制了神经网络领域好多年。如果不考虑集成学习的算法,不考虑特定的训练数据集...转载 2019-06-10 20:35:13 · 649 阅读 · 0 评论 -
最大熵模型原理小结
我只是一名搬运工,以下内容来自:刘建平Pinard:https://www.cnblogs.com/pinard/p/6093948.html1. 背景 最大熵模型(maximum entropy model, MaxEnt)也是很典型的分类算法了,它和逻辑回归类似,都是属于对数线性分类模型。在损失函数优化的过程中,使用了和支持向量机类似的凸优化技术。而对熵的使用,让我们想起了决策树算法中...转载 2019-06-10 15:22:31 · 989 阅读 · 0 评论 -
线性回归原理小结
我只是一名搬运工,以下内容来自:刘建平Pinard:https://www.cnblogs.com/pinard/p/6004041.html 线性回归可以说是机器学习中最基本的问题类型了,这里就对线性回归的原理和算法做一个小结。线性回归的模型函数和损失函数 线性回归遇到的问题一般是这样的。我们有m个样本,每个样本对应于n维特征和一个结果输出,如下:(x(0)1,x(0)2,...转载 2019-06-04 17:45:03 · 312 阅读 · 0 评论 -
逻辑回归原理小结
1. 背景 逻辑回归是一个分类算法,它可以处理二元分类以及多元分类。在分类问题中,要预测的变量y是离散的值。 分类问题的例子有:判断一封电子邮件是否是垃圾邮件;判断一次金融交易是否是欺诈;判断一个肿瘤是恶性的还是良性的。 虽然它名字里面有“回归”两个字,却不是一个回归算法。那为什么有“回归”这个误导性的词呢?个人认为,虽然逻辑回归是分类模型,但是它的原理里面却残留着回归模型的影子,本文...转载 2019-06-07 10:39:28 · 490 阅读 · 0 评论