自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 机器学习决策树(3)

多变量决策树d个属性描述的样本就对应了d维空间中的一个数据点,对样本分类意味着在这个坐标空间中寻找不同类样本之间的分类边界。决策树形成的分类边界有一个明显的特点:轴平行举个栗子:数据集如上图所示,将它作为训练集学习得到的决策树如4.10所示,决策树对应的分类边界如4.11所示。 可以看出,分类边界每一段都是与坐标轴平行的,也就是轴平行。当学习任务的真实分类边界比较复杂...

2018-06-03 10:35:43 384

原创 机器学习决策树(2)

剪枝处理剪枝是决策树学习算法对付过拟合的主要手段。剪枝的基本策略有预剪枝和后剪枝。预剪枝是指在决策树生成过程中,对每个节点在划分前先进行估计,若当前节点的划分不能带来决策树泛化性能的提升,则停止划分并将当前节点标记为叶节点。后剪枝则是先从训练集生成一颗完整的决策树,然后自底向上地对非叶节点进行考察,若将该节点对应的子树替换为叶节点能带来决策树泛化性能的提升,则将该子树替换为叶节点。...

2018-06-02 21:10:33 430

原创 机器学习决策树(1)

决策树基本流程决策树是基于树结构来进行决策的。西瓜问题的决策树如下图所示。 通过一系列的判断得到最终的决策:这是个好瓜。可以看出,决策过程的最终结论对应了我们所希望的判定结果。决策过程中提出的每个判定问题都是对某个属性的“测试”。如“色泽=?”每个测试的结果或是导出最终结论或是导出进一步的判定问题,考虑范围在上次决策结果的限定范围内。如图中判断根蒂,仅考虑青绿色瓜的根蒂。...

2018-05-31 22:16:51 758

原创 机器学习线性模型(3)

多分类学习,考虑N个类别C1,C2,…CNC1,C2,…CNC_1,C_2,…C_N,多分类学习的基本思想就是:将多分类任务拆为若干个二分类任务求解。先对问题进行拆分,拆出的每个二分类任务训练一个分类器,在测试时,对这些分类器的预测结果进行集成以获得最终的多分类结果。最经典的拆分策略有三种:一对一(OVO),对于N分类学习,OVO将这N个类别两两配对,从而产生N(N−1)/2N(...

2018-05-29 21:38:52 423

原创 机器学习线性模型(2)

我们已经知道如何使用线性模型进行回归学习,如果要做分类任务呢?广义线性模型:y=g−1(wTx+b)y=g−1(wTx+b)y=g^{-1}(\mathbf{w}^T\mathbf{x}+b)现在只需找到一个单调可微函数g−1g−1g^{-1}将分类任务的真实标记yyy与线性回归模型的预测值wTx+bwTx+b\mathbf{w}^T\mathbf{x}+b联系起来.考虑二分类任务,y...

2018-05-28 13:26:32 312

原创 机器学习线性模型(1)

示例x=(x1;x2;…;xd)x=(x1;x2;…;xd)x=(x_1;x_2;…;x_d)线性模型试图学得一个通过这d个属性的线性组合来进行预测的函数,即f(x)=w1x1+w2x2+…+wdxd+bf(x)=w1x1+w2x2+…+wdxd+bf(x)=w_1x_1+w_2x_2+…+w_dx_d+b 或写成 f(x)=wT+bf(x)=wT+bf(x)=w^T+b其中w和b...

2018-05-26 22:07:38 354

原创 机器学习模型评估与选择(2)

上节讨论了留出法、交叉验证法、自助法这三种实验评估方法,有了方法,还需要评价标准,这就是性能度量性能度量也有很多中种,之前说过 分类:预测离散值,二分类和多分类 回归:预测连续值回归任务最常用的性能度量是均方误差,一般的,对于数据分布D和概率密度函数p: E(f;D)=∫x∼D(f(x)−y)2p(x)dxE(f;D)=∫x∼D(f(x)−y)2p(x)dxE(f;D)=\int_{...

2018-05-23 00:01:41 393

原创 机器学习模型评估与选择(1)

一些定义:错误率:分类错误的样本数占样本总数的比例精度:精度=1-错误率误差:学习器实际预测输出与样本的真实输出之间的差异训练误差或经验误差:学习器在训练集上的误差泛化误差:学习器在新样本上的误差我们实际希望的是能在新样本上表现很好的学习器,但是常常会出现在训练集上表现很好但是在新样本上表现不好,这种现象叫做过拟合,这时学习器很可能已经把训练样本自身的一些特点当作所有潜...

2018-05-21 22:20:29 300

原创 机器学习绪论(3)

归纳偏好:机器学习算法在学习过程中对某种类型假设的偏好,归纳偏好对应了算法本身所做出的关于“什么样的模型更好”的假设有效的机器学习算法必然有归纳偏好,否则无法产生确定的学习结果,比如对于下图,三个假设对于同一个新样本,会产生不同的结果。 对于下图,每个训练样本是图中的一个点,A,B都是与训练集一致的模型,算法应该偏好那种模型呢?奥卡姆剃刀原则:若有多个假设与观察一致,选最简单那个 ...

2018-05-20 16:18:04 602 2

原创 机器学习绪论(2)

从样例中学习是从特殊到一般的“泛化”过程,是一个归纳的过程,因此也叫做归纳学习归纳学习有狭义和广义之分,广义的归纳学习就是指从样例中学习,学习得到的模型是黑箱模型,我们并不知道具体学到了什么,只是可以用这个模型来处理新样本;狭义的归纳学习要求从训练数据中学得概念,也成为概念学习,这个是比较困难的,应用也较少,(但是我觉得真正的人工智能应该是指这种概念学习)以最基本的布尔概念学习举个例子来理...

2018-05-19 18:53:19 284

原创 机器学习绪论(1)

基本术语数据集 :D={x1,x2,…,xm}D={x1,x2,…,xm}D=\{ x_1,x_2,…,x_m\},D是包含m个样本的数据集示例或样本(sample)或特征向量 :xi={xi1,xi2,…,xid}xi={xi1,xi2,…,xid}x_i=\{ x_{i1},x_{i2},…,x_{id}\}, 每个样本由d个属性描述,d是样本的维数属性或特征:反映事件或对象在...

2018-05-18 21:15:38 252

原创 凸包问题的分治算法及python实现

利用分治思想处理凸包问题。 划分:将点集S中的数据按横坐标排序,选出横坐标最小的点A和纵坐标最小的点B,AB的连线将S划分为两个子集,位于(AB) 上方的集合S1和位于(BA) 上方的集合S2。递归求解:递归调用算法求S1的凸包和S2的凸包,递归算法中找出S1中使∆ABC面积最大的点C,则点C一定位于S1的凸包上,继续以点AC和CB作为连线划分S1。合并:通过上述方法找到的凸包上的点...

2018-05-18 17:20:50 5033

原创 凸包问题的Graham-Scan算法及python实现

基于 Graham-Scan 的凸包求解算法是在枚举三角形时,采用了更精细的方式,将P_0作为极点,通过极角大小定位最右下侧的三角形∆P_0 P_1 P_2,然后让三角形绕P_0点旋转,扫描所有输入点,直到到最左下侧为止。首先要对点集S进行预处理,选纵坐标最小的点作为P_0,其余点在以P_0为极点、水平方向为极轴的极坐标系下按极角从小到大排序。Graham-Scan 算法的伪代...

2018-05-17 20:32:39 3645 2

原创 凸包问题的蛮力算法及python实现

凸包问题的蛮力算法及python实现蛮力法的基本思想是先用排除法确定凸包的顶点,然后按逆时针顺序输出这些顶点。在判断点P是不是凸包上的顶点时,有如下性质:给定平面点集S,P,Pi,Pj,Pk是S中四个不同的点,如果P位于Pi,Pj,Pk组成的三角形内部或边界上,则P不是S的凸包顶点。那么如何判断点P在三角形内部或边界上?给定平面两点AB,直线方程g(A,B,P)=0时,P位于直线上,g(A,B,P

2018-04-28 19:31:34 5206 1

原创 基于Scrapy框架的python网络爬虫学习(3)

3.实战学习数据慢慢变多之后,为了方便后续的分析处理,常常要用到数据库,因此我们需要将爬取的数据存入数据库中,最简单的方法就是将爬取的csv文件导入数据库。修改pipelines.py中的代码,连接数据库并向数据库插入数据。之前写的关于编码部分的代码可以注释掉。这里使用的是Navicat for MySQL。下载与数据库连接的包步骤和刚开始安装scrapy一样简单。数据库的使用就不介绍了。

2016-07-21 11:09:53 981

原创 基于Scrapy框架的python网络爬虫学习(3)

3.实战学习网页的position信息已经被爬取下来,按照相同的姿势写其他项的xpath,将它们爬取下来,parse方法修改如下:def parse(self, response): sel = HtmlXPathSelector(response) theitems = [] item = NewoneItem() a1=sel.xpath('//div[@class=

2016-07-20 17:30:31 765

原创 基于Scrapy框架的python网络爬虫学习(2)

3.实战学习以爬取智联招聘网站上的北京市IT类招聘信息为目标,开始工作http://www.zhaopin.com/先搜索北京市,然后选择职业中看到有IT/互联网/通信的类别,先选择其中的 软件/互联网开发/系统集成 进行搜索,可以看到以下结果 我们点进去其中的一项可以看到详细的各种信息,这些都是我们想获取的,如何能实现爬取我们所搜索的57039个职位的所有详细信息呢,我们先尝试爬取一个职位的详细

2016-07-14 17:16:43 862

原创 基于Scrapy框架的python网络爬虫(1)

1、搭建环境这里我使用的是anaconda,anaconda里面集成了很多关于python科学计算的第三方库,主要是安装方便,anaconda中自带Spyder。 这里下载anaconda 比较推荐使用Python2.7 在anaconda下安装Scrapy也很简单!CMD进入命令行,直接输入conda install scrapy,然后点“y”,很简单就可以安装成功。 这样就搭建好了环境。

2016-07-08 17:27:19 4378

原创 Isomap等距映射算法(1)

在学习ISOMAP之前先了解一下流形,从最简单的情况来说,直线或曲线是一维流形,而平面或者球面是二维流形,可以以此类推到多维流行,不过高维的东西对我们来说很难想象。在论文中经常会看到“嵌入在高维空间中的低维流形”这种说法,怎么来理解呢,比如一块布,可以把它看成一个二维平面,这是一个二维的欧式空间(在我的理解中,欧式空间就是我们初中高中所学习的平面几何,立体几何中的空间),我们使它扭曲变形,它就变成了

2016-01-04 16:38:46 17772 1

原创 基本图算法之广度优先搜索

广度优先搜索是最简单的图搜索算法之一,输入是图G=(V,E)和一个给定的源结点s。输出是一颗广度优先搜索树,该树以s为根结点,包含所有从s可以到达的节点。既可以适用于无向图,也适用于有向图广度优先搜索会沿其广度方向向外扩展,算法会在发现所有距离源结点s为k的所有结点后,才会发现距离s为k+1的其他结点。假设图是邻接链表表示,每个结点有额外的三个属性,color值是一个标记值,color为白色是,该结

2016-01-03 00:08:29 1182

原创 基本图算法之图的表示——习题思路(2)

22.1-6 当采用邻接矩阵表示时,大多数图算法需要的时间都是Ω\Omega (V2V^2),但也有一些例外,证明在给定了一个有向图G的邻接矩阵后,可以在O(V)时间内,确定G中是否包含一个通用的汇,即入度为|V|-1,出度为0的顶点。对于G[i][j]=0,说明节点i到节点j没有边,节点i可能是通用汇点,继续判断i与其他顶点是否有边,右走j+1。G[i][j]=1,则i不可能是通用汇点,判断下一

2015-12-24 11:43:40 545

原创 基本图算法之图的表示——习题思路(1)

22.1-1给定一个有向图的邻接表表示,计算该图中每个顶点的出度需要多少时间?计算每个顶点的入度需要多少时间? 计算出度和入度的时间都为O(v+e),计算出度和入度的过程相当于将邻接链表的顶点和边遍历一遍。22.1-3有向图G=(V,E)的转置是图G=(V,E),其中E={(v,u) ∈\in VV:{u,v}E},因此G就是将G中所有边反向后形成图。写出根据G计算出G的有效算法(针对

2015-12-22 23:14:45 1027

原创 基本图算法之图的表示

对于图G=(V,E)可以用邻接矩阵和邻接链表来表示,这两种表示方法既可以表示有向图也可以表示无向图。稀疏图的情况下多用邻接链表表示,而稠密图倾向于使用邻接矩阵来表示。 下面是两个关于两种表示方法的例子(图取自算法导论) ![一个有5个节点和7条边的无向图G1](http://img.blog.csdn.net/20151221210340893) ![G1的邻接链表表示](http

2015-12-21 21:13:27 1140 1

空空如也

空空如也

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

TA关注的人

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