自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

guoziqing506的博客

记录学习点滴,享受算法乐趣

  • 博客(9)
  • 收藏
  • 关注

原创 最大化期望算法(EM)详解

我们知道最大似然估计的根本目的是根据抽样的到的样本(即数据),反推出最有可能的分布参数(即模型),这是一个非常典型的机器学习的思想。所以在很多领域最大似然估计有着极为广泛的应用。然而,如果已知的数据中含有某些无法观测的隐藏变量时,直接使用最大似然估计是不足以解决问题的。这个时候就要依靠最大化期望(EM)算法了。简单的说,EM算法是在依赖于无法观测的隐藏变量的概率模型中,寻找参数最大似然估计或者...

2018-07-30 09:15:53 37712 11

原创 SVM解释:五、SMO算法

SMO算法是John C. Platt在1998年提出的。论文的题目是”Sequential Minimal Optimization:A Fast Algorithm for Training Support Vector Machines”。它很快便成为最快的二次规划优化算法,特别是在针对线性SVM和数据稀疏时性能更优。当然了,SMO优越性能的背后是其相当复杂的数学推导,所以,我也把这块最...

2018-07-23 08:42:47 13586 9

原创 SVM解释:四、线性不可分的情况

之前的博客介绍了在数据为线性可分的情况下,如何用SVM对数据集训练,从而得到一个线性分类器,也就是超平面WX+b=0WX+b=0WX + b = 0. 但是我已经强调过多次,线性可分的情况有相当的局限,所以SVM的终极目标还是要解决数据线性不可分的情况。解决这种线性不可分的情况基本的思路有两种:加入松弛变量和惩罚因子,找到“最好”超平面,这里的“最好”可以理解为尽可能地将数据正确分类;使用...

2018-07-23 08:41:42 21341 4

原创 SVM解释:三、线性可分的情况

在之前的博客 拉格朗日乘子法和KKT条件 中,我已经大致介绍了支持向量机(SVM)的数学理论基础。从本文开始,我将逐步推导SVM是如何运用于数据分类的。由简入难,我先来介绍最简单的,通过训练线性可分的数据分类。在我写的SVM的第一篇博客中,已经大致介绍了SVM是做什么的,大概是怎样一个思路,所以本文我们直接进入正题,从介绍最大边缘超平面的计算方法开始。1. 最大边缘超平面一个给定的...

2018-07-23 08:41:26 13069 4

原创 SVM解释:二、SVM的数学基础

本节所述的内容为与支持向量机(SVM)相关的数学基础知识。总的来说,我先介绍了凸优化问题求最优解的思路,介绍了拉格朗日乘子法和KKT条件,随后根据KKT条件给出了求解有不等式约束的凸优化问题的一种解法,即拉格朗日对偶。我的学习体会是,如果不理解上面说的这些数学基础知识,学习SVM会寸步难行。所以我把基础知识部分当做学习SVM的第一站。当然,如果你已经了解这些,也可以直接跳到我的下一篇博客。。去...

2018-07-23 08:41:07 4365 3

原创 SVM解释:一、SVM的整体框架

支持向量机(Support Vector Machine)是一种非常重要的分类方法,大的范畴上讲,属于监督学习。它最早由Vapnik等人在1992年提出,已经发展了近30年。尽管它的训练速度偏慢,但是由于其对复杂非线性数据的强大的建模能力,依然在很多领域,包括手写数字识别,对象识别,基准时间序列预测检验等有着非常广泛的应用。可以说,任何一种二分类的问题都在理论上都可以用SVM解决。当然,SVM...

2018-07-23 08:40:36 6774 1

原创 隐性语义索引(LSI)原理与实现

隐性语义索引(Latent Semantic Idexing, LSI),也叫Latent Semantic Analysis(LSA),是信息检索领域一类非常重要的技术思想。它通过对词项-文档矩阵的奇异值分解,在理论上成功地解决了潜在语义(或者叫隐性语义)的检索问题。本文将介绍关于LSI的原理和实现方法。隐含语义问题基于关键词的文档检索是IR中最简单,也是最普遍的技术手段。一般来说,...

2018-07-11 21:55:52 6211 1

原创 C++:继承和多态

C++中类之间的关系,一共分为以下三种:has-a:包含关系。表示类A的一个成员是类B,比如类Student中,有数据成员score,而score是属于类Score的;use-a:使用关系。表示类B会用到类A的成员,比如类State会用到类Region中的成员函数getArea(),我们可以通过定义友元类来实现快捷编程;is-a:继承关系。表示类B是类A的一个子集,比如类Student是...

2018-07-10 14:26:03 1724 1

原创 C++:指针的应用

指针是C++的一个非常强大的特性,它能使我们直接访问计算机的内存,指针可以用来引用一个数组,一个字符串,一个整数或者任何其他变量。这种强大的功能使得指针在C++程序设计中是非常普遍的,而同时,指针的知识又显得有那么些“繁杂”,有必要清晰地做个总结。什么是指针指针,就是内存地址。我们一般会声明一个变量是整数int,浮点double,或者字符char等等,指针变量(通常简称指针)和他们本质...

2018-07-01 20:44:22 4111 1

空空如也

空空如也

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

TA关注的人

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