机器学习笔记
机器学习常用算法理论推导以及程序实现笔记。
hongbin_xu
一个苦逼的学生狗,生物特征识别与模式识别
展开
-
机器学习入门学习笔记:(1)BP神经网络原理推导及程序实现
机器学习中,神经网络算法可以说是当下使用的最广泛的算法。神经网络的结构模仿自生物神经网络,生物神经网络中的每个神经元与其他神经元相连,当它“兴奋”时,想下一级相连的神经元发送化学物质,改变这些神经元的电位;如果某神经元的电位超过一个阈值,则被激活,否则不被激活。误差逆传播算法(error back propagation)是神经网络中最有代表性的算法,也是使用最多的算法之一。误差逆传播算法理论原创 2017-04-07 16:33:01 · 3053 阅读 · 1 评论 -
个人喜欢的关于模式识别、机器学习、推荐系统、图像特征、深度学习、数值计算、目标跟踪等方面个人主页及博客
>转载自:http://blog.csdn.net/zhangping1987/article/details/29554621目标检测、识别、分类、特征点的提取David Lowe:Sift算法的发明者,天才。Rob Hess:sift的源码OpenSift的作者,个人主页上有openSift的下载链接,OpenCV中sift的实现,也是参考这个。Koen van de Sande:作者给出了s转载 2017-07-27 12:01:12 · 3578 阅读 · 0 评论 -
机器学习入门学习笔记:(2.1)线性回归理论推导
理论推导 机器学习所针对的问题有两种:一种是回归,一种是分类。回归是解决连续数据的预测问题,而分类是解决离散数据的预测问题。线性回归是一个典型的回归问题。其实我们在中学时期就接触过,叫最小二乘法。 线性回归试图学得一个线性模型以尽可能准确地预测输出结果。 先从简单的模型看起: 首先,我们只考虑单组变量的情况,有: 使得 假设有m个数据,我们希望通过x预测的结果f(x)来估原创 2017-08-11 22:28:07 · 9684 阅读 · 11 评论 -
机器学习入门学习笔记:(2.2)线性回归python程序实现
上一篇博客中,推导了线性回归的公式,这次试着编程来实现它。(机器学习入门学习笔记:(2.1)线性回归理论推导 ) 我们求解线性回归的思路有两个:一个是直接套用上一篇博客最后推导出来的公式;另一个是使用梯度下降法来求解极值。如果数据量很大不建议采用第一个,采用后者能更有效地减小计算量。这篇博客后面的程序也采用的是后者。 事先声明,这篇博客是我自己的学习笔记,代码参考了《机器学习实战》一书,原创 2017-08-12 11:05:48 · 1567 阅读 · 0 评论 -
机器学习入门学习笔记:(2.3)对数几率回归推导
理论推导 在以前的博客(机器学习入门学习笔记:(2.1)线性回归理论推导 )中推导了单元线性回归和多元线性回归的模型。 将线性回归模型简写为:y=ωTx+by = \omega^Tx+b; 对数线性回归模型可以写成:ln(y)=ωT+bln(y) = \omega^T + b;本质上仍然是线性回归,只不过拟合的是非线性的ln函数了。 更一般地,考虑单调可微函数g(.)g(.),令原创 2017-10-18 10:59:06 · 9378 阅读 · 13 评论 -
机器学习经典论文/survey合集
转载自:http://suanfazu.com/t/ji-qi-xue-xi-jing-dian-lun-wen-slash-surveyhe-ji/14#0-tsina-1-13801-397232819ff9a47a7b7e80a40613cfe1 感谢分享!!! Active LearningTwo Faces of Active Learning, Dasgupta, 20转载 2017-10-20 15:23:55 · 1522 阅读 · 0 评论 -
机器学习入门学习笔记:(2.4)线性判别分析理论推导
LDA线性判别分析(Linear Discriminant Analysis, 简称LDA),最早由Fisher提出,也叫“Fisher判别分析”。 线性判别分析的思想:给定样本数据集,设法将样本投影到某一条直线上,使得同类样本的投影点尽可能接近,异类样本的投影点尽可能远;在对新的点进行分类预测时,将其投影到这条直线上,根据投影点的位置来判断样本的类别。 当x是二维时,我们就要寻找一个方向为ω\原创 2017-10-21 10:53:41 · 1216 阅读 · 2 评论 -
机器学习入门学习笔记:(3.1)决策树算法
前言 决策树是一类常见的机器学习方法,属于监督学习算法。决策树本身不是一种很复杂的算法,只需要简单的数学基础的就可以理解其内容。一些比较典型的决策树算法有:ID3、C4.5、CART等等决策树算法。理论介绍 一般的,一棵决策树包含一个根结点、若干个内部结点、若干个叶结点。叶结点是最后的决策结果,其余结点都对应与某一个属性的测试(决策)。每个结点所包含的样本集合根据对属性的决策,往下划分到其的子结原创 2017-10-30 20:08:00 · 1196 阅读 · 0 评论 -
机器学习入门学习笔记:(4.1)SVM算法
前言支持向量机(Support Vector Machine,简称SVM)可以说是最经典的机器学习算法之一了。这几天再看SVM,参考了一些书籍和博客,这里把自己的笔记记录下来,以便以后复习查看。间隔(margin)分类学习最基本的思想就是:寻找一个超平面把数据集的样本空间划分成不同的样本。 比较直观的一种情况就是二维下的,如下图: (摘自百度百科) 直观上看,我们应该去寻找两类样本正中间的直线原创 2017-11-11 19:54:35 · 2872 阅读 · 0 评论 -
机器学习入门学习笔记:(3.2)ID3决策树程序实现
前言之前的博客中介绍了决策树算法的原理并进行了数学推导(机器学习入门学习笔记:(3.1)决策树算法)。决策树的原理相对简单,决策树算法有:ID3,C4.5,CART等算法。接下来将对ID3决策树算法进行程序实现,参考了《机器学习实战》一书。这篇博客也作为自己个人的学习笔记,以便自己以后温习。伪代码以及算法流程伪代码:创建分支的伪代码函数createBranch():检测数据集中每一个子项是否属于统原创 2017-11-13 13:29:23 · 4182 阅读 · 1 评论 -
机器学习入门学习笔记:(4.2)SVM的核函数和软间隔
前言之前讲了有关基本的SVM的数学模型(机器学习入门学习笔记:(4.1)SVM算法)。这次主要介绍介绍svm的核函数、软间隔等概念,并进行详细的数学推导。这里仅将自己的笔记记录下来,以便以后复习查看和分享。核函数在此前的讨论中,我们都是默认假设数据集是线性可分的,即存在一个超平面能将给出的样本数据正确分类。然而,有时也许在原始的样本空间中找不到一个能正确分类的超平面。 如上图原创 2017-11-19 22:30:35 · 998 阅读 · 0 评论 -
机器学习入门笔记:(4.3)SMO算法
前言前面的博客介绍过使用dlib进行人脸检测、比对、检测特征点等等操作。 python dlib学习(一):人脸检测 python dlib学习(二):人脸特征点标定 python dlib学习(五):比对人脸 这次再将那些操作综合一下,进行人脸聚类。识别图片中的人脸,并分类。这里使用的是聚类,属于无监督学习。这里对每个人脸的区分与比对人脸中原理相同,将人脸映射到128D的空间中,计算彼此之原创 2017-11-20 21:17:57 · 1067 阅读 · 1 评论 -
使用神经网络拟合曲线(MATLAB/Python)
前言神经网络通常用于分类任务,也可以用于回归任务。使用一个含有隐层的神经网络可以很轻松地拟合出非线性曲线。下面是几个示例,包含matlab的和python的,都很简单。实例1首先,生成正弦曲线,并引入随机噪声。随后,在matlab中使用feedforwardnet函数创建BP神经网络,训练网络,并查看最后的拟合结果。%%clc;clear all;close all;...原创 2018-03-24 09:22:41 · 49143 阅读 · 1 评论