
机器学习
文章平均质量分 83
Orange先生
这个作者很懒,什么都没留下…
展开
-
感知机算法的matlab实现
编写的函数如下:function [ w,b ] = original_style( training_set,study_rate )%training_set是一个m*n维矩阵,其中第一行是y_i,剩下的行的x_i%选取初始值w_0,b_0w=0;b=0;count=0; %每一次正确分类点个数iteration_count=0; %迭代次数fprintf原创 2014-03-23 20:24:30 · 8582 阅读 · 2 评论 -
机器学习算法需要注意的一些问题
对于机器学习的实际运用,光停留在知道了解的层面还不够,我们需要对实际中容易遇到的一些问题进行深入的挖掘理解。我打算将一些琐碎的知识点做一个整理。1 数据不平衡问题这个问题是经常遇到的。就拿有监督的学习的二分类问题来说吧,我们需要正例和负例样本的标注。如果我们拿到的训练数据正例很少负例很多,那么直接拿来做分类肯定是不行的。通常需要做以下方案处理:1.1 数据集角度通过调整数据集中正负样本的比例来解决数原创 2015-07-28 19:22:58 · 4940 阅读 · 2 评论 -
机器学习算法需要注意的一些问题(二)
训练样本大小选取的问题模型学习的准确度与数据样本大小有关,那么如何展示更多的样本与更好的准确度之间的关系呢?我们可以通过不断增加训练数据,直到模型准确度趋于稳定。这个过程能够很好让你了解,你的系统对样本大小及相应调整有多敏感。所以,训练样本首先不能太少,太少的数据不能代表数据的整体分布情况,而且容易过拟合。数据当然也不是越多越好,数据多到一定程度效果就不明显了。不过,这里假设数据是均匀分布增加的。然原创 2015-08-12 14:23:25 · 4896 阅读 · 0 评论 -
UserCF和ItemCF终极对比
说是终极对比,明确告诉你,就是在炒作!本文内容主要是我看了项亮的《推荐系统实践》一书,之前对于UserCF和ItemCF也是用的模模糊糊,这次好好整理了一下,加上自己一些总结和心得。UserCF推荐和当前用户相似度高的N个用户产生过行为的物品给当前用户;这些物品是当前用户没有行为过而其他N个用户行为过的物品的前M个;余弦相似度改进:在分子中除了考虑两个用户共同行为的物品,还考虑到这个物品被多少个用户原创 2015-08-27 16:24:23 · 9852 阅读 · 0 评论 -
对逻辑斯蒂回归的一些细节剖析
首先声明:本博客的写作思路是对机器学习的一些基本算法做一些通俗性的灵活理解,以及对一些细节的进行简单剖析,还有记录本人在使用算法时的一些小经验小感想。本人一般不会对基本公式做大量推导,也不会写的太正式,这些可以在很多其他博客中找到。由于本人还是学生一枚,经验知识粗浅,还望能和朋友们参与讨论。之前本博客简单谈过线性回归相关知识点,这次来谈一下逻辑斯蒂回归。虽然也叫回归,但是逻辑斯蒂回归是一种分类算法。原创 2015-07-04 15:48:37 · 9928 阅读 · 3 评论 -
逻辑回归与决策树在分类上的一些区别
转自:http://www.itongji.cn/article/121930092013.html营销预测模型的目标变量很多为一种状态或类型,如客户“买”还是“不买”、客户选择上网方式为 “宽带”还是“拨号”、营销战通道是邮件、电话、还是网络。我们把这类问题统称为 “分类”。决策树和逻辑回归都是解决“分类”问题的高手。用不同的算法解答同样的问题,自然引出了两者孰优孰劣的讨论,但迄今为止,仍然没有一转载 2015-07-23 15:14:30 · 11748 阅读 · 0 评论 -
声纹识别之PLDA算法描述
之前我写过《我对说话人识别/声纹识别的研究综述》,本篇基本上可以是这个综述的续写。其实,写的也没有什么深度,想获得深度信息的朋友们可以不用往下看了,还不如下载几篇领域内的国内博士论文看看。为什么是国内呢?因为国内博士论文前面的综述写的还不错,嘿嘿~我写这个主要是给不熟悉这个领域内的朋友看的,用通熟的话描述这个领域内重要的一些算法,等于是入个门吧。PLDA算法前面博客已经提到过声纹识别的信道补偿算法,原创 2015-08-05 09:59:41 · 30307 阅读 · 0 评论 -
从线性回归谈到岭回归lasso回归再到结构风险最小化和参数缩减
回归和分类是机器学习算法所要解决的两个主要问题。分类大家都知道,模型的输出值是离散值,对应着相应的类别,通常的简单分类问题模型输出值是二值的,也就是二分类问题。但是回归就稍微复杂一些,回归模型的输出值是连续的,也就是说,回归模型更像是一个函数,该函数通过不同的输入,得到不同的输出。 那么,什么是线性回归,什么是非线性回归呢?线性回归与非线性回归 前面说了,我们的回归模型是一个原创 2015-06-22 16:54:21 · 6256 阅读 · 4 评论 -
从集成学习到模型的偏差和方差的理解
模型的偏差和方差的权衡和讨论其实是贯穿在整个机器学习理论当中的。机器学习的每一个算法或者模型都有对这两方面的判断和取舍。今天在看scikit-learn文档关于集成学习的论述中又提到偏差和方差,所以我想谈一谈我对这两个概念的理解。集成学习集成学习是一种组合类型的学习方法。它采用多个基分类器组合成一个总分类器,能够达到单个基分类器所达不到的效果。根据将多个基分类器集成在一起的方式,集成学习主要分为两类原创 2015-08-06 15:01:53 · 8532 阅读 · 1 评论 -
机器学习中分类器的性能评价指标
我们针对一个具体地问题建立了一个机器学习模型以后,怎么去评价这个模型的好坏呢?这就需要用到分类器的几个性能评价指标。下面简单谈一下。准确率(accuracy)准确率是最常用的分类性能指标。拿最常见的二分类问题来说,我们的模型无非是想要把正类和负类预测识别出来。在测试集中识别对的数量(不论是把正样本识别为正样本还是把负样本识别为负样本)除以测试集的数据总量就是准确率。在用scikit-learn调用分原创 2015-09-07 19:21:58 · 11000 阅读 · 0 评论 -
机器学习中梯度下降法和牛顿法的比较
在机器学习的优化问题中,梯度下降法和牛顿法是常用的两种凸函数求极值的方法,他们都是为了求得目标函数的近似解。在逻辑斯蒂回归模型的参数求解中,一般用改良的梯度下降法,也可以用牛顿法。由于两种方法有些相似,我特地拿来简单地对比一下。下面的内容需要读者之前熟悉两种算法。梯度下降法梯度下降法用来求解目标函数的极值。这个极值是给定模型给定数据之后在参数空间中搜索找到的。迭代过程为:可以看出,梯度下降法更新参数原创 2015-08-10 19:25:05 · 21306 阅读 · 1 评论 -
高斯混合模型的终极理解
高斯混合模型GMM是一个非常基础并且应用很广的模型。对于它的透彻理解非常重要。网上的关于GMM的大多资料介绍都是大段公式,而且符号表述不太清楚,或者文笔非常生硬。本文尝试用通俗的语言全面介绍一下GMM,不足之处还望各位指正。首先给出GMM的定义这里引用李航老师《统计学习方法》上的定义,如下图:定义很好理解,高斯混合模型是一种混合模型,混合的基本分布是高斯分布而已。第一个细节:为什么系数之和为0?PR原创 2016-03-18 17:10:01 · 103080 阅读 · 34 评论 -
浅谈EM算法的两个理解角度
最近在写毕业论文,由于EM算法在我的研究方向中经常用到,所以把相关的资料又拿出来看了一下,有了一些新的理解与感悟。在此总结一下。EM算法即“期望极大算法”。学过机器学习的朋友都知道EM算法分两步:E步求期望,M步求极大。但是期望是求谁的期望,极大是求谁的极大呢?这里面其实有两种解读角度。“通俗”角度通俗角度的话,求极大肯定是求似然函数的极大了,而且一般都是对数似然。我们一般解决模型参数求解问题,都是原创 2016-03-20 16:31:50 · 9216 阅读 · 4 评论 -
隐马尔科夫模型HMM的前向算法和后向算法
最近重新看了一遍《统计学习方法》中第十章《隐马尔可夫模型》,更加觉得这本书有浅有深,简洁深刻。HMM模型有三个基本问题:概率计算问题,学习问题和预测问题。今天我就来将其中的概率计算问题的一些细节思考总结一下,就当是笔记吧!主要就是概率计算的前向算法和后向算法。HMM简介隐马尔可夫模型的参数一般称为其三要素,包括初始状态概率,转移概率和观测概率。其模型的定义建立在两个基本假设的前提上。分别是齐次马尔科原创 2016-03-22 16:43:33 · 21773 阅读 · 2 评论 -
奇异值分解SVD在简单推荐系统中的应用
说到奇异值分解SVD,对机器学习有所了解的朋友都或多或少了解一些,无非就是将原始数据按照一定规则分解为三个矩阵,其中中间的矩阵的对角元素就是“奇异值”,是按照小大到小的顺序排列的。我们可以按照一定的方法选择最重要的前几个奇异值,同时相应地删减第一个和第二个矩阵的某些行和列。这样,删减后的三个矩阵相乘后,可以重构出一个数据矩阵,而这个矩阵和原始数据矩阵在一定程度上相差无几,从而达到了降维和简化运算的原创 2015-06-12 19:33:32 · 8371 阅读 · 2 评论 -
总结PageRank
PageRank 当我们根据关键词搜索互联网上的内容时,对于不止一个的搜索结果,谁先谁后呢?PageRank就是为了解决这个问题而生的。 PageRank,一个对网页进行排序的算法,由佩奇和布林为Google设计。该算法将整个互联网中的网页看做是一个整体,不考虑具体每一个网页的内容属性,而只关注网页之间的关联。 我们知道,网页之间的关系无非就是链接的指入和指出。PageRank认为,如原创 2015-07-17 17:14:25 · 978 阅读 · 0 评论 -
ROC曲线的matlab技巧实现
编程题目 接收操作特征(Receiver Operating Characteristic,ROC)曲线,即通常所讲的ROC Curve,是机器学习领域中常用的分类性能评估曲线,横轴是False Positive Rate,纵轴是True Positive Rate。请用Matlab编写一个自动画出ROC曲线的函数,并给出测试例子。实验过程和解答[1]原理分析原创 2014-03-23 20:42:10 · 25262 阅读 · 4 评论 -
梯度下降法(上升法)的几何解释
梯度下降法是机器学习和神经网络学科中我们最早接触的算法之一。但是对于初学者,我们对于这个算法是如何迭代运行的从而达到目的有些迷惑。在这里给出我对这个算法的几何理解,有不对的地方请批评指正! 梯度下降法定义 (维基百科)梯度下降法,基于这样的观察:如果实值函数 在点 处可微且有定义,那么函数 在 点沿着梯度相反的方向 下降最快。 因而,如原创 2014-03-26 23:19:30 · 12795 阅读 · 4 评论 -
高斯分布和二项分布属于指数分布族的证明
1、什么是指数分布族2、原创 2014-04-06 22:05:27 · 16342 阅读 · 1 评论 -
特定条件下经验风险最小化等价于极大似然估计的证明
看过李航老师的《统计学习方法》的同学都知道,机器学习(统计学习)的三要素为:模型、策略、和算法。其中,模型就是所要学习的条件概率分布或者决策函数。模型的假设空间包含所有可能的条件概率分布或决策函数。统计学习的目标在于从假设空间中选取最优模型。其中的两种选择最优模型的策略就是经验风险最小化和结构风险最小化。而算法负责根据策略求解出最优模型。今天我尝试着给出《统计学习方法》第9页的“当模型是条件概原创 2015-04-09 20:56:35 · 14540 阅读 · 2 评论 -
特定条件下结构风险最小化等价于最大后验概率估计得证明
机器学习的三要素为模型、策略和算法。其中策略的两种是经验风险最小化和结构风险最小化。李航老师的《统计学习方法》第9页指出“当模型是条件概率分布、损失函数是对数损失函数、模型复杂度由模型的先验概率表示时,结构风险最小化就等价于最大后验概率估计。”下面给出证明,不足不对的地方请指正。首先给出最大后验概率的定义,引用维基百科对其的定义,有:****************************原创 2015-04-11 16:16:37 · 8160 阅读 · 4 评论 -
无公式无代码白话朴素贝叶斯分类器
朴素贝叶斯用于文本分类的原理感觉已经很明白了,但是扔掉书本之后思路还是很混乱,在此进行一些梳理,方便复习。首先整体理解一下。朴素贝叶斯分类器实际上是一种产生式模型。所谓产生式模型就是模型并不是直接给出某个测试样本属于哪一类,而是给出这个测试样本属于每一类的概率值。然后通过贝叶斯决策理论的核心思想“选择具有最高概率的决策”来进行分类。由此也可以看出朴素贝叶斯的一个优点,能够进行多种类别的分类任务。原创 2014-10-11 20:35:42 · 1553 阅读 · 0 评论 -
无公式无代码白话机器学习算法之决策树
今天开始读刘未鹏的《暗时间》一书。在序言中,有一句话引起了我的兴趣,“波普尔曾经说过:人生不过是解决问题。而判断和决策又是其中最常见的一类问题解决。” 哈哈,我们的机器学习各种算法不就是解决问题的嘛,决策树不就是最常见的一种解决分类或者回归问题的机器学习算法嘛!刚好凑到一起去了。的确,个人感觉决策树是所有常见机器学习算法中最容易直观理解其原理的,也符合我们大部分人在面对问题时做出决策的思路。今天我们就来侃一侃这个“平易近人”的决策树。原创 2015-06-14 15:09:52 · 2356 阅读 · 0 评论 -
无公式无代码白话机器学习入门算法KNN(K近邻算法)
学习机器学习的基本算法的时候原创 2015-06-13 16:00:30 · 1844 阅读 · 0 评论 -
SVM学习记录1:线性可分硬间隔最大化
SVM是机器学习中非常流行的一个分类算法,尤其是处理二分类问题。但是相对于其他算法SVM可能难度稍大——至少我是这么觉得。但是,这又是一个必须攻克的课题。我在学习SVM的时候痛下决心,将自己的学习历程记录在笔记本上。现在将其整理成博客,与诸君共勉。原创 2015-07-06 17:00:46 · 3774 阅读 · 0 评论 -
Apriori算法简单总结
关联分析是一种在大规模数据集中寻找有趣关系的任务。Apriori是解决这一问题的基本算法。这个算法也是数据挖掘的入门算法。 首先明确两个个概念:频繁项集和关联规则。 - 频繁项集:经常出现在一块儿的物品的集合。 - 关联规则:暗示两种物品之间可能存在很强的关系。 那么,如何定量地定义这种很强的“关系”?“频繁”又是什么?这里又必须明确两个概念:支持度和可信度。 -原创 2015-07-16 16:42:39 · 4712 阅读 · 0 评论 -
经典算法总结之AdaBoost与随机森林
Boost方法以及随机森林是最近比较火的算法,具有很多优点能够解决很多问题。现在先把重要概念总结一下,有新的想法随时补充~原创 2015-07-13 16:01:17 · 10066 阅读 · 5 评论 -
机器学习中关于判断函数凸或凹以及最优化的问题
在很多机器学习算法中,都会遇到最优化问题。因为我们机器学习算法,就是要在模型空间中找到这样一个模型,使得这个模型在一定范围内具有最优的性能表现。因此,机器学习离不开最优化。然而,对于很多问题,我们并不总能够找到这个最优,很多时候我们都是尽力去找到近似最优,这就是解析解和近似解的范畴。很多最优化问题都是在目标函数是凸函数或者凹函数的基础上进行的。原因很简单,凸函数的局部极小值就是其全局最小值,凹函数的原创 2015-08-10 16:26:50 · 31780 阅读 · 3 评论 -
我对说话人识别/声纹识别的研究综述
GMM-UBM系统框架GMM-UBM的核心思想是用混合高斯函数去拟合特征在高维空间的概率密度分布,在训练说话人模型的时候,由于注册时说话人的数据稀疏,通常利用一个通用背景模型(Universal Background Model,UBM)和少量的说话人数据,通过自适应算法(如最大后验概率MAP,最大似然线性回归MLLR等)得到目标说话人模型;在测试时,用测试语音相对于目标说话人模型和UBM模型原创 2015-08-25 10:50:55 · 30874 阅读 · 9 评论 -
HMM的Baum-Welch算法和Viterbi算法公式推导细节
前言在上一篇博文中,我简单地介绍了隐马尔科夫模型HMM,并且重点介绍了HMM的三个问题中的第一个,即概率计算问题。首先回顾一下这三个问题都是什么以及解决每个问题的主流算法:概率计算问题即模型评价问题——前向算法和后向算法学习问题即参数估计问题——Baum-Welch算法预测问题即解码问题——Viterbi算法在上一篇概率计算问题的最后,我列出了几个用前向概率和后向概率表示的一些有意义的概率值原创 2016-03-23 21:34:38 · 27949 阅读 · 4 评论