`
文章列表
回到回归的正题,回归问题是机器学习领域中应用的比较广的一种方法,不过我觉得大部分的回归模型都是广义线性模型,在Andrew NG的课程中,对广义线性模型做了比较详细的推导,这篇文章的内容是,线性回归、局部加权回归、岭回归以及前向逐步回归,除了前向逐步回归之外,其他的都是广义线性回归模型,基本思路都是 1,确定损失函数 2,使用梯度下降(或者梯度上升)求解权重参数,算是套路,而这两种套路使用Python都比较容易实现,就是使用了矩阵运算,代码量也不大,所以这篇文章就简单说说各种回归,而不实现代码,代码和之前的logistic回归计算过程都是一样的   言归正传   一、线性回归   ...
终于来到logistic回归,logistic回归其实很简单,之前的说到的神经网络就用到了这个方法,其中最重要的就是使用了sigmoid损失函数。当然使用的方法也就最简单的梯度下降法,这里并没有使用之前神经网络的随机梯度下降法,也是为了简单起见。因为之前在神经网络里面使用过了,所以这篇文章就略微介绍下。   logistic回归是属于广义线性回归的一种,基本形式: z=w0+w1*x1+w2*x2+...+wn*xn s=1/(1+exp(-z)) 损失函数:1/2* (s-y)^2   然后按照梯度下降方法求解参数即可   代码如下:  
朴素贝叶斯(Naive Bayes),贝叶斯概率论在整个统计学习上都是泰山北斗一样的存在,《Pattern Recognization and Machine Learning》这一扛鼎之作全书的思想其实就是贝叶斯概率论,简单的说就是先验代替后验。   我们先来给朴素贝叶 ...
分类决策树是一种描述对实例进行分类的属性结构,决策树由内部节点和叶节点,内部节点表示一个特征或者属性,叶节点表示一个类。   Part 1 :决策树生成 用决策树分类其实是一个if-then的过程,根据一个特征值的取值将 ...
在看完Machine Learning in Action一书之后,觉得还是需要进行一些回顾,而且由于第一次看的时候Python基础并不牢固,所以这次也当做是Python一些知识回顾和运用的过程。 在回到主题之前插几句话,MLA 一书并不是一本理论著作,相 ...
依然是Michael Nielsen的书,依然是神经网络,上文说到的是神经网络有关于损失函数的调整使得学习速度加快,但是还是有几个问题没有解决:   过拟合问题 权重和b初始化问题 一,首先来看第一个问题:过拟合(overfitting) 什么是overfitting,我这个人不是典型的学院派,所以正儿八经的定义也不会用,用我的话说就是学习过度,主要表现在两个方面:第一,在现有的训练数据上模型已经不能更加优化了,但是整个学习过程仍然在学习;第二,对于局部数据噪声(noise)学习过度,导致模“颠簸”(这个词是我自创的),所谓对局部噪声学习过度表现在对于给定的训练数据,模型过度学 ...
依然是跟着Michael Nielsen的神经网络学习,基于前一篇的学习,已经大概明白了神经网络的基本结构和BP算法,也能通过神经网络训练数字识别功能,之后我试验了一下使用神经网络训练之前的文本分类,只是简单的使用了词频来作为词向量处理过程,没有任何的其他调参过程,对于八分类,其正确率到了84%,相比于之前各种调参才能勉强达到72%的SVM分类方法而言,神经网络有无可比拟的简单和高正确率。好了,安利了这么久的神经网络,现在是时候回归正题了 这一篇以及后面的文章涉及到神经网络的调优问题,有人会说“看,神经网络也需要调参”,其实我想表达的是神经网络在不调参的时候准确度已经非常好了,调参只是为了 ...
隐马尔科夫模型,Hidden Marcov Model,是可用于标注问题的统计学习模型,描述由隐藏的马尔科夫链随机生成观测序列的过程,属于生成模型,是一种比较重要的机器学习方法,在语音识别等领域有重要的应用。   本文不打算使用书面的一大堆公式来说明,本人对公式无感,能用例子说明的根本不想碰公式,不知道是不是霍金说过,多加一条公式就会损失一大片读者。PS:不管有没有说过了,是这个意思,whatever   首先说明一下基本概念,概念来自李航《统计学习方法》第十章【1】                                                 然后根据书中的例 ...
最近看到了一个比较好的神经网络和深度学习的网站,http://neuralnetworksanddeeplearning.com/,其实也不算是网站,算是Michael Nielsen的书籍电子版,写的算是比较生动简介,我这部分系列的文章算是一个跟书笔记,也算是半吊子翻译和代码注释工,恩,背景介绍到这里(大神直接看原文就行了,可以不用看后面的渣文了)。   没接触神经网络之前,我觉得神经网络非常神奇,各种层次网络结构和之前接触的机器学习有所不同,Michael Nielsen的书写的非常浅显易懂,也让我渐渐明白了,其实神经网络和之前了解的监督机器学习方法并没有本质不同,尽管使用了不同的模 ...
最近期末事儿比较多,没什么大东西,最近在使用libsvm做文本分类,虽然感受到了LIBSVM的便捷之处,但是也感受到了Libsvm的调参的复杂性,写下来Mark一下   文本分类,使用的是路透社的语料最为训练和测试数据集,原始的语料有91类大概十几万篇文章,由于以一些类的数量太少(本次实验室将一个类别下的文本数量少于100篇的过滤)而不具备训练价值(对于有监督的学习而言),最后我们得到的是8个类别,包括训练数据集合测试数据集   文本分类的处理主要包括三个方面,第一,特征抽取;第二,特征选择;第三,机器学习方法训练模型【1】,特征抽取可以看做是文本的预处理,包括去停用词、去标点符号、同 ...
最近需要学习神经网络,对于神经网络问题的求解其中需要用到遗传算法,所以今天学习了一下遗传算法,主要参看了 http://blog.csdn.net/emiyasstar__/article/details/6938608这篇博客的文章,同时将其使用C++实现的程序用Java再次实现了一遍,不足之处还请指出多包涵   遗传算法:也称进化算法 。 遗传算法是受达尔文的进化论的启发,借鉴生物进化过程而提出的一种启发式搜索算法。因此在介绍遗传算法前有必要简单的介绍生物进化知识   遗传算法教科书上的步骤:      1.评估每条染色体所对应个体的适应度。      2.遵照适应度越高,选择概率 ...
作为机器学习的十大算法之一,EM算法可谓是风头出尽,尤其是EM算法在聚类等方面的优越表现,让EM算法备受瞩目,这个星期对EM算法进行了一番了解,说实话EM算法光从教科书上的那些公式说导我觉得很难理解,在七月算法的一节关于EM算法的公开课上慢慢的对EM算法有了算是入门的了解,今天就来说说EM算法与其典型的应用:高斯混合分布   首先简略介绍一个高斯混合分布:   在一个随机分布里面,可能存在着很多的分布类型,我们假设每个类的分布都符合高斯混合模型,那么一个随机值集合里面就会有多个高斯分布,举个简单的例子,在一群男女生中,我们统计每个人的身高数据,因为男女生的身高存在差异,我们显然不能讲两 ...
SVM作为机器学习里面的经典算法在实际中一直被广泛采用,而且其准确性也是非常之高,特别是在引入了核函数之后对识别性能变得非常高。 说明:本文不打算就SVM原理就深入分析,虽然对其原理略懂一二,但是对于SMO算法的理解确实比较浅,所以也不打算班门弄斧,略微介绍,本文重点在于SVM的应用,也就是对垃圾邮件的文本分类   关于支持向量机的原理性分析在CSDN上有July大神的博客 :http://blog.csdn.net/v_july_v/article/details/7624837,我就之略微介绍一下原理   一,SVM原理象征性简述: SVM主要应用是分类操作,以二元线性分类为 ...
今天因为课题的关系需要在安卓上安装openCVC环境,但是参考网上很多教程都不够齐全,下面主要参考了一下两个教程进行配置,两个教程各有互补,然后对我的整个安装过程做个说明   这篇文章完全参考自一下参考链接: 比较全的安装:http://blog.csdn.net/pwh0996/article/details/8957764/ NDK安装:http://jingyan.baidu.com/article/5d6edee22d908799eadeec9f.html  如果在安装过程中有什么问题可以留言,也可以直接看上述博客     准备工具: 操作系统:window7 64位 ...
还是回归到ITEYE,之前想用CSDN的,但是受不了那个的响应速度,估计是太多的访问量了,好,废话少说,今天记录一下一朋友面试时候遇到的问题   问题描述如图:  具体说明:现在有一颗二叉树,如图中红线所示,现在需要将该二叉树按照黑色箭头的方式遍历 题目描述很简单,也算是一个层次遍历的变种问题,我们知道,在层次遍历里面使用的是队列保存其子节点,但是在这道题里面显然是不能够的,因为访问的方向不一致,我们可以想到,因为上图的遍历方式和我们日常用到的层次遍历正好相反,因此我们考虑使用栈这一个特殊的结构来解决问题   首先考虑使用一个栈,我们读到一个根节点后就依次把左子节点和右子节点放入 ...
Global site tag (gtag.js) - Google Analytics