《统计学习方法》啃书手册
文章平均质量分 88
《统计学习方法》啃书手册
长行
这个作者很懒,什么都没留下…
展开
-
《统计学习方法》啃书手册|第20章 潜在狄利克雷分配(教材全解 + 公式推导 + Python实现)- 2
位置:《统计学习方法》啃书手册 > 第20章 潜在狄利克雷分配20.4.1 变分推理【补充说明】联合概率分布p(x,z)p(x,z)p(x,z)中,xxx是观测变量,即一个文本的单词序列;zzz是隐变量,即与该文本的单词序列对应的话题序列;后验概率分布p(z∣x)p(z|x)p(z∣x)是给定文本的单词序列的条件下,各个话题序列的概率。【补充解释】变分推理的推导逻辑:KL散度是描述两个概率分布相似度的一种度量;那么你希望找到与p(z∣x)p(z|x)p(z∣x)在KL散度意义下最接近的分布原创 2023-09-10 15:43:05 · 225 阅读 · 0 评论 -
《统计学习方法》啃书手册|第20章 潜在狄利克雷分配(教材全解 + 公式推导 + Python实现)- 1
位置:《统计学习方法》啃书手册 > 第20章 潜在狄利克雷分配【学习建议】建议在学习20.2之前先学习附录E.1(KL散度的定义)和附录E.2(狄利克雷分布的性质)。【学习建议】建议在学习20.4.3之前先学习附录B(牛顿法和拟牛顿法)。20.1.1 分布定义【补充解释】在多项分布中,p1n1p2n2⋯pknkp_1^{n1} p_2^{n2} \cdots p_k^{nk}p1n1p2n2⋯pknk表示每一个满足条件的事件发生的概率,n!n1!n2!⋯nk!\frac{n!}{n_原创 2023-09-10 15:41:39 · 61 阅读 · 0 评论 -
《统计学习方法》啃书手册|手写李航《统计学习方法》书中全部算法(已完成71个)
用Python手写实现(矩阵计算和导数计算使用轮子)了李航《统计学习方法》中绝大部分可以实现的内容。除极少数还未完成内容已列出外,其他内容已全部完成。第02章 感知机【算法 2.1】感知机学习算法的原始形式(原生Python实现)【算法 2.2】感知机学习算法的对偶形式(原生Python实现)第03章 k近邻法【算法 3.1】k近邻计算(原生Python+sklearn的kd树实现)简单交叉验证选择KNN分类器(原生Python+sklearn的KNN分类器)S折交叉验证选择KNN分类器(.原创 2021-08-02 16:36:32 · 687 阅读 · 1 评论 -
《统计学习方法》啃书手册|LDA模型实战:理解模型的假设、要素与学习
(一) LDA模型的假设上图是LDA模型作为概率图模型的板块表示。从中可以看出LDA模型的基本假设:文本中每个位置的话题相互独立;满足P(zm∣ψ)=∏n=1NmP(zmn∣ψ)P(\textbf{z}_m|\psi) = \prod_{n=1}^{N_m} P(z_{mn}|\psi)P(zm∣ψ)=∏n=1NmP(zmn∣ψ),其中ψ\psiψ为所有影响zmz_mzm的参数;也可以引入平均场理论,将其理解为参数以平均作用效果替代了单个作用效果的加和。文本中每个位置的单词由原创 2021-07-28 15:53:02 · 952 阅读 · 0 评论 -
《统计学习方法》啃书手册|所有模型总结
感知机 (perceptron)基本假设:训练数据是线性可分的。适用问题:二类分类。模型分类:监督学习模型、非概率模型、线性模型、参数化模型、判别模型。模型:f(x)=sign(w⋅x+b)f(x) = sign(w·x+b)f(x)=sign(w⋅x+b),其中w∈Rnw \in R^nw∈Rn称为权值,b∈Rb \in Rb∈R称为偏置;对应于特征空间中的分离超平面w⋅x+b=0w·x+b=0w⋅x+b=0。损失函数:L(w,b)=−∑xi∈Myi(w⋅xi+b)L(w,b) = -\sum_原创 2021-08-08 09:02:46 · 341 阅读 · 0 评论 -
《统计学习方法》啃书手册|第2章 感知机(教材全解 + 公式推导 + Python实现)
感知机模型对数据的要求:训练数据集中需存在某个超平面能够将数据集的正实例点和负实例点完全正确地划分到超平面的两侧,即训练数据集是线性可分的。因为只有当训练数据集是线性可分时,感知机学习算法才是收敛的;如果训练数据集线性不可分,则感知机学习算法不收敛,迭代结果会发生震荡。当训练数据集线性不可分时,可以使用线性支持向量机。感知机模型的学习过程:依据训练数据集求得感知机模型,即求得模型参数 www 和 bbb。感知机模型的预测过程:通过学习得到的感知机模型,计算新的输入实例所对应的输出类别。感知机模型的类别原创 2021-06-13 19:51:29 · 278 阅读 · 0 评论 -
《统计学习方法》啃书手册|第6章 逻辑斯谛回归与最大熵模型(教材全解 + 公式推导 + Python实现)
逻辑斯谛回归模型的学习过程:通过求解对数似然函数极大化,得到条件概率分布 P(Y∣X)P(Y|X)P(Y∣X)。逻辑斯谛回归模型的预测过程:直接使用模型的条件概率分布 P(Y∣X)P(Y|X)P(Y∣X) 进行预测。逻辑斯谛回归模型的类别划分:用于解决分类问题的监督学习模型概率模型&非概率模型:既可以看作是概率模型,也可以看作是非概率模型参数化模型:假设模型参数的维度固定判别模型:由数据直接学习决策函数 f(Y∣X)f(Y|X)f(Y∣X)逻辑斯谛回归模型的主要优点:直接对分类进行原创 2021-06-19 19:45:48 · 425 阅读 · 0 评论 -
《统计学习方法》啃书手册|附录C 拉格朗日对偶性(教材全解 + 公式推导 + Python实现)
【补充说明】原始问题和对偶问题的简单理解如下:原始问题:在确定 xxx 的情况下,求使 L(x,α,β)L(x,\alpha,\beta)L(x,α,β) 取得最大值的 α\alphaα 或 β\betaβ;然后在所有求出来的 L(x,α,β)L(x,\alpha,\beta)L(x,α,β) 的最大值中,寻找取值最小值时的 xxx。对偶问题:在确定 α\alphaα 和 β\betaβ 的情况下,求使 L(x,α,β)L(x,\alpha,\beta)L(x,α,β) 取得最小值的 xxx;然后在所原创 2021-06-22 08:08:16 · 271 阅读 · 0 评论 -
《统计学习方法》啃书手册|第5章 决策树(教材全解 + 公式推导 + Python实现)
决策树的学习过程:利用训练数据,根据损失函数最小化的原则建立决策树模型。学习通常包括特征选择、决策树的生成、决策树的修剪三个步骤。决策树的预测过程:对新的数据,利用决策树模型进行分类。决策树的类别划分:用于解决分类和回归问题的监督学习模型概率模型:模型取条件概率分布形式 P(y∣x)P(y|x)P(y∣x)非参数化模型:假设模型参数的维度不固定判别模型:由数据直接学习决策函数 f(X)f(X)f(X)决策树的主要优点:模型具有可读性,分类速度快。决策树的主要缺点:【扩展阅读】skle原创 2021-06-18 20:50:25 · 502 阅读 · 0 评论 -
《统计学习方法》啃书手册|第8章 提升算法(教材全解 + 公式推导 + Python实现)
8.1.1 提升方法的基本思路PAC 学习框架假设输入空间是 X∈Rn\mathcal{X} \in R^nX∈Rn,输入 x∈Xx \in \mathcal{X}x∈X 表示实例的特征向量。例如,每个实例都是一个人,X\mathcal{X}X 表示所有实例点的集合。对于二类分类问题,有输出变量 Y={−1,+1}\mathcal{Y} = \{-1,+1\}Y={−1,+1}。概念 c:X→Yc:\mathcal{X} \rightarrow \mathcal{Y}c:X→Y 是指一个从 X\mat原创 2021-06-28 10:18:23 · 326 阅读 · 0 评论 -
《统计学习方法》啃书手册|第4章 朴素贝叶斯法(教材全解 + 公式推导 + Python实现)
朴素贝叶斯法对数据的要求:数据满足特征条件独立假设,即用于分类的特征在类确定的条件下都是条件独立的。朴素贝叶斯法的学习过程:基于特征条件独立假设学习输入输出的联合概率分布。即通过先验概率分布 P(Y=ck)P(Y=c_k)P(Y=ck) 和条件概率分布 P(X(j)=x(j)∣Y=ck)P(X^{(j)}=x^{(j)}|Y=c_k)P(X(j)=x(j)∣Y=ck) 实现对联合概率分布 P(X,Y)P(X,Y)P(X,Y) 的估计。朴素贝叶斯法的预测过程:基于模型,对给定的输入 x,利用贝叶斯定理原创 2021-06-17 22:27:25 · 294 阅读 · 0 评论 -
《统计学习方法》啃书手册|附录B 牛顿法和拟牛顿法(教材全解 + 公式推导 + Python实现)
《统计学习方法》啃书辅助:附录B 牛顿法和拟牛顿法B.1 牛顿法【基础知识】梯度【基础知识】浅谈「正定矩阵」和「半正定矩阵」 - Xinyu Chen 的文章 - 知乎二阶泰勒展开和黑塞矩阵若一元函数 f(x)f(x)f(x) 具有二阶连续导数,则 f(x)f(x)f(x) 在点 x0x_0x0 处的二阶泰勒展开式如下(省略高阶无穷小):f(x)=f(x0)+f′(x0)Δx+12f′′(x0)(Δx)2f(x) = f(x_0) + f'(x_0) \Delta x + \frac{1}{原创 2021-06-21 18:37:52 · 429 阅读 · 0 评论 -
《统计学习方法》啃书手册|第7章 支持向量机(教材全解 + 公式推导 + Python实现)
支持向量机的类别划分:用于解决二类分类问题的监督学习模型非概率模型线性模型&非线性模型:线性支持向量机是线性模型,核函数支持向量机是非线性模型。非参数化模型判别模型【补充说明】合页损失函数在P. 131有详细讲解。希尔伯特空间希尔伯特空间,即完备正交的线性空间。“完备”是指状态的所有可能值都被这个空间包含了。例如有理数集就是不完备的。“正交”是指各个坐标基相互垂直/正交。“线性”是指不同的量之间满足加法规则。希尔伯特空间可以是无穷维,也可以是有限维。7.1.1 线性可分支持向原创 2021-06-24 07:09:35 · 704 阅读 · 0 评论 -
《统计学习方法》啃书手册|第3章 k近邻法(教材全解 + 公式推导 + Python实现)
k 近邻法的学习过程:没有显示的学习过程。k 近邻法(用于分类)的预测过程:在训练数据集中找到与新的输入实例最邻近的 k 个实例,这 k 个实例的多数属于某个类,就把该输入实例分为这个类。k 近邻法的类别划分:用于解决分类或回归问题的监督学习模型非概率模型:模型取函数形式线性模型:模型函数为线性函数非参数化模型:假设模型参数的维度不固定判别模型:由数据直接学习决策函数 f(X)f(X)f(X)k 近邻法的主要优点:精度高、对异常值不敏感、无数据输入假定。k 近邻法的主要缺点:计算复杂度原创 2021-06-16 22:29:39 · 283 阅读 · 2 评论 -
《统计学习方法》啃书手册|附录A 梯度下降法(教材全解 + 公式推导 + Python实现)
【补充说明】书中没有区分“梯度下降法”和“最速下降法”,但实际上两者是存在区别的。算法A.1的梯度下降法实际上是最速下降法。梯度下降法和最速下降法在确定步长时,我们有两种思路:一种是依据瞬时变化率计算步长,在距离极值点较远时,步长取得更大一些,使算法收敛更快;而当距离极值点较近时,步长取得更小一些,避免在极小值点产生震荡;另一种是依据一维搜索计算步长,即在每次确定迭代方向后,直接移动到当前方向的极值点(驻点),从而避免在当前方向上的反复震荡。第一种依据瞬时变化率计算步长的方法,就是梯度下降法;第二种依原创 2021-06-20 06:49:03 · 402 阅读 · 0 评论 -
《统计学习方法》啃书手册|附录D 矩阵的基本子空间(教材全解 + 公式推导 + Python实现)
【补充说明】向量空间的子空间的第1个条件要求对数乘是封闭的,第2个条件要求对加法是封闭的。证明:行空间的维度等于列空间的维度首先引入主元的概念。“主元”是指矩阵变为阶梯形之后,非零行左边第1个非零元素。“主元列”是指“主元”所在的列。因为矩阵AAA的秩是AAA的阶梯形BBB中主元的个数。因为BBB对每个主元都有一个非零行,而这些行之间相互线性无关且张成行空间,所以矩阵AAA的秩等于行空间的维度。同理可得矩阵AAA的秩等于列空间的维度。于是行空间的维度等于列空间的维度。得证。证明:若YYY是RnR原创 2021-07-07 18:28:08 · 504 阅读 · 0 评论 -
《统计学习方法》啃书手册|第10章 隐马尔可夫模型(教材全解 + 公式推导 + Python实现)
10.1 隐马尔可夫模型的基本概念【歧义说明】在这一章中,对bj(k)b_j(k)bj(k)和bj(ot)b_j(o_t)bj(ot)的描述存在一定的歧义。bj(k)b_j(k)bj(k)表示状态qjq_jqj的条件下生成观测vkv_kvk的概率;bj(ot)b_j(o_t)bj(ot)表示状态qjq_jqj的条件下生成观测oto_tot的概率。所以同样的形式bj(∗)b_j(*)bj(∗)中,当∗*∗为kkk时,表示观测在观测的集合中的下标kkk;当∗*∗为oto_tot时,则直原创 2021-07-04 16:31:58 · 284 阅读 · 1 评论 -
《统计学习方法》啃书手册|第16章 主成分分析(教材全解 + 公式推导 + Python实现)
16.1.2 定义和导出【补充解释】x=(x1,x2,⋯ ,xm)Tx=(x_1,x_2,\cdots,x_m)^Tx=(x1,x2,⋯,xm)T是mmm维随机变量,其中xxx的每个特征xix_ixi都是一个随机变量。均值向量μ\muμ即mmm维随机变量的每个特征的均值,其中μi\mu_iμi是随机变量xix_ixi的均值。式16.3和式16.4的推导由式(16.2)和Σ=cov(x,x)=E[(x−μ)(x−μ)T]\Sigma = cov(x,x) = E[(x-\mu)(x-\mu)原创 2021-07-10 10:48:27 · 925 阅读 · 1 评论 -
《统计学习方法》啃书手册|第11章 条件随机场(教材全解 + 公式推导 + Python实现)
11.1 概率无向图模型【补充解释】成对马尔可夫性可以概括为:概率无向图模型中,任意两个没有边连接的结点是相互独立的。【补充解释】局部马尔可夫性可以概括为:概率无向图模型中,任意两个没有边直接相连的结点是相互独立的。【补充解释】全局马尔可夫性可以概括为:概率无向图模型中,任意两个没有边直接相连的集合是相互独立的。11.2 条件随机场的定义与形式【补充解释】条件随机场的定义中,因为具有局部马尔可夫性,所以结点yvy_vyv与所有Yw(w∼v)Y_w (w \sim v)Yw(w∼v)以外的结点相原创 2021-07-06 11:47:31 · 494 阅读 · 0 评论 -
《统计学习方法》啃书手册|第18章 概率潜在语义分析(教材全解 + 公式推导 + Python实现)
18.1 概率潜在语义分析模型【补充解释】“软的类别”是指软聚类中的类别。软聚类是指,一个单词或文本可以被分到两个或两个以上的类的分类方法。【补充说明】图18.5中的单词单纯形,即在定义域内,距离坐标原点的曼哈顿距离为111的点所构成的平面。多项分布已知随机试验中,事件AAA发生的概率是ppp,则事件AAA不发生的概率是q=1−pq=1-pq=1−p。nnn次独立重复的试验中,xxx表示事件AAA发生的次数,则事件AAA发生kkk次的概率为P(x=k)=Cnk×pk×qn−kP(x=k) = C原创 2021-07-14 08:19:58 · 380 阅读 · 1 评论 -
《统计学习方法》啃书手册|奇异值分解基本定理(定理15.1)证明详解(教材全解 + 公式推导 + Python实现)
注:以下为《统计学习方法》第273页-第276页证明的展开详解(不跳步并注明引理)。首先,我们先来证明一些引理。其中,引用自他处的引理将标注来源但不予证明。【引理 1】 若矩阵AAA是实矩阵,则矩阵ATAA^TAATA是实对称矩阵。因为有(ATA)T=AT(AT)T=ATA(A^T A)^T = A^T (A^T)^T = A^T A(ATA)T=AT(AT)T=ATA。引理1得证。【引理 2】 设AAA为nnn阶对称矩阵,则必有正交矩阵PPP,使P−1AP=PTAP=ΛP^{-1}AP = P.原创 2021-07-08 08:57:47 · 1423 阅读 · 0 评论 -
《统计学习方法》啃书手册|第1章 统计学习及监督学习概论(教材全解 + 公式推导 + Python实现)
常用字母及符号说明输入空间:X\mathcal{X}X;特征空间:H\mathcal{H}H;假设空间:F\mathcal{F}F;输出空间:Y\mathcal{Y}Y;隐式结构(隐变量)空间Z\mathcal{Z}Z。输入变量:XXX;输出变量YYY。当输入变量为n维时,多个输入变量中的第i个变量:xi=(xi(1),xi(2),⋯ ,xi(n))∈X⊆Rnx_i = (x_i^{(1)},x_i^{(2)},\cdots,x_i^{(n)}) \in \mathcal{X} \sub原创 2021-07-22 10:41:39 · 242 阅读 · 0 评论 -
《统计学习方法》啃书手册|第15章 奇异值分解(教材全解 + 公式推导 + Python实现)
【学习建议】建议在学习第15章前先学习附录D。15.1.1 定义与定理【补充解释】UUT=IU U^T = IUUT=I,其中III是单位矩阵,这个条件是正交矩阵的定义,即要求UUU是正交矩阵。VVT=IV V^T = IVVT=I同理。【勘误补充】P. 274 倒数第4行的“表”应写作“表示”。定理15.1的证明证明思路:设实矩阵AAA的奇异值分解为A=UΣVTA = U \Sigma V^TA=UΣVT,则有ATA=(UΣVT)T(UΣVT)=V(ΣTΣ)VTA^T A = (U \Sigma原创 2021-07-08 17:21:15 · 413 阅读 · 2 评论 -
《统计学习方法》啃书手册|第17章 潜在语义分析(教材全解 + 公式推导 + Python实现)
【学习建议】建议在学习第17章前先学习附录E.1(KL散度的定义)。17.1 单词向量空间和话题向量空间【重点】单词向量空间模型的基本假设:文本中所有单词的出现情况表示了文本的语义内容。【补充解释】在说明kkk个话题向量t1,t2,⋯ ,tkt_1,t_2,\cdots,t_kt1,t2,⋯,tk张成的话题向量空间的维数为kkk时,隐含了一个条件:t1,t2,⋯ ,tkt_1,t_2,\cdots,t_kt1,t2,⋯,tk线性无关。【阅读建议】建议在阅读中列出单词-文本矩阵XXX、单词原创 2021-07-13 08:24:17 · 436 阅读 · 1 评论 -
《统计学习方法》啃书手册|第13章 无监督学习概论(教材全解 + 公式推导 + Python实现)
【推荐阅读】聚类算法:用于数据挖掘的聚类算法有哪些,各有何优势? - 清华大学大数据研究中心的回答 - 知乎【补充说明】书中介绍的硬聚类方法包括层次聚类和k均值聚类是硬聚类方法,软聚类方法包括高斯混合模型EM算法(第9章)。【补充说明】书中介绍的降维方法:主成分分析(PCA)。【补充说明】书中介绍的话题分析方法(可以形式化为概率模型估计问题或降维问题):潜在语义分析(LSA)、概率潜在语义分析(PLSA)、潜在狄利克雷分配(LDA)。...原创 2021-07-22 15:21:56 · 229 阅读 · 0 评论 -
《统计学习方法》啃书手册|第7章 字符串核函数动态规划的实现(教材全解 + 公式推导 + Python实现)
统计学习方法啃书手册原创 2022-09-18 22:40:55 · 173 阅读 · 0 评论 -
《统计学习方法》啃书手册|第21章 PageRank 算法(教材全解 + 公式推导 + Python实现)
21.1 PageRank的定义【推荐阅读】拓扑:硬核科普:什么是拓扑? - 中科院物理所的文章 - 知乎【补充说明】网络拓扑结构在这里可以理解为网页之间的拓扑结构。页面即结点,超链接即连接结点的边,拓扑结构即页面和超链接的结构关系。【补充说明】随机矩阵,即满足所有元素非负且矩阵中每一列的元素之和为1的矩阵。(书中P. 356)PageRank基本定义求PageRank值(原生Python实现)import numpy as npdef pagerank_basic(M, tol=1e-8,原创 2021-07-21 16:55:05 · 356 阅读 · 1 评论 -
《统计学习方法》啃书手册|第7章 核函数构成希尔伯特空间的步骤详解(教材全解 + 公式推导 + Python实现)
统计学习方法啃书手册原创 2022-09-18 22:38:38 · 382 阅读 · 1 评论 -
《统计学习方法》啃书手册|目录(教材全解 + 公式推导 + Python实现)
《统计学习方法》啃书手册|第1章 统计学习及监督学习概论思考问题(在第1篇学习完成后)如何理解极大似然估计和最大后验概率估计?过拟合的产生原因及处理方法(举例说明)?正则化项为什么对应于模型的先验概率?先验概率为什么可以表示模型的复杂度?《统计学习方法》啃书手册|第2章 感知机思考问题感知机模型对训练数据的要求是什么?感知机模型的学习策略是什么?感知机学习算法的原始形式和对偶形式学习的参数分别是什么含义?在什么情况下感知机学习算法的对偶形式效率更高?《统计学习方法》啃书手册|第3章原创 2021-08-08 09:06:20 · 603 阅读 · 0 评论 -
《统计学习方法》啃书手册|附录E KL散度的定义和狄利克雷分布的性质(教材全解 + 公式推导 + Python实现)
E.1 KL散度的定义【补充解释】KL散度通常被称作相对熵(relative entropy),也称作信息散度(information divergence)。【阅读建议】参考离散型变量和连续型变量的信息熵公式离散型随机变量的信息熵公式为:H(P)=−∑ip(x)log p(x)=∑ip(x)log1p(x)H(P) = -\sum_i p(x) log \ p(x) = \sum_i p(x) log \frac{1}{p(x)}H(P)=−i∑p(x)log p(x)=原创 2021-07-12 21:03:39 · 454 阅读 · 0 评论 -
《统计学习方法》啃书手册|第9章 EM算法及其推广(教材全解 + 公式推导 + Python实现)
9.1.1 EM算法【补充说明】YYY和ZZZ的联合概率分布P(Y,Z∣θ)P(Y,Z|\theta)P(Y,Z∣θ),等价于P(Y∣Z,θ)P(Z∣θ)P(Y|Z,\theta) P(Z|\theta)P(Y∣Z,θ)P(Z∣θ),即在当前模型参数下,“当隐变量取得某个值时观测变量为观测值的概率”乘以“隐变量取得该值的概率”。可以简单地理解为:在当前模型参数下,当隐变量取得某个值时,观测变量得到的观测值的概率。【补充说明】条件分布P(Z∣Y,θ)P(Z|Y,\theta)P(Z∣Y,θ),即在当前模型原创 2021-07-01 18:40:55 · 370 阅读 · 0 评论 -
《统计学习方法》啃书手册|第12章 监督学习方法总结(教材全解 + 公式推导 + Python实现)
【补充说明】EM算法是一种学习算法,用于求解含有隐变量的概率模型参数的极大似然估计。【补充说明】“朴素贝叶斯法”、“逻辑斯谛回归与最大熵”、“隐马尔可夫模型”和“条件随机场”的关系(图12.1)朴素贝叶斯法利用训练数据学习P(X∣Y)P(X|Y)P(X∣Y)和P(Y)P(Y)P(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)的估计。在预测时,计算条件概率P(Y∣X)=P(X,Y)P(X)原创 2021-07-22 12:25:56 · 233 阅读 · 0 评论 -
《统计学习方法》啃书手册|第14章 聚类方法(教材全解 + 公式推导 + Python实现)
14.1.1 相似度或距离计算马哈拉诺比斯距离矩阵(Python实现)import numpy as npdef mahalanobis_distance(X): """计算所有样本之间的马哈拉诺比斯距离矩阵""" n_samples = len(X[0]) # 计算协方差矩阵 S = np.cov(X) # 计算协方差矩阵的逆矩阵 S = np.linalg.inv(S) # 构造马哈拉诺比斯距离矩阵 D = np.zeros(原创 2021-07-07 08:29:18 · 443 阅读 · 1 评论 -
《统计学习方法》啃书手册|第19章 马尔可夫链蒙特卡罗法(教材全解 + 公式推导 + Python实现)
19.1 蒙特卡罗法【重点】蒙特卡罗法要解决的问题是:假设概率分布的定义已知, 通过抽样获得概率分布的随机样本,并通过得到的随机样本对概率分布的特征进行分析。【补充解释】直接抽样法:直接利用分布函数抽样样本的方法。首先按照均匀分布在(0,1)(0,1)(0,1)内抽样得到uuu,然后通过二分查找在分布函数中寻找uuu对应的样本。但是很多概率分布很难求出分布函数或分布函数不方便计算。常用概率分布(原生Python实现)from abc import ABCfrom abc import abstra原创 2021-07-15 12:23:47 · 810 阅读 · 1 评论 -
《统计学习方法》啃书手册|第22章 无监督学习方法总结(教材全解 + 公式推导 + Python实现)
22.1 无监督学习方法的关系和特点【补充说明】图22.1中的“无监督学习方法”,是用于解决无监督学习基本问题,即聚类问题、降维问题或概率模型估计问题的方法;而“基础机器学习方法”,是用于实现“无监督学习方法”的学习算法的方法。例如,主成分分析可以通过奇异值分解实现,潜在语义分析可以用奇异值分解或非负矩阵分解实现。【补充说明】表22.1中之所以将非负矩阵分解(NMF)归入“无监督学习方法”的“话题分析”类,是因为上文提到“NMF可以直接用于话题分析”。但也将NMF归入用于矩阵分解的“基础机器学习方法”。原创 2021-07-22 16:45:39 · 438 阅读 · 0 评论 -
《统计学习方法》啃书辅助:第20章 潜在狄利克雷分配
【学习建议】建议在学习20.2之前先学习附录E.1(KL散度的定义)和附录E.2(狄利克雷分布的性质)。【学习建议】建议在学习20.4.3之前先学习附录B(牛顿法和拟牛顿法)。20.1.1 分布定义【补充解释】在多项分布中,p1n1p2n2⋯pknkp_1^{n1} p_2^{n2} \cdots p_k^{nk}p1n1p2n2⋯pknk表示每一个满足条件的事件发生的概率,n!n1!n2!⋯nk!\frac{n!}{n_1! n_2! \cdots n_k!}n1!n2!⋯nk!n!表原创 2021-07-21 12:29:43 · 631 阅读 · 0 评论