AI与机器学习
文章平均质量分 55
麦好
硕士/量化投资协会成员
展开
-
数学之路(3)-机器学习(3)-机器学习算法-神经网络[6]
梯度下降法一、基本概念梯度下降法,就是利用负梯度方向来决定每次迭代的新的搜索方向,使得每次迭代能使待优化的目标函数逐步减小。梯度下降法是2范数下的最速下降法。 最速下降法的一种简单形式是:x(k+1)=x(k)-a*g(k),其中a称为学习速率,可以是较小的常数。g(k)是x(k)的梯度。二、导数(1)定义 设有定义域和取值都原创 2013-07-05 20:27:15 · 5843 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-神经网络[7]【感知器】视频教程
机器学习(Machine Learning)是一门多领域交叉学科,专门研究计算机怎样模拟或实现人类的学习行为,是人工智能的核心,是使计算机具有智能的根本途径。 神经网络是机器学习的一个重要算法,人工神经网络(Artificial Neural Networks,简写为ANNs)也简称为神经网络(NNs)或称作连接模型(Connection Model),它是一种模范动物神经网络行为特征,原创 2013-07-08 16:21:25 · 2408 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-SVM[3]
原创 2013-07-11 12:40:30 · 1830 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-SVM[4]
两点间的距离即两个点之间的线段的长度。二维距离:三维距离:点到直线的距离点和直线的距离是点到直线的垂直线段的长度若在平面坐标几何上的直线定义为 ax + by + c = 0,点的座标为 (x0, y0),则它们之间的距离为:异面直线间的距离设两直线的方程分别为:则,该两直线间的距离点到原创 2013-07-11 16:32:43 · 1869 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-最小二乘法与回归[3]
简单的单变量线性回归python实现#!/usr/bin/env python# -*- coding: utf-8 -*-#最小二乘法,单变量线性回归#麦好myhaspl@qq.com#http://blog.csdn.net/u010255642/ import matplotlib.pyplot as pltx =[1,2,3,3,6,12,11]y =[3,5,8,5,原创 2013-07-13 12:24:56 · 2320 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-最小二乘法与回归[1]
一、范数被选择的参数,应该使算出的函数曲线与观测值之差的平方和最小。用函数表示为:用欧几里得度量表达为:1-范数:是指向量(矩阵)里面非零元素的个数。类似于求棋盘上两个点间的沿方格边缘的距离。 ||x||1 = sum(abs(xi));2-范数(或Euclid范数):是指空间上两个向量矩阵的直线距离。类似于求棋原创 2013-07-12 21:50:59 · 2463 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-神经网络[4]
LMS的学习率退火方案Rosenblatt感知器的局限性感知器仅对线性分类有效,非线性分类就成问题比如说以上的6个点分为2类,用直线是很难做到的这2类点用PYTHON表述如下 :x = np.array([[1,1,6],[1,3,12],[1,3,9],[1,3,21],[1,2,16],[1,3,15]])d =np.array([1,1,-1,-1,1,-1原创 2013-07-05 09:29:17 · 1978 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-SVM[5]
svm小结两种颜色的点分别代表两个类别,红颜色的线表示一个可行的超平面。在进行分类的时候,我们将数据点 x代入 f(x) 中,如果得到的结果小于 0 ,则赋予其类别 -1 ,如果大于 0 则赋予类别 1 。如果 f(x)=0,则很难办了,分到哪一类都不是。事实上,对于 f(x) 的绝对值很小的情况,我们都很难处理,因为细微的变动(比如超平面稍微转一个小角度)就有可能导致结果类别的改变。理想原创 2013-07-12 12:46:46 · 2185 阅读 · 0 评论 -
数学之路(3)-机器学习(2)-机器学习基础(1)-模式识别简介[1]
本博客所有内容是原创,未经书面许可,严禁任何形式的转载。http://blog.csdn.net/u010255642二、机器学习基础(一)模式识别简介模式识别通常包括分解、特征提取、分类几个过程。分解的内容可能是图像、数据,这个分解过程实现自动化是较难的,分解后形成分区、有限的内容子集。特征提取分析不同类的不同的特征,需要对分解后的内容进行各种数学分析。分类基于特原创 2013-06-11 23:01:57 · 2012 阅读 · 0 评论 -
数学之路(3)-机器学习(4)-综合应用-K均值算法与欧氏距离
本博客所有内容是原创,未经书面许可,严禁任何形式的转载。http://blog.csdn.net/u010255642 一、欧氏距离二维的公式 ρ = sqrt( (x1-x2)^2+(y1-y2)^2 )三维的公式 ρ = sqrt( (x1-x2)^2+(y1-y2)^2+(z1-z2)^2 )n维空间的公式 n维欧原创 2013-06-15 20:17:38 · 2732 阅读 · 0 评论 -
数学之路(3)-机器学习(4)-综合应用-塔尼莫特系数
"塔尼莫特"系数事实上,这个代数形式在计算Jaccard系数时以位向量作为被比较的集的机制首次被塔尼莫特定义。虽然公式扩展到一般的向量 '计算相似度,使用"塔尼莫特"系数公式 Dim tzbj_fz_2 As Double = 0.0 Dim tzbj_fma_2 As Double = 0.0 Dim tzbj_fmb原创 2013-06-15 20:14:56 · 2131 阅读 · 0 评论 -
数学之路(3)-机器学习(4)-综合应用-余弦相似度
我用VB.NET制作了一个小程序,程序的功能是根据源图比较2张图哪张与源图更相似,完成对图片特征码的计算后,使用余弦相似度对2个图片进行比较,比较代码如上,两个向量间的余弦值可以很容易地通过使用欧几里得点积和量级公式推导:鉴于两个向量的属性, A 和B的余弦相似性θ用一个点积形式来表示其大小,如下所示:产生的相似性范围从-1到1:-1意味着两个向量指向的方向正好截然原创 2013-06-15 20:09:52 · 2293 阅读 · 0 评论 -
数学之路(3)-机器学习(4)-综合应用-候选消除法
候选消除法用于收集和归纳样本的特征,得出变型空间 ,然后可以对未知样本进行分类方法,它建立在对样本属性集的分析上总结基础上,基本原理是: 1、设立2个假设,一个是一般假设,一个是特殊假设,通过对每条样本的分析,扩大特殊假设,缩小一般假设。 2、假设就是对样本的每个属性值的设定,可以设定为固定值,也可以设定为未知值?即,什么值都可以接受,如果设为nothing,表示任何属性值都不接受原创 2013-06-15 20:05:54 · 2611 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-神经网络[5]
LMS退火方案学习率不变化,收敛速度较慢,那么我们可以使用退火方案,让学习率随时间而变化将算法修改如下: a=a0/(1+float(mycount)/r)然后将总误差计算改为求平方和while True: mye=0 i=0 for xn in x: w,原创 2013-07-05 10:55:52 · 2917 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-最小二乘法与回归[2]
多元线性回归原创 2013-07-13 08:34:11 · 2236 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-神经网络[8]
反向传播算法原创 2013-07-10 16:07:29 · 1919 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-最小二乘法与回归[4]
一元线性回归是一个主要影响因素作为自变量来解释因变量的变化,在现实问题研究中,因变量的变化往往受几个重要因素的影响,此时就需要用两个或两个以上的影响因素作为自变量来解释因变量的变化,这就是多元回归亦称多重回归。当多个自变量与因变量之间是线性关系时,所进行的回归分析就是多元性回归。 设y为因变量,为自变量,并且自变量与因变量之间为线性关系时,则多元线性回归模型为: p原创 2013-07-14 11:09:52 · 3010 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-神经网络[2]
刚才是单样本感知器算法,每次迭代时,我们只考虑用一个训练模式修正权矢量,实际上,我们也可用几个训练模式一起考虑,这样可以考虑到代价函数,以及进行分类误差率的控制本博客所有内容是原创,未经书面许可,严禁任何形式的转载http://blog.csdn.net/u010255642我们用PY编写代码如下:#!/usr/b原创 2013-06-29 14:28:14 · 2524 阅读 · 1 评论 -
数学之路(3)-机器学习(3)-机器学习算法-神经网络[3]
(5)LMS最小均方差Python的LMS算法部分为:#expect_e是期望误差率#mycount为最大尝试次数mycount=0while True: mye=0 i=0 for xn in x: w,e=neww(w,d[i],xn,a)原创 2013-07-04 10:41:29 · 2258 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-最小二乘法与回归[5]
逆矩阵的局限性使得 ,其中为 n 阶单位矩阵,则称是可逆的,且 是 的逆矩阵,记作。只有正方形(n×n)的矩阵,亦即方阵,才可能、但非必然有逆矩阵。若方阵的逆矩阵存在,则称为非奇异方阵或可逆方阵。那么奇异矩阵或非方阵的矩阵不存在逆矩阵,就会导致用下面最小二乘法求线性或非线性回归出现问题,此时有两种方案,一种是使用岭回归方法原创 2013-07-18 16:19:51 · 3048 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-SVM[6]
smo算法基础 SVM模型的数学表达,即svm的对偶问题:mina12∑i=1N∑j=1NaiajyiyjK(xi,xj)−∑i=1Nais.t.∑i=1Naiyi=00≤ai≤C,i=1,2,⋅⋅⋅,N选择一个 a∗ 的正分量 0a∗jC , 计算(或者通过所有解求平均值):b∗=yj−∑i=1Na∗iyiK(xi⋅xj)决策函数为f(x)=s原创 2013-07-20 21:32:38 · 1647 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-神经网络[9]
神经网络线性分类器将过程封装成PYTHON的一个模块,调用代码如下:#!/usr/bin/env python#-*- coding: utf-8 -*-#email:myhaspl@qq.com#author:麦好#2013-07-25#线性神经网络分类import mplannliner as nplann trai原创 2013-07-25 21:53:05 · 2080 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-神经网络[10]
多层感知器利用非线性神经元做为中间隐藏层神经元,输出端可以直接使用非线性神经元,也可以使用线性神经元在对单个样本计算的过程中分为前向计算和反向计算前向计算根据权值矩阵由前向后一层层神经元推进,每次推进根据权值计算每层的输出值反向计算根据输出结果与目标输出的误差来由后向前调整神经网络的权值,同时,加上运量常数,动量参数可以调整学习速度,,此外,可体现时间延迟非线性 函数本身使用双曲正原创 2013-08-08 09:23:32 · 3845 阅读 · 1 评论 -
数学之路(3)-机器学习(3)-机器学习算法-神经网络[13]
不用重复造轮子,我们可以直接使用多层感知器的库,目前多层感知器的库较多,我们选择纯python库实现的神经网络库-neurolab,该库基于LGPL协议,下载地址 为:https://code.google.com/p/neurolab/我们用这个库训练我们前面的非线性分类的例子>>> import neurolab as nl>>> train_x = [[4,11],[原创 2013-08-21 23:27:17 · 2794 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-神经网络[11]
多层感知器的代码,如果是自己写,不是调用MATLAB生成的库,那么就需要一个比较复杂的调试过程,其中有几个地方要注意:1、输入层、输出层、中间层的学习率不能一样,下面是实际调试过程产生的经验,但要根据样本的特征和分布不同而决定,因为对样本进行初步观察是必须的输入层学习率较高输出层学习率较低中间层学习率正常 2、3个层的权值策略不能一样原创 2013-08-10 11:53:00 · 12266 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-神经网络[12]
我们使用最原始的纯随机生成方法产生多层感知器网络 的权值矩阵,这个权值矩阵要保证输入项在网络中均匀分布,要保证权值矩阵本身的均匀分布我们修改前面的程序,不使用偏置,目标是使之更稳定,收敛效果更好,修改的基本策略是为:1、输出层的学习率较低,动量参数较高2、输入层的学习率较低,运量参数较低3、随机生成若干个权值矩阵,选择最优化的权值矩阵选择的策略是:1、输入项的方差尽可能靠近原创 2013-08-23 09:50:33 · 1905 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-欧氏距离(1)
机器学习算法 之欧氏距离欧氏距离通常用于衡量2个点之间的距离,注意这2个点可以是定义在2维空间的,也可以是定义在3维空间或者n维空间的。二维的公式 ρ = sqrt( (x1-x2)^2+(y1-y2)^2 )三维的公式 ρ = sqrt( (x1-x2)^2+(y1-y2)^2+(z1-z2)^2 )n维空间的公式 n维欧氏空间是一个点集,它的每个点 X原创 2013-08-31 18:25:38 · 2682 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-神经网络[14]
我们将前几篇博文的python实现的多层感知器网络修改后,拟合sin函数,初始权值使用随机生成初始权值矩阵后,选择最优的生成部分python代码如下def simulate(myx,sigmoid_func,delta_sigfun): '''一个样本的仿真计算''' print u"仿真计算中" global ann原创 2013-08-28 09:50:49 · 1737 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-余弦相似度(3)
我们将余弦相似度应用于风景图片类型自动分类,我们为每个类型准备了2个样本图片,如果样本图片数量适当,分类精度将更高。蓝天白云风景我们设为第一类森林设为第二类瀑布设为第三类对图片提取特征,提取的方式是将图片从上到下,从右到右分割成若干块,对每块的图片像素特征进行提取后,形成图片的特征#读取图片,提取每类图片的特征for ii in xrange(1,pi原创 2013-09-08 11:18:48 · 1790 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-神经网络[15]
曲线拟合,俗称拉曲线,是一种把现有数据透过数学方法来代入一条数式的表示方式。科学和工程问题可以通过诸如采样、实验等方法获得若干离散的数据,根据这些数据,我们往往希望得到一个连续的函数(也就是曲线)或者更加密集的离散方程与已知数据相吻合,这过程就叫做拟合 (fitting)多层感知器的神经网络很适合做函数拟合,我们用500个数据点来拟合sin()*0.6函数>>> runfile(r原创 2013-08-27 10:57:28 · 1952 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-余弦相似度(4)
我们用下面三个待分类图片进行测试ptest3.jpgptest1.jpgptest2.jpg测试分类http://blog.csdn.net/myhasplmyhaspl@qq.com正在处理中ptest3.jpg属于第3类ptest1.jpg属于第1类ptest2.jpg属于第2类>>> 分类效果不错,测试分类的py原创 2013-09-08 11:26:07 · 2143 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-神经网络[17]
神经网络既然可以进行函数拟合,也可以进行数据拟合,将输入x做为函数的自变量,将要输出的数据y做为函数f(x)的输出。y=f(x),我们将x送入神经网络做为输入,然后将y做为目标训练值,我们下面进行一个简单的线性滤波,从含有背景音乐中的语音中去除背景音乐。全部完成后,最终效果图如下:第一行是原语音声音,第二行是混杂了背景音乐的语音声音,第三行是去除背景音乐的噪声。声音原创 2013-09-03 20:32:47 · 2084 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-神经网络[18]
编写线性神经网络 的python代码,目标是通过输入背景音乐,输出能与混合后形成声音中的背景音乐尽可能一致的噪声,部分python代码如下:#线性逼近前段噪声b=1a0=5e-1a=0.0r=1.5x=[]d=[]ii=0for audio_i in xrange(0,framerate/2): if fi_wave_data[audio_i]!=0.:原创 2013-09-03 20:54:14 · 2129 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-神经网络[20]
我们也可以用第三方python的神经网络包来对上节的数据模型进行训练首先读取数据#!/usr/bin/env python#-*- coding: utf-8 -*-#code:myhaspl@qq.com#http://blog.csdn.net/myhasplimport numpy as npimport pylab as plimport neurolab as nl原创 2013-09-05 08:36:20 · 2478 阅读 · 1 评论 -
数学之路(3)-机器学习(3)-机器学习算法-人脸识别
#!/usr/bin/env python#-*- coding: utf-8 -*-#code:myhaspl@qq.com#http://blog.csdn.net/myhaspl#人脸定位 import cv2import cv2.cv as cv print 'http://blog.csdn.net/myhaspl' print 'myhaspl@qq.com' print print 'loading ...' def findface(image原创 2013-09-12 08:33:26 · 4121 阅读 · 5 评论 -
数学之路(3)-机器学习(3)-机器学习算法-神经网络[19]
本博客所有内容是原创,如果转载请注明来源http://blog.csdn.net/u010255642我们也可以尝试用多层感知器网络对一组数据建立模型,在输入与输出数据之间建立非线性关系,用神经网络拟合输出数据,训练好后,输入其它值,能得到一个较精确的仿真输出数据下面是钢包使用次数与容积实测数据钢包使用次数与容积实测数据使用次数x原创 2013-09-03 21:59:01 · 2300 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-欧氏距离(4)
我们用opencv定位人脸后,可以用欧氏距离做简单的人脸识别:求2个人脸之间的欧氏距离def get_EuclideanDistance(x,y): myx=np.array(x) myy=np.array(y) return np.sqrt(np.sum((myx-myy)*(myx-myy))) def get_dista原创 2013-09-12 11:04:55 · 2685 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-欧氏距离(5)
一个随机变量的方差描述的是它的离散程度,也就是该变量离其期望值的距离。一个实随机变量的方差也称为它的二阶矩或二阶中心动差,恰巧也是它的二阶累积量。方差的算术平方根称为该随机变量的标准差。方差和标准差是测度数据变异程度的最重要、最常用的指标。设总体方差为σ2,对于未经分组整理的原始数据,方差的计算公式为: 方差反映了变量与均值之间的偏离程度,当方差较大时,说明变量之间差原创 2013-09-12 15:24:07 · 1956 阅读 · 0 评论 -
数学之路(3)-机器学习(3)-机器学习算法-贝叶斯定理(1)
贝叶斯定理是关于随机事件A和B的条件概率(或边缘概率)的一則定理。其中P(A|B)是在B发生的情况下A发生的可能性。先验概率与后验概率:假定B1,B2,……是某个过程的若干可能的前提,则P(Bi)是人们事先对各前提条件出现可能性大小的估计,称之为先验概率。如果这个过程得到了一个结果A,那么贝叶斯公式提供了我们根据A的出现而对前提条件做出新评价的方法。P(Bi∣A)既原创 2013-09-12 17:00:50 · 2509 阅读 · 3 评论 -
数学之路(3)-机器学习(3)-机器学习算法-SVM[7]
我们先安装python的机器学习库然后调用 其中的SVM模块对下面的数据进行训练x = [[1,8],[3,20],[1,15],[3,35],[5,35],[4,40],[7,80],[6,49]]y=[1,1,0,0,1,0,0,1]然后生成随机的未知样本测试数据验证生成的SVM模型 #未知样本分类tlp_x1=np.random.rand(50)*(xma原创 2013-09-13 15:16:15 · 2423 阅读 · 1 评论