机器学习
liweiwei1419
简单、诚实。
展开
-
决策树之 sklearn 实现
官方文档:http://scikit-learn.org/stable/modules/tree.html训练集:命名为 AllElectronics.csv 的文件RID,age,income,student,credit_rating,Class_bugs_computer1,youth,high,no,fair,no2,youth,high,no,excellent,no3,middle原创 2017-10-24 21:21:41 · 1120 阅读 · 0 评论 -
LDA 线性判别分析公式推导
LDA 线性判别分析公式推导学习 LDA 其实我也没觉得它有什么很重要的应用,甚至我还听到了一种说法,觉得 LDA 是一个比较鸡肋的算法(这一点恐怕要打一个大大的问号),但是在学习 LDA 的过程中,可以巩固我们对常见数学工具的应用,因为其中用到的拉格朗日乘子法,定义的协方差矩阵、投影到向量的思想是常见而且基础的。LDA 的思想与 PCA 不同,LDA 需要利用类标信息进行降维,是一种监督学...原创 2018-09-30 17:46:25 · 1157 阅读 · 0 评论 -
AdaBoost 公式推导
最近看到 EM 算法,其中的证明有用到琴生不等式,在这里做一个笔记。在刚开始学习凸函数和凹函数的时候,我们会被凸函数和凹函数的命名所困扰,命名看起来是凹的,一些教材上却偏偏说它是凸函数。其实这个只是一个定义,它叫什么,并不影响函数本身的性质。就像我在 B 站上看到有些人戏称三国时期的武将赵云为“云妹”,你叫他“云姐”“云妈”都不会改变赵云纯爷们的形象。因此大可不必为凸函数凹函数的命名所纠结,应该...原创 2018-10-28 12:26:21 · 2377 阅读 · 2 评论 -
《统计学习方法》第 6 章“逻辑回归”学习笔记
理解贝叶斯公式其实就只要掌握:1、条件概率的定义;2、乘法原理P(ci∣x)=P(x∣ci)P(ci)P(x)P(c_i|x) = \cfrac{P(x|c_i)P(c_i)}{P(x)}P(ci∣x)=P(x)P(x∣ci)P(ci)这里 xxx 是一个向量,有几个特征,就有几个维度。朴素贝叶斯就假设这些特征独立同分布,即P(x∣ci)=P(x1∣ci)P(x2∣ci)⋯P(x...原创 2018-10-29 15:35:30 · 1116 阅读 · 0 评论 -
关联分析概述1——Apriori 算法简介
关联分析概述“关联分析”就是分析在众多的历史交易记录中,出现很多的组合项有哪些,并且得出“购买了 A 物品的顾客还很有可能会一起购买 B 物品”这样的结论。那么,“分析一起出现的组合项”有什么用呢?1、我们可以发现哪些商品的组合销量高,例如,我们知道周志华的《机器学习》和李航的《统计学习方法》这两本书通常都是被人们口耳相传一起被推荐给想入门机器学习的朋友,然后顾客一起购买的。作为商家,其实我...原创 2018-10-27 15:16:24 · 1008 阅读 · 0 评论 -
PCA 通过 SVD 分解替代协方差矩阵的特征值分解
在周志华的《机器学习》第 10 章介绍“主成分分析”一节中,有这样一句批注:实践中常通过对 XXX 进行奇异值分解来替代协方差矩阵的特征值分解。下面解释这句话的意思。首先我们复习一下,将任意形状的矩阵 XXX 如何进行 SVD 分解,其基本思路是构造对称矩阵。XTX=(VΣTUT)(UΣVT)=VΣT(UTU)ΣVT=VΣTΣVTX^TX = (V \Sigma^T U^T)(...原创 2019-04-15 06:25:07 · 2933 阅读 · 1 评论 -
《统计学习方法》第 2 章“感知机”学习笔记
感知机是《统计学习方法》的介绍的第 1 个算法,是神经网络与 SVM 的基础。研究思路1、模型:二分类问题,数据点分为“+1+1+1”类和“−1-1−1”类,“超平面”为所求;2、策略:损失函数最小化,确定参数 www 和 bbb;3、算法:随机梯度下降法。策略:随机梯度下降用普通的基于所有样本的梯度和的均值的批量梯度下降法(BGD)是行不通的,原因在于我们的损失函数里面有限定,只有...原创 2019-04-15 06:31:02 · 360 阅读 · 0 评论 -
《统计学习方法》第 4 章“朴素贝叶斯法”学习笔记
概率有向图模型朴素贝叶斯也是最简单的概率有向图模型。生成模型与判别模型朴素贝叶斯方法实际上学习到的是生成数据的机制。1、关于生成模型和判别模型,我一开始也很迷糊,后来我发现只要记住一点:生成模型首先是概率模型,要计算后验概率,但不是直接计算后验概率,得先通过计算联合概率,然后比较联合概率的大小,间接比较(得到)后验概率的大小。2、判别模型则直接对条件概率建模,有点判别模型不是概率模型...原创 2019-05-17 14:57:57 · 841 阅读 · 0 评论 -
《统计学习方法》第 6 章“最大熵模型”学习笔记
关于信息熵相关的定义的理解1、信息量信息量是通过概率来定义的:如果一件事情的概率很低,那么它的信息量就很大;反之,如果一件事情的概率很高,它的信息量就很低。这件事情放在生活中,也是相当容易理解的。例如:“王思聪是富豪”这件事情的概率很高,但是说清楚这件事情只用一句话:“王思聪是王健林的儿子”,信息量少。那么我“李某人是富豪”这件事发生的概率就很低,要说清楚这件事情,估计得说上三天...原创 2018-09-30 17:29:00 · 496 阅读 · 0 评论 -
SVD 奇异值分解理论推导
SVD 奇异值分解理论推导这里对 SVD 奇异值分解的数学公式给出一个简单的笔记,融合了自己对于公式推导过程的理解。和 PCA 主成分分析一样,SVD 其实也是使用待定系数法对任意形状矩阵分解以后的矩阵乘法因子做的推断。PCA 主成分分析是对协方差矩阵进行特征值分解,待分解的矩阵是方阵,SVD 也用到了类似的过程,在结论上,SVD 给出了一个更好的结果,即对任意形状的矩阵都可以进行矩阵分解...原创 2018-09-30 17:13:34 · 583 阅读 · 0 评论 -
sklearn 的通用的学习模式
最近学习到深度学习的卷积神经网络那里,感觉有点吃力了,所以先来一些比较轻松愉快的,先写写代码,获得一些继续学习的动力。sklearn 的通用的学习模式简介这篇文章仅仅只是一个笔记,感受一下使用 scikit-learn 这个框架的基本步骤。 1、使用 scikit-learn 为我们提供的数据库,这样我们自己就不用手动输入数据啦;iris = datasets.load_iris()iris_X原创 2017-10-24 22:01:24 · 1278 阅读 · 1 评论 -
主成分分析(PCA )的数学推导
PCA 降维简而言之,就是使用一个新的坐标系去描述原来坐标系中的数据,在新的坐标系中舍弃一些不重要的分量,那些被保留的分量就称之为主成分,因此 PCA 的核心其实是坐标变换。接下来,铺垫一些关于坐标变换的知识。我们知道,如果坐标系是单位正交向量,这些单位正交向量可以看成是坐标轴的方向向量,那么坐标轴一个方向向量与某个点(这里可以认为是向量)做内积,得到的一个数(标量),就得到了这个点在这个坐标...原创 2018-10-02 09:05:00 · 1731 阅读 · 1 评论 -
sklearn 线性回归简单应用
样本准备import numpy as npimport matplotlib.pyplot as plt# 样本准备train_X = np.linspace(-1, 1, 100)train_Y = 2 * train_X + np.random.randn(*train_X.shape) * 0.3 # y=2x,但是加入了噪声# 显示模拟数据点plt.plot(train...原创 2018-10-11 08:32:05 · 1142 阅读 · 0 评论 -
《统计学习方法》“支持向量机”一章中说可以取函数间隔等于 1 是为什么?
假设两条平行直线分别是(1)Wx+A=0,Wx+A=0,\tag{1}Wx+A=0,(1)与(2)Wx+B=0.Wx+B=0.\tag{2}Wx+B=0.(2)那么和这两条直线平行,且位于中间的那条直线就可以表示成:(3)Wx+A+B−A2=0.Wx + A + \frac{B-A}{2} = 0.\tag{3}Wx+A+2B−A=0.(3)令 t=B−At=B-At=...原创 2018-10-04 20:12:50 · 2120 阅读 · 3 评论 -
岭回归直接得到最优解的公式推导
关键词:间隔最大化、无约束优化问题、有约束优化问题、凸函数、仿射函数、凸二次规划问题、希尔伯特空间、拉格朗日乘子法、拉格朗日对偶函数、KKT 条件研究思路支持向量机(support vector machines,SVM)是一种二分类模型。1、硬间隔最大的线性可分的支持向量机前提:数据线性可分。与感知机不同的是,感知机只要找到一个超平面将训练数据集线性可分就可以了,但是 SVM 得到的分离...原创 2018-10-08 12:44:27 · 17314 阅读 · 5 评论 -
朴素贝叶斯算法综述
朴素贝叶斯算法的核心思想是“后验概率最大化”。从训练数据集中,计算类别的先验分布 P(Y)P(Y)P(Y) 和条件概率分布 P(X∣Y)P(X|Y)P(X∣Y),然后就可以统计出联合概率分布 P(X,Y)=P(Y)P(X∣Y)P(X,Y)=P(Y)P(X|Y)P(X,Y)=P(Y)P(X∣Y),进而得到后验概率分布。概率估计的方法可以是极大似然估计(其实就是数数字)或者贝叶斯估计(在数数字的...原创 2018-10-08 15:46:16 · 1530 阅读 · 0 评论 -
LabelEncoder 的使用
这个类的作用官方文档给出了最简洁的解释。Encode labels with value between 0 and n_classes-1.即将离散型的数据转换成 000 到 n−1n-1n−1 之间的数,这里 nnn 是给出的一个集合的不同取值的个数(可以认为是某个特征的所有不同取值的个数)。我用在什么地方:Kaggle 的泰坦尼克号幸存者预测中,Embarked 这一列的编码:...原创 2018-10-09 13:40:38 · 48560 阅读 · 4 评论 -
《统计学习方法》第 5 章“决策树”学习笔记
信息熵 H(x)H(x)H(x) 的范围信息熵的定义如下:H(X)=−∑x∈Xp(x)logp(x)H(X) = -\sum_{x \in X} p(x)\log p(x) H(X)=−x∈X∑p(x)logp(x)很显然,当随机变量 XXX 的分布是确定的时候,信息熵 H(X)H(X)H(X) 最小,此时 H(X)=−1⋅log21+0⋅log20⋯+0⋅log20=0H(X)...原创 2018-09-30 17:01:49 · 3213 阅读 · 0 评论 -
《统计学习方法》第 7 章“支持向量机”学习笔记
关键字:函数间隔、几何间隔、正则化的合页损失函数、凸二次规划、核技巧(核函数)、输入空间、特征空间、欧式空间、希尔伯特空间。我这篇笔记主要是介绍李航的《统计学习方法》第 7 章内容,以笔记的方式呈现。需要说明的是,为了使得本文尽量易懂,我把书上的一些标题或者专有名词做了更改,只是为了帮助初学的朋友们的理解。SVM 的思想,从感知机开始1、研究基础:感知机,二分类问题,并且数据是线性可分的;...原创 2019-05-17 16:29:56 · 891 阅读 · 1 评论