自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(39)
  • 资源 (2)
  • 收藏
  • 关注

原创 Kaggle入侵物种检测VGG16示例——基于Keras

根据Kaggle: Invasive Species Monitoring问题的描述,我们需要对图像是否包含入侵物种进行判断,也就是对图片进行而分类(0:图像中不含入侵物种;1:图像中含有入侵物种),据给出的数据(训练集2295张图及类别,测试集1531张图),很显然,这种图像分类任务很适合用CNN来解决,Kera的应用模块Application提供了带有预训练权重的Keras模型,如Xceptio

2017-08-23 20:08:36 4256 1

原创 win10下配置GPU加速的Keras框架

不久之前,开始学习深度学习,这个时候发现用CPU计算的Keras框架性能明显不够用了,但当时随便弄了一下没能成功实现GPU加速。于是后来一次重装系统,从头详细地重现这个过程。Python环境搭建要搭建Python环境,个人觉得真的没有比Anaconda安装更省心的了,而且其内部已经包含了许多常用的包,不用一个一个的安装了。我选用的是python3.6的64位版本。注意,在引导安装过程中,强烈建议勾选

2017-08-23 11:15:06 44400 8

原创 PRML:多元变量分布

考虑有 KK 个状态的问题。我们用一个 KK 维的向量 (x1,…,xK)(x_1, \dots, x_K) 来表示这些状态,第 kk 个状态用 xk=1,xj=0,∀j≠kx_k = 1, x_j=0, \forall j \neq k 表示。例如 x=(0,0,1,0,0,0)T\mathbf x=(0,0,1,0,0,0)^\text{T} 表示 K=6K = 6 的第 33 个状态。这些向量

2017-07-31 21:15:06 1218

原创 PRML:二元变量分布

伯努利分布考虑二元随机变量 x∈{0,1}x\in \{0,1\}(抛硬币,正面为 1,反面为 0),其概率分布由参数 μ\mu 决定:p(x=1)=μp(x=1)=\mu其中 (0≤μ≤1)(0 \leq\mu \leq 1),并且有 p(x=0)=1−μp(x=0)=1-\mu。这就是伯努利分布(Bernoulli distribution),其概率分布可以写成:Bern(x|μ)=μx(1

2017-07-31 21:09:46 1804 2

原创 Kaggle房价预测:数据预处理——练习

本篇主要借鉴了Kaggle基础问题——房价预测的两篇教程Comprehensive data exploration with Python和House Prices EDA并进行总结。基于上一篇数据探索,我们可以对整个数据集的基本特征进行大致了解,并同时学习到了Pandas和Seaborn的一些操作技巧。接下来,我们以此为基础,进行数据的预处理

2017-07-15 13:19:31 33111 10

原创 Kaggle房价预测:数据探索——练习

主要借鉴了Kaggle基础问题——房价预测的两篇教程Comprehensive data exploration with Python和House Prices EDA并进行总结。本篇,主要进行数据探索,对数据的基本特征有一个全局的大致了解。import pandas as pdimport numpy as npimport matplotlib.pyplot as pltfrom skl

2017-07-15 12:48:33 7998 1

原创 机器学习-周志华-个人练习13.10

13.10 试为图13.7算法第10行写出违约检测算法(用以检测是否有约束未被满足)根据题意可知,我们的目的是检测将xi\mathbf x_i划入聚类簇CrC_r是否会违背M与C\mathcal M与\mathcal C中的约束。 在这里不能只简单考虑该样本是否满足与某些约束条件内样本的“必连”和“勿连”条件,而是需要分析到底是待聚类样本违约还是其约束集合中的样本存在违约,同时需要考虑必连样本的传

2017-06-12 14:51:36 949 1

转载 半监督学习(转载)

本文转载自ice110956。什么是半监督学习?传统的机器学习技术分为两类,一类是无监督学习,一类是监督学习。无监督学习只利用未标记的样本集,而监督学习则只利用标记的样本集进行学习。但在很多实际问题中,只有少量的带有标记的数据,因为对数据进行标记的代价有时很高,比如在生物学中,对某种蛋白质的结构分析或者功能鉴定,可能会花上生物学家很多年的工作,而大量的未标记的数据却很容易得到。这就促使能同时

2017-06-10 11:12:35 4259

原创 图半监督学习——标记传播

从书上301~304页的介绍可知,图半监督学习具有两个明显的缺点: 处理大规模数据时性能欠佳; 难以直接对新样本进行分类。 下面采用sklearn的半监督学习模块来验证上述特性。 选用iris数据集的第1、3项属性开展测试,sklearn 的半监督学习算法是利用标记传播进行学习,具体又分为标记传播(Label Propagating)和标记扩散(Label Spreading)

2017-06-09 23:30:43 9995

原创 机器学习-周志华-个人练习13.4

13.4 从网上下载或自己编程实现TSVM算法,选择两个UCI数据集,将其中30%的样例用作测试样本,10%的样例用作有标记样本,60%的样例用作无标记样本,分别训练出利用无标记样本的TSVM以及仅利用有标记样本的SVM,并比较其性能。选择最常用的iris数据集,并以sciki-learn的SVM算法为基础建立TSVM,为了方便展示效果,选用iris数据集下的两个第二类和第三类,并将类标记记为-1,

2017-06-09 11:31:15 4220 3

原创 机器学习-周志华-个人练习13.3

13.3 假设数据由混合专家(mixture of experts)模型生成,即数据是基于kk个成分混合而得的概率密度生成: 半监督学习之混合专家模型的模型参数

2017-06-01 16:46:14 1708

原创 机器学习-周志华-个人练习13.2

13.2 试基于朴素贝叶斯模型推导生成式半监督学习算法回顾一下,朴素贝叶斯的假设是xi=(xi1,…,xin)\mathbf x_{i}=(x_{i1},\ldots,x_{in})中的所有xijx_{ij}相互独立,结合贝叶斯公式可知,我们的目标是找到一个ck∈Cc_k \in \mathcal C,最大化下式: p(ck∣xi)=p(ck)p(xi∣ck)(1)p(c_k \mid \mat

2017-05-30 16:59:31 1299 1

原创 机器学习-周志华-个人练习13.1

13.1 试推导出式(13.5)~(13.8).式13.5首先,我们知道高斯混合模型的混合成分均为高斯分布,且由如下公式定义: pM(x)p(x∣μi,Σi)=∑i=1Nαi⋅p(x∣μi,Σi)=1(2π)n2|Σi|12exp{−12(x−μi)⊤Σ−1i(x−μi)}(1)(2)\begin{align}p_{\mathcal M}(\mathbf x)&=\sum_{i=1}^{N}\a

2017-05-29 20:07:49 1232

原创 贝叶斯线性回归小练习

根据上一篇博客贝叶斯线性回归(单输出)对贝叶斯线性回归的理解,随便找了某地区在售房房价随时间和面积的信息(如下所示),利用贝叶斯线性回归分别针对单变量线性基函数模型、单变量多项式基函数模型、单变量和双变量高斯基函数模型进行线性回归。

2017-05-26 22:09:35 3064 1

原创 贝叶斯线性回归(单输出)

本文主要依据Pattern Recognition and Machine Learing第三章的内容展开。1线性模型假设有一个 DD 维的输入 x\mathbf x,和一个连续的目标输出 tt,我们可以利用一组固定的基函数ϕi(x),i=0,…,M\phi_i(\mathbf x),i=0,\ldots,M的线性组合(组合系数为w0,…,wMw_0,\ldots,w_M),得到一个线性回归模型:

2017-05-26 20:05:54 1523

原创 机器学习-周志华-个人练习12.4

12.4 试证明,Rd\mathbb R^d空间中线性超平面构成的假设空间的VC维是d+1。本题参考了四去六进一的一些想法,用自己的想法更加详细地描述出来。首先,我们假设在Rd\mathbb R^d空间中存在一组正交单位向量,使得此空间内任意一点的坐标可以表示为(x1,x2,…,xd)T(x_1,x_2,\ldots ,x_d)^\rm T,不失一般性地,选取坐标原点(0,…,0)(0,\ldots

2017-05-21 17:28:33 1341

原创 高斯基函数线性组合回归练习——sklearn库高斯过程回归

本题纯粹用作练习,无任何其他意义。采用高斯基函数作为线性回归模型,用sklearn.gaussian_process.GaussianProcessRegressor可以进行回归,顺便学习画3D图。代码如下:# -*- coding: utf-8 -*-import numpy as npimport matplotlib.pyplot as pltfrom sklearn.ga

2017-05-17 22:20:40 10368

原创 机器学习-周志华-个人练习11.3

11.3 Relief算法是分别考察每个属性的重要性。试设计一个能考虑每一对属性重要性的改进算法。首先,我们知道单属性对应的统计量计算公式如下: δj=∑i(−diff(xji,xji,nh)2+diff(xji,xji,nm)2)\displaystyle\delta^j=\sum_{i}\left(-\mathrm{diff}(x_{i}^{j},x_{i,nh}^{j})^2+\mathrm

2017-05-16 20:17:51 1073

原创 机器学习-周志华-个人练习11.1

11.1 试编程实现Relief算法,并考察其在西瓜数据集3.0上的运行结果。本题采用Relief算法处理二分类任务,虽然书上只要求对连续属性归一化,但我将离散属性的值转化为了1,2,3,如果不对离散属性归一化,显然在查找近邻时连续属性不能有效发挥作用,因此需要将数据的离散属性和连续属性都进行归一化。另外,在计算连续属性的相关统计量时,本题是二元分类,因此可以对书上公式11.3进行化简,得到下

2017-05-15 21:52:03 1147 1

原创 机器学习-周志华-个人练习10.6

10.6 试使用MATLAB中的PCA 函数对Yale人脸数据集进行降维,并观察前20个特征向量所对应的图像。为了便于练习,未使用MATLAB,而是用了scikit-learn.decomposition模块下的PCA进行练习。书上给的Yale人脸数据集访问有点慢(貌似被墙了),我重新上传了一份到百度云(点此下载)。数据集共有样本166个,每张图像的分辨率为320*243(用numpy的sha

2017-05-14 15:57:39 2678 1

原创 机器学习-周志华-个人练习10.1

10.1 编程实现k近邻分类器,在西瓜数据集3.0a上比较其分类边界与决策树分类边界的异同。根据k近邻分类器的原理,可简单地写出如下代码,通过各近邻点投票来判断各点的类别,分别取k=3,4,5可以得到如下3图。由图可见,k近邻分类器所得结果在训练集上分类效果较好,而其余决策树分类边界相比最大的不同在于其边界并不为直线,而是可以为曲线。这是因为在确定近邻时,k近邻分类器采用的是到各点的欧氏距离,

2017-05-13 19:04:44 2225 1

原创 机器学习-周志华-个人练习9.6

9.6 试析AGNES算法使用最小距离和最大距离的区别。 根据定义,如上图所示,最大和最小距离分别代表聚类簇i与j间距离最近的样本点或距离最远样本点之间的距离,而其具体几何含义是什么呢?根据个人的理解,参考了icefire的回答但有一些不同看法,我用维基百科上关于Hausdorff distance的示意图进行表示。 如下图所示,图中左下方的黑色虚线代表Hausdorff距离,而黑色实线代表dmi

2017-05-09 23:33:57 1594

原创 机器学习-周志华-个人练习8.3和8.5

8.3从网上下载或自己编程实现AdaBoost,以不剪枝决策树为基学习器,在西瓜数据集3.0a上训练一个AdaBoost集成,并与图8.4进行比较。8.5试编程实现Bagging,以决策树桩为基学习器,在西瓜数据集3.0a上训练一个Bagging集成,并与图8.6进行比较。这两道题代码我没有直接编,而是调用的scikit-learn库的集成学习模块进行AdaBoost和Bagging集成,

2017-05-07 18:56:42 3108

原创 机器学习-周志华-个人练习9.4

9.4 试编程实现k均值算法,设置3组不同的k值,3组不同初始中心点,在西瓜数据集4.0上进行实验比较,并讨论什么样的初始中心有利于取得好结果。根据k均值算法的迭代公式,可以知道在二维平面上,这些中心点直接由其几何位置的两点间垂直平分线作为聚类边界,因此在数据不多的情况下,很容易陷入局部最优,从而使迭代过程很快结束。实际执行代码发现,所谓取得好结果,应该是使各点离聚类边界尽量远,且最终的中心点

2017-05-07 18:10:54 1581

原创 机器学习-周志华-个人练习4.4

4.4 试编程实现基于基尼指数进行划分选择的决策树算法,为表4.2中数据生成预剪枝、后剪枝决策树,并与未剪枝决策树进行比较。本题未剪枝决策树与4.3题基本一致,同时,由于表4.2数据没有连续属性,因此本题的代码不能处理具有连续属性的数据XD。事实上,在本题用基尼指数与用基于信息增益的效果是一样的,但由于多个变量可能同时达到最小基尼指数,因此我的代码结果和成图里面的“脐部=凹陷”这一节点采用

2017-04-28 22:21:19 2697 1

原创 机器学习-周志华-个人练习4.3

4.3 试编程实现基于信息熵进行划分选择的决策树算法,并为表4.3中的数据生成一颗决策树。刚开始看到这一章时感觉这些内容都很好理解,算法也很直观,然而真到编程的时候发现有点编不下去,所以一直看到了集成学习这一章才发现真是到了不得不编的时候了,说实话,我感觉这一章的算法实现起来真的很麻烦。(1)首先就是怎么分出连续属性和离散属性来计算信息熵,这个我只能先对数据进行预处理:让离散属性的取值转换

2017-04-25 16:13:44 2215 1

原创 PAT(Python)-1030:完美数列(25)

给定一个正整数数列,和正整数p,设这个数列中的最大值是M,最小值是m,如果M 现在给定参数p和一些正整数,请你从中选择尽可能多的数构成一个完美数列。输入格式:输入第一行给出两个正整数N和p,其中N(5)是输入的正整数的个数,p(9)是给定的参数。第二行给出N个正整数,每个数不超过109。输出格式:在一行中输出最多可以选择多少个数可以用它们组成一个完美数列。

2017-04-19 12:57:18 1721

原创 PAT(Python)-1025:反转链表(25)

给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转。例如:给定L为1→2→3→4→5→6,K为3,则输出应该为3→2→1→6→5→4;如果K为4,则输出应该为4→3→2→1→5→6,即最后不到K个元素不反转。输入格式:每个输入包含1个测试用例。每个测试用例第1行给出第1个结点的地址、结点总个数正整数N(5)、以及正整数K(接下来有N行,每行格式为:Add

2017-04-16 15:22:10 1587 5

原创 PAT(Python)-1015:德才论(25)

宋代史学家司马光在《资治通鉴》中有一段著名的“德才论”:“是故才德全尽谓之圣人,才德兼亡谓之愚人,德胜才谓之君子,才胜德谓之小人。凡取人之术,苟不得圣人,君子而与之,与其得小人,不若得愚人。”现给出一批考生的德才分数,请根据司马光的理论给出录取排名。输入格式:输入第1行给出3个正整数,分别为:N(5),即考生总数;L(>=60),为录取最低分数线,即德分和才分均不低于L的考

2017-04-14 17:02:36 2488 4

原创 PAT(Python)-1007:素数对猜想(20)

让我们定义 dn 为:dn = pn+1 - pn,其中 pi 是第i个素数。显然有 d1=1 且对于n>1有 dn 是偶数。“素数对猜想”认为“存在无穷多对相邻且差为2的素数”。现给定任意正整数N (5),请计算不超过N的满足猜想的素数对的个数。输入格式:每个测试输入包含1个测试用例,给出正整数N。输出格式:每个测试用例的输出占一行,不超过N的满足猜想的素数对的个数。

2017-04-13 21:09:12 704

原创 PAT(Python)-1010:一元多项式求导(25)

设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为n*xn-1。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是0,但是表示为“0 0”。poly = list(map(i

2017-04-13 21:00:33 1926

原创 PAT(Python)-1020:月饼(25)

月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼。现给定所有种类月饼的库存量、总售价、以及市场的最大需求量,请你计算可以获得的最大收益是多少。注意:销售时允许取出一部分库存。样例给出的情形是这样的:假如我们有3种月饼,其库存量分别为18、15、10万吨,总售价分别为75、72、45亿元。如果市场的最大需求量只有20万吨,那么我们最大收益策略应该是卖出全部15万吨第2种

2017-04-13 20:53:05 1086

原创 机器学习(周志华) 个人练习答案7.6

7.6 试编程实现AODE分类器,并以西瓜数据集3.0为训练集,对p151的‘测1’样本进行判别。通过下列代码实现,结果为5.144433573365839和0.5121125686430099,显然应该划分为“好瓜”。# -*- coding: utf-8 -*-# exercise 7.6: AODE method to estimate likelihood based on fi

2017-03-31 20:58:53 801

原创 机器学习(周志华) 习题7.3 个人笔记

7.3 试编程实现拉普拉斯修正的朴素贝叶斯分类器,并以西瓜数据集3.0为训练集,对p151“测1”样本进行判别。编程得到结果为:[0.024223607117715082, 4.4242506192749345e-05]因此测试例应预测为好瓜。# -*- coding: utf-8 -*-# exercise 7.1: apply LL method to estimate th

2017-03-30 20:13:12 1687 2

原创 机器学习-周志华-课后习题答案5.7

5.7 试根据式(5.18)和(5.19)构造一个能解决异或问题的单层RBF神经网络。根据100页图5.5a类似思想,可以构造出如下的单层RBF神经网络(图中有个c0标错了,应该是c1。输入值x1,x2和输出值y的取值范围均为{0, 1}。)于是,拥有4个隐层神经元的RBF网络就能进行异或操作了。当x取(0, 1)或(1, 0)时,输出值为1;当x取(1, 1)或(0,

2017-03-18 15:57:00 830

原创 机器学习-周志华-课后习题答案5.5

5.5 试编程实现标准BP算法和累计BP算法,在西瓜数据集3.0上分别用这两个算法训练一个单隐层网络,并进行比较。通过编程实践发现,在本例下要达到某一限定的均方误差时,标准BP算法比累积BP算法明显收敛更快,特别在本例中,将ABP算法误差设定到0.01时,其更新权重次数十分庞大。本人采用标准BP算法(隐层10个神经元)获取数据集在误差小于0.01时的各项权重算得其错误率为2/17,训练29

2017-03-17 21:39:34 4441 2

原创 机器学习(周志华) 习题3.5 个人笔记

附上代码:# -*- coding: utf-8 -*-import numpy as npimport matplotlib.pyplot as pltdata = [[0.697,0.460,1], [0.774,0.376,1], [0.634,0.264,1], [0.608,0.318,1], [0.556,

2017-03-12 10:06:46 1828

原创 机器学习 3.4 个人笔记

3.4 选择2个UCI数据集,比较10折交叉验证法和留一法所估计出的对率回归的错误率。与3.3题类似,不过在此处beta与x的乘积进行指数运算,在某些数据集中容易出现RuntimeWarning: overflow encountered in exp,因此不得不放弃,就此作罢。10折交叉验证法和留一法均可以在划分好数据集的情况下直接调用下面的logit_regession(train_dat

2017-03-11 20:43:51 702

原创 《机器学习》(周志华) 习题3.1-3.3个人笔记

3.1  试分析在什么情况下式(3.2)中不必考虑偏置项b.其实从前面第一章开始的习题就有很多不会的,第二章更是只会做前两道,现在到第三章,发现第一题都不是很明了了。从我个人来看:f(x)=w'x+b中,x代表d维向量,w则是相应的权重向量,而b=b*x0可看做权重为b,x0=1为相应属性. 很明显,1与x中的xi线性无关,也就是说,f(x)实际上是d+1维空间,当所有示例的x0属性都只有一种

2017-03-09 21:05:28 5142

vgg16_weights_tf_dim_ordering_tf_kernels_notop.h5

keras下基于tensorflow的VGG16模型notop权重系数h5文件

2017-08-23

PYTHON MACHINE LEARNING

Python机器学习教程,主要使用scikit-learn库

2017-05-16

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除