机器学习
文章平均质量分 60
Vic时代
这个作者很懒,什么都没留下…
展开
-
西瓜书《机器学习》课后答案——chapter7_7.3AODE
AODE算法的难点在于存构建存储计数的数据结构,这里采用三层字典表示P(c,xi)P(c,x_i),五层字典表示P(xj|c,xi)P(x_j|c,x_i)。由于数据集比较小,我们取m=0m=0。另外,对于连续属性,不知道怎么处理,所以这里只考虑离散属性。# -*-coding:gbk -*-"""@Author: Victoria@Date: 2017.10.19 21:30"""imp原创 2017-10-20 11:08:24 · 2944 阅读 · 3 评论 -
西瓜书《机器学习》课后答案——chapter9 _9.4
编程实现k均值算法,设置三组不同的k值、三组不同初始中心点,在西瓜数据集4.0上进行实验比较,并讨论什么样的初始中心有助于得到好结果。下面所有图中的横坐标表示密度,纵坐标表示含糖率。首先看看4.0数据集: 代码#-*- coding:utf-8 -*-"""@Author: Victoria@Date: 2017.10.24 12:00"""import randomimport ma原创 2017-10-24 11:53:39 · 4527 阅读 · 3 评论 -
机器学习算法——EM算法
最近准备系统的整理整理机器学习算法,以及理论知识,不然很容易迷失在各种算法之中.首先看的就是EM算法.EM算法是什么?EM算法是针对含隐藏变量的概率模型的参数的一种无监督估计算法.我们知道,机器学习的三要素:模型,目标,学习算法.EM是最后一步,针对的优化目标是最大化log似然:log(P(X)).EM是一种通用性的算法,适合所有的含隐变量的概率模型的参数估计. [TOP] TOP理论分析现在,原创 2016-06-26 22:43:13 · 1591 阅读 · 0 评论 -
西瓜书《机器学习》课后答案——chapter9
9.1 证明:p≥1p\geq 1时,闵可夫斯基距离满足距离度量的四条基本性质。0≤p<10\leq p < 1时,闵可夫斯基距离只满足非负性、规范性和对称性,不满足三角不等式。当p趋向于无穷大时,闵可夫斯基距离等于对应分量的最大绝对距离,也称为切比雪夫距离: limp→+∞(∑u=1n|xiu−xju|p)1p=maxu|xiu−xju|.\lim_{p\rightarrow +\infty}\原创 2017-10-24 11:52:30 · 9250 阅读 · 2 评论 -
流形学习——Isomap算法
Isomap算法介绍Isomap(Isometric Feature Mapping)是流行学习的一种,用于非线性数据降维,是一种无监督算法。它所采用的核心算法和MDS是一致的,区别在于原始空间中的距离矩阵的计算上。很多数据是非线性结构,不适合直接采用PCA算法和MDS算法。在非线性数据结构中,流形上距离很远(测地线距离)的两个数据点,在高维空间中的距离(欧式距离)可能非常近,如下图所示:只有测地线原创 2017-11-10 10:44:13 · 12688 阅读 · 1 评论 -
西瓜书《机器学习》课后答案——chapter10 降维与度量学习
10.1 西瓜书《机器学习》课后答案——chapter10 _10.1 KNN算法10.2 令err,err∗分别表示最近邻分类器与贝叶斯最优分类器的期望错误率,试证明: err∗≤err≤err∗(2−|Y||Y|−1×err∗).(1)err^*\leq err\leq err^*\left( 2-\frac{|{\cal Y}|}{|{\cal Y}|-1}\times err^*\righ原创 2017-10-26 22:10:48 · 9834 阅读 · 0 评论 -
主成分分析PCA
1 PCA简介PCA是常用的无监督降维技术。我们在用多个特征描述对象时,特征之间可能是相关的,这导致了信息冗余。应该存在这样一组特征,使得特征数尽可能少并且丢失的信息尽可能少,PCA就是用于寻找这样一组特征的算法。PCA算法并不是简单地从已有特征中选择一组特征,而是构建一组新特征,并且每个新的特征是原始特征的线性组合,也就是说,对于原始特征空间中的实例x∈Rdx \in \mathbb R^d,其原创 2017-10-31 09:25:44 · 2758 阅读 · 0 评论 -
数据降维——多维缩放MDS
多维缩放(Multidimensional Scaling, MDS)是一组对象之间的距离的可视化表示,也可以当做一种无监督降维算法使用。为了直观了解MDS,给一个简单例子。假设现在给定一组城市之间的距离信息如下: 现在要求绘制一幅地图,在地图中标出所有城市,并且城市之间的距离等于上表中给出的距离。显然,这种图不是唯一的,因为平移、旋转操作并不改变距离。其中一种绘制方法如下图:MDS应用在数据降维原创 2017-11-10 16:12:06 · 9557 阅读 · 1 评论 -
西瓜书《机器学习》课后答案——chapter7_7.3
7.3 试编程实现拉普拉斯修正的朴素贝叶斯分类器,并以西瓜数据集3.0为训练集,对p.151 “测1”样本进行判别。 解答: 朴素贝叶斯的训练过程就是估计类别先验概率以及类条件概率的过程;测试阶段根据训练得到的概率值计算出类别的后验概率并取概率最大的类别作为样本分类。根据数据集3.0得到的拉普拉斯朴素贝叶斯分类器把测试样例预测为正类,即好瓜。代码:# -*- coding:gbk -*-"""原创 2017-10-17 14:33:33 · 6724 阅读 · 1 评论 -
西瓜书《机器学习》课后答案——chapter10 _10.1 KNN算法
编程实现k邻近分类器,在西瓜数据集3.0α上比较其分类边界与决策树分类边界的异同。# -*-coding: gbk -*-"""@Author: Victoria@Date: 2017.10.26 9:00"""import xlrdimport numpy as npimport matplotlib.pyplot as pltimport operatorclass KNN():原创 2017-10-26 14:19:47 · 5219 阅读 · 0 评论 -
西瓜书《机器学习》课后答案——chapter5_5.8 SOM网络
5.8 从网上下载或者实现自己的SOM网络,并观察其在西瓜会聚集3.0alpha上的结果。书上关于SOM的介绍太简洁了,只看书上的内容基本上不可能明白SOM到底是怎么回事儿。可以阅读这篇博客:自组织映射网络SOM,增加对SOM的了解。"""Author: VictoriaCreated on 2017.9.19 21:00"""import numpy as npimport matplo原创 2017-09-24 11:22:48 · 2694 阅读 · 2 评论 -
流形学习——局部线性嵌入算法LLE
LLE原理局部线性嵌入(Locally Linear Embedding, LLE)是无监督非线性降维算法,是流行学习的一种。LLE和Isomap一样试图在降维过程中保持高维空间中的流形结构。Isomap把任意两个样本点之间的测地距离作为流形结构的特征,而LLE认为局部关系刻画了流形结构。LLE认为,在高维中间中的任意一个样本点和它的邻居样本点近似位于一个超平面上,所以该样本点可以通过其邻居样本点的原创 2017-11-10 10:40:58 · 3876 阅读 · 0 评论 -
线性判别分析(一)——LDA介绍
1. LDA的基本思想LDA(Linear Discriminant Analysis, 线性判别分析)由Fisher于1936年提出,又称为Fisher线性判别。LDA既可以用于解决分类问题,又可以对数据进行降维处理。 基本思想 将高维的样本数据投影到判别向量空间,以达到抽取分类信息和降低特征维数的效果,投影后保证数据在新的子空间中有最大的类间距离和最小的类内距离,即在该子空间有最佳的可原创 2017-10-12 11:54:39 · 3352 阅读 · 1 评论 -
西瓜书《机器学习》课后答案——chapter10_10.6 PCA
试使用matlab的PCA函数对Yale人脸数据进行降维,并观察前20个特征向量所对应的图像。Yale人脸数据共包含166张图片,每张图片的大小为320*243。X矩阵的大小为77760*166,占用的内存大小为103M字节(float对象占用24字节,其中真正用于保存值的空间为8字节大小,我们这里暂且用一个float占8字节计算);协方差矩阵的大小为77760*77760,占用的内存大小为48G字原创 2017-10-30 15:30:50 · 5783 阅读 · 2 评论 -
西瓜书《机器学习》周志华读书笔记和课后习题目录
读书笔记:西瓜书《机器学习》阅读笔记1——Chapter1_假设空间 西瓜书《机器学习》阅读笔记2——Chapter2_查准率、查全率与F1西瓜书《机器学习》阅读笔记3——Chapter2_ROC曲线 西瓜书《机器学习》阅读笔记4——Chapter2_代价曲线 课后习题:西瓜书《机器学习》课后答案——Chapter1原创 2017-09-06 16:37:41 · 6333 阅读 · 6 评论 -
线性判别分析(二)——Bayes最优分类器的角度看LDA
在线性判别分析(一)——LDA介绍 一文中,我们介绍了LDA的基本思想、算法,但其实严格来讲博客中介绍的都是FDA。本文我们就来探究一下LDA的真面目。Bayes准则关于贝叶斯最优分类器的介绍请参考周志华的《机器学习》P147。我们这里直接引入概念: 贝叶斯判定准则 为最小化总体风险,只需要在每个样本上选择那个能使条件风险R(c|x)R(c|x)最小的类别标记,即h∗(x)=argminc原创 2017-10-18 17:27:50 · 9861 阅读 · 7 评论 -
机器学习资料
UFLDL原创 2017-05-12 10:25:47 · 1083 阅读 · 1 评论 -
西瓜书《机器学习》课后答案——chapter11
1. 西瓜书《机器学习》课后答案——chapter11_11.1 Relief特征选择算法2. 试写出Relief-F的算法描述。 解答: 输入:数据集D 过程: 计算每个类别的比例; 所有特征对应的统计量δj=0\delta_j = 0; for i=1:m \quad 得到xix_i最近的同类样本xi,nhx_{i,nh},以及其余类别中的每一原创 2017-11-14 17:54:38 · 6605 阅读 · 1 评论 -
HMM经典介绍论文【Rabiner 1989】翻译(十)——连续观测密度
4.1 连续观测密度目前为止我们的讨论中只考虑了观测是离散值的情况,这种情况下对每个状态可以使用离散概率密度。但是存在一些应用离散值是连续信号(比如向量)。虽然可以通过码本把连续信号量化,但是这种量化可能存在严重的退化。所以希望HMM中可以用连续观测密度。为了使用连续观测密度,必须对模型概率密度函数(probability density function, pdf)进行约束以使得pdf的参数可以通翻译 2017-12-01 17:45:43 · 3746 阅读 · 3 评论 -
HMM经典介绍论文【Rabiner 1989】翻译(十六)——放大
5 HMM的实现问题前面两节的讨论主要是关于HMM的理论以及模型的变体。这一节我们会讨论HMM的实现问题,包括放大、多观测序列、初始参数估计、数据丢失、模型大小以及类型的选择。对其中一些实现问题,我们可得到精确解析解;而对于其他问题,我们只能给出一些经验建议。5.1 放大为了理解在HMM参数估计过程中为什么需要放大,考虑(18)中定义的αt(i)\alpha_t(i)。可以看到αt(i)\alpha翻译 2017-12-05 10:06:45 · 2599 阅读 · 3 评论 -
HMM经典介绍论文【Rabiner 1989】翻译(十七)——多观测序列
5.2 多观测序列在第4节我们讨论了左右HMM(Bakis模型),这种模型中状态按序从t=1t=1时的状态1移动到t−Tt-T时的状态N。我们已经讨论了左右模型是怎么对状态转移矩阵施加约束的以及初始状态概率(45)-(48)。但是,左右模型的主要问题是不可能只用一个观测序列训练模型。这是因为模型中状态的瞬态性质允许状态被观察到有限几次,直到转移到后续状态。为了有足够的数据对模型参数进行可靠估计,我们翻译 2017-12-05 11:59:00 · 3424 阅读 · 0 评论 -
HMM经典介绍论文【Rabiner 1989】翻译(十八)——参数初始化
5.3 参数初始估计理论上,估计公式可以给出似然函数局部最小值对应的参数。这样的话,我们怎么选择HMM参数的初始值使得局部最大是全局最大呢?对于上面的问题并没有直接的答案。经验表明,对pipi和AA进行随机初始化(满足随机以及非零约束)或者均匀初始化,在多数情况下都可以得到比较好的结果。但是对于BB参数,经验表明好的初始化对离散观测情况是有帮助的,对连续情况是最关键的。有多种初始化的方法,包括人为对翻译 2017-12-05 12:12:59 · 2804 阅读 · 0 评论 -
西瓜书《机器学习》课后答案——chapter16_强化学习
1.用于K-摇臂赌博机的UCB(Upper Confidence Bound)方法每次选择Q(k)+UC(k)Q(k)+UC(k)最大的摇臂,其中Q(k)Q(k)为摇臂k当前的平均奖赏,UC(k)UC(k)为置信区间。例如:Q(k)+2lnnnk−−−−−√Q(k)+ \sqrt{\frac{2\ln n}{n_k}}其中,n为已执行所有摇臂的总次数,nkn_k为已执行摇臂k的次数。比较UCB方法与原创 2017-12-21 19:08:20 · 4940 阅读 · 2 评论 -
强化学习——值函数与Bellman方程
在强化学习中,agent和环境之间进行一系列交互:在每个时刻tt,根据环境的状态和奖励,agent采取某一行为;这个行为会作用到环境中,环境改变状态并对agent进行奖励。agent的目标是最大化累积奖励。1 MDP马尔可夫决策过程(Markov Decision Process, MDP)是对环境的建模。 MDP是一个五元组<S,A,P,R,γ><{\cal S}, {\cal A}, {\c原创 2017-12-19 10:47:35 · 33981 阅读 · 9 评论 -
极大似然估计——为什么对于离散属性,极大似然估计法得到的类条件概率等于频率?
极大似然估计就是最大化对数似然。假设第c类有K个样本。属性取值为N种,表示为集合X,且取第i个属性值的样本共有kikik_i个,显然有∑i=1Nki=K.∑i=1Nki=K.\sum_{i=1}^N k_i=K.极大似然估计首先假设P(x|c)=f(x,θc)P(x|c)=f(x,θc)P(x|c)=f(x, \theta_c),这个f(x,θc)f(x,θc)f(x,\theta_c)是...原创 2018-04-03 00:01:58 · 5646 阅读 · 0 评论 -
支持向量机(一)——线性可分支持向量机
支持向量机(Support Vector Machine, SVM)是一种二分类模型。它的基本思想是间隔最大化。1、线性可分支持向量机给定训练集T={(x1,y1),(x2,y2),...,(xm,ym)}T={(x1,y1),(x2,y2),...,(xm,ym)}T=\{(\boldsymbol x_1, y_1), (\boldsymbol x_2, y_2), ..., (\b...原创 2018-05-14 20:02:31 · 2492 阅读 · 0 评论 -
西瓜书《机器学习》课后答案——Chapter3
3.2 试证明,对于参数ωω\boldsymbol \omega,,对率回归的目标函数(3.18)是非凸的,但其对数似然函数(3.27)是凸的。 解答: 定理:设f(x)f(x)f(\boldsymbol x)是定义在非空开集D⊂RnD⊂RnD\subset \mathbb R^n上的二次可微函数,则f(x)f(x)f(\boldsymbol x)是凸函数的充要条件是在任意点x∈Dx∈D...原创 2018-05-14 20:05:26 · 7353 阅读 · 0 评论 -
HMM经典介绍论文【Rabiner 1989】翻译(九)——HMM的类型
4. HMM的类型目前为止,我们只考虑了遍历或全连接HMM这种特殊情况,即所有的状态都可以由所有其他状态到达。严格来说,遍历模型是所有状态都可以由其他所有状态经过有限步到达。如图7(a)所示,对一个N=4N=4的这种模型,所有的aija_{ij}都大于0。于是对7(a)中的例子,我们有 A=⎡⎣⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢a11a21a31a41a12a22a32a42a13a23a33a43a1翻译 2017-12-01 16:40:55 · 2842 阅读 · 0 评论 -
HMM经典介绍论文【Rabiner 1989】翻译(一)——介绍
A Tutorial on Hidden Markov Models and Selected Applications in Speech Recognition Rabiner, 1989.尽管Markov统计方法或者Hidden Markov Model(HMM)在60年代后期70年代早期就已经出现,但是直到近几年才开始流行起来(注意:这篇文章是1989年发表的)。这有两个原因。首先,这种模翻译 2017-11-30 22:19:19 · 5119 阅读 · 1 评论 -
西瓜书《机器学习》课后答案——chapter11_11.1 Relief特征选择算法
试编程实现Relief算法,并考察其在西瓜数据集3.0上的运行结果。 # -*- coding: gbk -*-"""Author: VictoriaDate: 201.11.14 16:00"""import numpy as npimport operatorimport xlrddef diff(x, y, discrete=True): """ Input:原创 2017-11-14 17:23:49 · 3303 阅读 · 1 评论 -
西瓜书《机器学习》课后答案——chapter14
1.试用盘式记法表示条件随机场和朴素贝叶斯分类器。2.证明图模型中的局部马尔科夫性:给定某变量的邻接变量,则该变量条件独立于其他变量。 解答: 这个问题以及第3题其实是不太严谨的。 根据李航《统计学习方法》p.193中概率无向图模型的定义: 概率无向图模型: 设有联合概率分布P(Y),由无向图P(Y),由无向图G=(V,E)表示,在图表示,在图G中,结点表示随机变量,边表示随机变量之原创 2017-12-05 17:44:10 · 6140 阅读 · 1 评论 -
HMM经典介绍论文【Rabiner 1989】翻译(八)——学习问题
3.3 问题3的求解(学习问题)HMM的第三个问题——学习问题是最困难的一个,需要通过最大化观测序列的概率来调整模型参数(A,B,π)(A, B, \pi)。暂时还没有解析法来解决这个问题。事实上,给定一个有限观测序列作为训练数据,并不存在最优方法得到模型参数。但是,我们可以通过迭代法比如Baum-Welch算法(其实就是EM算法),或者使用梯度法,选择使得P(O|λ)P(O|\lambda)局部最翻译 2017-12-01 12:01:40 · 1067 阅读 · 0 评论 -
HMM经典介绍论文【Rabiner 1989】翻译(七)——预测问题
3.2 问题2的求解(预测问题)有多种方法可以求解与观测序列相关的最优状态序列。难度在于最优状态序列的定义,因为有多种优化指标。比如,可以独立地为每个时刻tt选择最有可能的状态qtq_t。这个优化指标最大化正确状态的期望个数。定义变量 γt(i)=P(qt=Si|O,λ),(26)\gamma_t(i)=P(q_t=S_i|O, \lambda) \tag{26},即给定模型λ\lambda和观测翻译 2017-12-01 10:46:53 · 1231 阅读 · 0 评论 -
HMM经典介绍论文【Rabiner 1989】翻译(六)——概率计算问题
3. HMM三类问题的求解方法3.1 问题1的求解方法给定模型λ\lambda,希望计算观测序列O=O1O2⋯OTO=O_1O_2\cdots O_T的概率,即P(O|λ)P(O|\lambda)。最直接的计算方式是枚举所有长度为TT的状态序列。对某个状态序列Q=q1q2⋯qT(12)Q=q_1q_2\cdots q_T \tag{12}其中q1q_1是初始状态。在上面的状态序列的条件下,观测序列O翻译 2017-11-30 22:22:21 · 984 阅读 · 0 评论 -
HMM经典介绍论文【Rabiner 1989】翻译(五)——HMM的三个基本问题
2.3 HMM的三个问题在上一小节给出了HMM的形式,在实际应用中还有三个基本问题需要解决,分别是:问题1:给定观测序列O=O1O2⋯OTO=O_1O_2 \cdots O_T和模型λ=(A,B,π)\lambda=(A, B, \pi),如何有效地计算P(O|λ)P(O|\lambda)?问题2:给定观测序列O=O1O2⋯OTO=O_1O_2 \cdots O_T和模型λ=(A,B,π)\lamb翻译 2017-11-30 22:21:44 · 3013 阅读 · 0 评论 -
HMM经典介绍论文【Rabiner 1989】翻译(四)——HMM的五个基本元素
2.2 HMM的基本元素通过上面的例子,我们知道了HMM是什么并且知道怎么把它应用到一些简单场景中。现在我们给出HMM基本元素的正式定义,并且解释模型是如何生成观测序列的。一个HMM包含:1)N,模型中的状态数。尽管状态是隐藏的,但是在很多实际应用中,状态经常被赋予一些物理意义。在抛硬币的实验中,每个状态表示一个硬币。在碗中的球模型中,每个状态表示一个碗。状态之间是相互连接的,通常每个状态可以到达所翻译 2017-11-30 22:21:10 · 1254 阅读 · 0 评论 -
HMM经典介绍论文【Rabiner 1989】翻译(三)——抛硬币实验和碗中的球实验
2.1 扩展到HMM目前我们介绍了Markov模型,其中每个状态和一个可观测(物理)事件相关。这种模型很难应用到很多实际问题中去。这一小节,我们拓展Markov模型,考虑观测是状态的概率函数的情况,这样得到的模型(称为HMM)是双随机过程,其中底层的随机过程是观测不到的,只能观测到生成观测序列的那个随机过程。下面介绍一个抛硬币的例子。抛硬币模型:假设你在一个有帘子的房间中,因为帘子阻挡了视线,你看不翻译 2017-11-30 22:20:37 · 1542 阅读 · 2 评论 -
HMM经典介绍论文【Rabiner 1989】翻译(二)——离散Markov过程
2. 离散Markov过程考虑一个系统,这个系统在任意时间处于N个离散状态S1,S2,⋯,SNS_1, S_2, \cdots, S_N中的某个状态,如图1所示(N=5N=5)。系统在每个时间点根据当前状态相关的概率值跳转到下一个状态。我们把状态跳转时间表示为t=1,2,⋯t=1, 2, \cdots,并且把tt时刻的的状态值表示为qtq_t。上述系统的一个完整概率描述需要当前状态(时刻tt)以及之翻译 2017-11-30 22:20:01 · 1112 阅读 · 0 评论 -
西瓜书《机器学习》课后答案——Chapter1
1.1 请查看西瓜书《机器学习》阅读笔记1——Chapter1_假设空间中列举的所有假设。现在只有西瓜1和西瓜4两个样本: 西瓜1为正例,找到假设空间中和它一致的假设:10,12,14,16,58,60,62,64 西瓜4为反例,找到假设空间中和它一致的假设:23,24,31,32,55,56,63,64 保留西瓜1的结果,去除西瓜4的结果,得到版本空间:10,12,14,16,58,60...原创 2018-05-14 20:06:32 · 9018 阅读 · 0 评论 -
机器学习之聚类算法——SLC算法
SL是single linkage的缩写。SLC算法属于层次聚类的一种。 假设有N个实例,需要得到K个类。算法: - 初始化:每个实例自成一类 - 计算类间距离:类间距离定义为两类中最近的两点之间的距离 - 合并最近的两个类 - 重复计算及合并N-K次,得到K个类优点: SLC算法是确定性的,每次得到的结果都是一样的; 如果把实例看做空间中的点,距离为点之间的边长,那么SLC算法其实就原创 2017-03-05 13:37:15 · 1981 阅读 · 0 评论