
神经网络与机器学习笔记
柳叶吴钩
叶底藏花一度,梦里踏雪几回
展开
-
基于Python实现扩展卡尔曼滤波算法
1、卡尔曼滤波器定义式的变形(1)新息过程an=yn−bn(x^n∣n−1)a_n = y_n-b_n(\hat x_{n|n-1})an=yn−bn(x^n∣n−1)(2)状态空间(3)表述形式2、实现扩展卡尔曼滤波器的预备步骤(1)阶段1 新矩阵的构建(2) 阶段2 空间模型线性化3、扩展卡尔曼滤波器的实现输入过程:[y1,y2,...,yn][y_1,y_2,...,y_n][y1,y2,...,yn]已知参数:非线性状态向量函数=an(xn)a_n(x_n)an原创 2020-06-16 00:47:54 · 4265 阅读 · 0 评论 -
粒子滤波的SIR算法总结
记法粒子用i=1,2,3...Ni=1,2,3...Ni=1,2,3...N来表示,其中N表示粒子总数。初始化给定状态分布 p(x)p(x)p(x)和初始值x0x_0x0,随机取消x0(i)−p(x0)x_0 ^{(i)} - p(x_0)x0(i)−p(x0)其中记号x−px-px−p是x是分布p的一个观察值,设置初始权值w0(i)=1Nw_0 ^{(i)} = \frac {1}{N}w0(i)=N1其中i=1,2,3...Ni=1,2,3...Ni=1,2,3...N循环每原创 2020-05-11 01:39:25 · 1859 阅读 · 0 评论 -
马尔可夫链学习笔记
3 马尔可夫链考虑由多个随机变量组成的系统,其演化可由一个随机过程描述,随机变量XnX_nXn在时刻n取值xnx_nxn称为系统在n时刻的状态。随机变量所有可能的值构成的空间称为系统的状态空间。如果随机过程{Xn,n=1,2,...}\lbrace X_n,n =1,2,... \rbrace{Xn,n=1,2,...}的构造使得Xn+1X_{n+1}Xn+1的条件概率分布仅依靠于XnX_nXn的值而与其他以前的值无关,称这个过程为马尔可夫链。更准确地说,我们有P(Xn+1=xn+1∣Xn=x原创 2020-05-11 01:08:32 · 1284 阅读 · 0 评论 -
正则化参数估计
正则化参数λ\lambdaλ在径向基函数网络,最小二乘估计和支持向量机的正则化理论中起着核心作用,因此需要一个估计λ\lambdaλ的相当原理性的方法。先考虑一个非线性回归问题:di=f(xi)+εi,i=1,2,...,Nd_i = f(x_i)+\varepsilon _i,i=1,2,...,Ndi=f(xi)+εi,i=1,2,...,N此处f(xi)f(x_i)f(xi)是...原创 2019-04-08 23:58:36 · 10589 阅读 · 0 评论 -
正则化最小二乘估计
对于给定的训练样本{xi,di}i=1N\lbrace x_i, d_i\rbrace _{i=1} ^{N}{xi,di}i=1N,最小二乘估计的正则化代价函数由下式定义:ε(w)=12∑i=1N(di−wTXi)2+12λ∣∣w∣∣2 \varepsilon (w) = \frac{1}{2} \sum _{i=1} ^N(d_i - w^TX_i)^2 + \frac{1}{2} \...原创 2018-12-18 00:30:22 · 1592 阅读 · 0 评论 -
正则化的要点
1、回归从回归的角度上看,项12∣∣W∣∣2\frac{1}{2}||W||^221∣∣W∣∣2有一个特定的直观作用,从几何上说,最小代价函数ξ(W)\xi(W)ξ(W)过程中,包含正则化项12∣∣W∣∣2\frac{1}{2}||W||^221∣∣W∣∣2有利于找到带有好的逼近属性的平坦函数此最小代价函数可作为一个用于函数逼近的多层感知器的正则化的可行方法,其缺点是在数学上很难把Ti...原创 2018-12-20 00:29:11 · 368 阅读 · 0 评论 -
正则化理论(二)
1、正则化网络每个隐藏单元的激活函数由Green函数定义(式1)G(x,xi)=exp(−12σi2∣∣x−xi∣∣2)G(x,x_i) = exp(- \frac{1}{2\sigma _i ^2}||x-x_i||^2) \tag {式1}G(x,xi)=exp(−2σi21∣∣x−xi∣∣2)(式1)2、广义径向基函数网络F∗(x)=∑i=1m1wiφ(x,ti)F^*(x)...原创 2018-12-13 22:54:43 · 454 阅读 · 0 评论 -
根植于统计力学的随机方法
1 引言统计力学的主题围绕对大系统宏观平衡态性质的形式化研究,而系统的每个基本元素遵循力学的微观定律。统计力学的主要目标是从微观元素推导出宏观物体的热力学性质。系统越有序或者它的概率分布越集中,则熵越小。2 统计力学考虑具有许多自由度的物理系统,它可以驻留在大量可能状态中的任何一个。例如,用pip_ipi表示一个随机系统中状态iii发生的概率:(式1)pi≥0,对于所有ip_i \ge...原创 2018-11-30 23:29:15 · 452 阅读 · 0 评论 -
正则化理论(一)
1 、引言在监督学习算法中,尽管过程不同,但它们都有一个共同点:通过样本训练一个网络,对于给定的输入模式给出输出模式,等价于构造一个超平面(即多维映射),用输入模式定义输出模式。从样本中学习是一个可逆的问题,因为其公式是建立在由相关直接问题的实例中获得的知识之上,后一类问题包含潜在的未知物理定律,但是,在现实情况下我们通常发现训练样本会受到极大的局限:训练样本包含的信息内容通常不能够充分地...原创 2018-11-19 22:58:51 · 1907 阅读 · 0 评论 -
Python实现支持向量机(基于双月数据集)
1、生成数据集class moon_data_class(object): def __init__(self,N,d,r,w): self.N=N self.w=w self.d=d self.r=r def sgn(self,x): if(x>0): ...原创 2018-11-09 23:26:44 · 2460 阅读 · 2 评论 -
Python实现Mean Shift聚类算法
Mean Shift算法,又称均值聚类算法,聚类中心是通过在给定区域中的样本均值确定的,通过不断更新聚类中心,直到聚类中心不再改变为止,在聚类、图像平滑、分割和视频跟踪等方面有广泛的运用。Mean Shift向量对于给定的n维空间RnR^nRn中的m个样本点X(i),i=1,...,mX^{(i)},i=1,...,mX(i),i=1,...,m对于其中的一个样本X,其Mean Shift向量...原创 2018-12-30 22:53:29 · 9075 阅读 · 19 评论 -
利用DBSCAN算法对双半月数据集进行聚类
1、生成数据集class moon_data_class(object): def __init__(self,N,d,r,w): self.N=N self.w=w self.d=d self.r=r def sgn(self,x): if(x>0): ...原创 2019-04-15 22:42:36 · 1722 阅读 · 2 评论 -
局部加权线性回归
1 目的在线性回归中会出现欠拟合的情况,解决办法之一就是局部加权线性回归,此时的线性回归系数可以表示为:W^=(xTMX)−1XTMY\hat W = (x^TMX)^{-1}X^TMYW^=(xTMX)−1XTMYM为每个点的权重。使用核函数对附近的点赋予跟高的权重,常用的为高斯核。...原创 2019-04-14 21:30:07 · 436 阅读 · 1 评论 -
Python实现自适应LMS滤波算法
# -*- coding: utf-8 -*-"""Created on Wed Mar 27 12:57:42 2019@author: Administrator""""""import numpy as npimport matplotlib.pyplot as pltimport mathfrom scipy.fftpack import fft,ifftdef L...原创 2019-05-02 22:54:55 · 11554 阅读 · 14 评论 -
卡尔曼滤波器的证明
1、状态空间模型Xn+1=An+1,nXn+WnX_{n+1} = A{n+1},nX_n + W_{n}Xn+1=An+1,nXn+WnYn=BnXn+VnY_n = B_nX_n + V_nYn=BnXn+Vn该模型涉及的参数如下:(1)状态转移矩阵An+1,nA_{n+1,n}An+1,n,它是可逆的。(在线性代数中,给定一个n阶方阵A,若存在一n阶方阵B使得AB=B...原创 2019-05-03 00:07:53 · 3533 阅读 · 0 评论 -
粒子滤波算法
1、前言粒子滤波器是一新类型的非线性滤波器,已成为一个解决非线性滤波问题的重要工具,因为它能应用于很多领域,如信号处理、雷达和声音媒体的目标跟踪、计算机视觉、神经计算。令XnX_nXn表示所有的目标状态序列{xi}i=1n{\lbrace x_i\rbrace} _{i=1}^n{xi}i=1nYnY_nYn表示所有观测序列{yi}i=1n{\lbrace y_i\rbrace}...原创 2019-05-25 19:58:11 · 1867 阅读 · 0 评论 -
核SOM算法
1、初始化。对初始权值向量wi(0)w_i(0)wi(0)和核宽σi(0)(i=1,2,..,l)\sigma _i(0)(i=1,2,..,l)σi(0)(i=1,2,..,l)选择随机值,这里lll是网络结构中神经元的总个数。2、取样。从输入分布中按一定的概率取出一个样本xxx.3、相似度匹配。在算法的时间不n,用下面的准则来确定神经元i(x)i(x)i(x)i(x)=argm...原创 2019-08-19 00:42:04 · 435 阅读 · 0 评论 -
扩展卡尔曼滤波算法
输入过程:[y1,y2,...,yn][y_1,y_2,...,y_n][y1,y2,...,yn]已知参数:非线性状态向量函数=an(xn)a_n(x_n)an(xn)非线性测量向量函数=bn(xn)b_n(x_n)bn(xn)过程噪声向量的协方差矩阵=Qw,nQ_{w,n}Qw,n测量噪声向量的协方差矩阵=Qv,nQ_{v,n}Qv,n计算:n=1,2,3…G...原创 2019-08-15 00:10:02 · 2335 阅读 · 0 评论 -
使用核方法的支持向量机
1 内积核令xxx表示从输入空间中取出的向量,假定维数为m0m_0m0。令{φj(x)}j=1∞\lbrace \varphi_j(x) \rbrace _{j=1}^ \infty{φj(x)}j=1∞表示一系列非线性函数的集合,从维数m0m_0m0的输入空间转换成无限输出空间,给出这样的变换,可定义一超平面:(1)∑j=1∞wjφj(x)=0\sum _{j=1} ^{\infty...原创 2019-08-26 01:04:30 · 702 阅读 · 0 评论 -
python实现径向基核函数
1、生成数据集(双月数据集)class moon_data_class(object): def __init__(self,N,d,r,w): self.N=N self.w=w self.d=d self.r=r def sgn(self,x): if(x>0): r...原创 2018-10-20 22:39:35 · 8755 阅读 · 1 评论 -
Python基于K-均值、RLS算法实现RBF神经网络(神经网络与机器学习 第五章 计算机实验)
1、生成数据集class moon_data_class(object): def __init__(self,N,d,r,w): self.N=N self.w=w self.d=d self.r=r def sgn(self,x): if(x>0): ...原创 2018-10-22 20:19:26 · 3856 阅读 · 5 评论 -
Python实现多层感知器MLP(基于双月数据集)
1、加载必要的库,生成数据集import mathimport randomimport matplotlib.pyplot as pltimport numpy as npclass moon_data_class(object): def __init__(self,N,d,r,w): self.N=N self.w=w ...原创 2018-10-10 23:00:50 · 4665 阅读 · 5 评论 -
主分量分析
1 自组织原则原则1 增强性自组织第一原则: 神经元突触权值的修正随着Hebb条件学习自增强,这使得突触可塑性有了可能。 在单个神经元中,自增强的过程受到以下约束: 对神经元突触权值的修正基于在局部区域可获得前突触和后突触信号表示Hebb学习特征的关键机制: (1)依赖时间机制。此机制表示对Hebb突触修改依赖于前突触和后突触信号发生的准确时间; (2)交互机制。Hebb突...原创 2018-08-28 00:58:25 · 1358 阅读 · 0 评论 -
Tensorflow中 tf.reduce_sum函数
tf.reduce_sum(input_tensor, axis=None, keep_dims=False, name=None, reduction_indices=None)函数意义:将矩阵的元素相加,可以按列,也可以按行,或者先按列后按行转载 2018-08-04 10:43:49 · 447 阅读 · 0 评论 -
TensorFlow实现LeNet
TensorFlow实现LeNet首先是数据的导入,这里使用的是MNIST数据集:import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_dataimport time声明输入图片的数据和类别:x = tf.placeholder('float',[None,784])y_ ...原创 2018-05-26 23:35:37 · 339 阅读 · 0 评论 -
第四章 支持向量机详解
1 引言1 引言考虑训练样本(xi,di)(xi,di){(x_i,d_i)}假设由子集代表的模式是线性可分的,用于分离超平面的决策曲面方程是:WTX+b=0(式4.1)(式4.1)WTX+b=0W^TX+b=0 \tag{式4.1} 其中x是输入向量,w是可调向量,b是偏置。因此可以写成: WTX+b≥0当di=+1WTX+b≥0当di=+1W^TX+b\geq0 当 d_...原创 2018-05-15 00:58:23 · 341 阅读 · 0 评论 -
第三章 感知器与贝叶斯分类器的关系(本文摘自《神经网络与机器学习》,仅供学习参考)
1 贝叶斯分类器在高斯环境下,贝叶斯分类器退化为线性分类器,这与感知器采用的形式是一样的。原创 2018-04-29 23:07:27 · 799 阅读 · 0 评论 -
第二章 贝叶斯分类器
1 贝叶斯公式如下图所示,已知A、B两个事件的交事件:由P(A∪B)=P(B|A)P(A)=P(A|B)P(B)得:P(B|A) = P(A|B)P(B)/P(A) 在机器学习中我们通常写为: P(h|D)=P(D|h)P(h)/P(D) 用P(h)表示在没有训练数据前假设h拥有的初始概率。P(h)被称为h的先验概率。先验概率反映了关于h是一正确假设的机会的背景知识。 机器学习中,我们关心的是P(...原创 2018-04-25 22:29:57 · 341 阅读 · 0 评论 -
第一章 感知器
1、感知器简介 感知器是第一个从算法上完整描述的神经网络,它的发明者Rosenblatt是一位心理学家,建立在一个非线性神经元上。它是一种二元分类器。把矩阵上的输入(实数值向量)映射到输出值一个二元的值函数: 2、感知器收敛定理目的:导出感知器的误差修正算法定义:(1)(m+1)*1个输入向量: ,(2)(m+1)*1个权值向量: 。(3)线性...原创 2018-04-23 22:00:45 · 621 阅读 · 0 评论 -
自组织映射
1 目的自组织映射的主要目的是将任意维数的输入信号模式转变为一维或二维的离散映射,并且以拓扑有序的方式自适应实现这个变换。2 主要过程合作 竞争 突触调节2.1 竞争过程2.2 合作过程2.3 自适应过程3 特征映射的性质4 核自组织映射...原创 2018-08-31 22:06:20 · 2325 阅读 · 0 评论 -
信息论学习模型----熵
1 熵2 最大熵原则3 互信息4 相对熵5 系词6 互信息作为最优化的目标函数7 最大互信息原则8 最大互信息和冗余减少9 空间相干特征10 独立分量分析...原创 2018-08-31 22:14:32 · 699 阅读 · 0 评论 -
Python实现K均值聚类算法
1、加载相应的模块,生成数据集# coding:utf-8import numpy as npimport pylab as plimport random as rdimport imageioimport mathimport randomimport matplotlib.pyplot as pltimport numpy as npfrom scipy import ...原创 2018-10-15 22:58:38 · 1058 阅读 · 0 评论 -
基于双月数据集利用最小二乘法进行分类
1、加载数据集import numpy as npimport matplotlib.pyplot as pltclass moon_data_class(object): def __init__(self,N,d,r,w): self.N=N self.w=w self.d=d self.r=r ...原创 2018-10-04 23:43:05 · 1543 阅读 · 1 评论 -
最小均方算法二分类(基于双月数据集)
1、生成数据集import numpy as npimport matplotlib.pyplot as pltclass moon_data_class(object): def __init__(self,N,d,r,w): self.N=N self.w=w self.d=d self.r=r ...原创 2018-10-04 23:15:27 · 1650 阅读 · 0 评论 -
基于双月数据集利用感知层进行分类
1、生成数据集class moon_data_class(object): def __init__(self,N,d,r,w): self.N=N self.w=w self.d=d self.r=r def sgn(self,x): if(x>0): ...原创 2018-10-04 20:48:57 · 2666 阅读 · 0 评论 -
利用Python生成双月分类数据集
1、定义生成函数(来源于网络)def dbmoon(N=100, d=2, r=10, w=2): N1 = 10*N w2 = w/2 done = True data = np.empty(0) while done: #generate Rectangular data tmp_x = 2*(r+w2)*(np.ra...原创 2018-10-04 00:30:57 · 4856 阅读 · 0 评论 -
信息论学习模型 ----互信息
考虑一对连续的随机变量X和Y,这两者是相关的。由概率论,可以将X和Y的联合概率表示为: pX,Y=pY(y|x)px(x)pX,Y=pY(y|x)px(x)p_{X,Y} = p_Y(y|x)p_x(x) 由此根据微分熵的定义,有: h(X,Y)=h(X)+h(Y|X)h(X,Y)=h(X)+h(Y|X)h(X,Y) = h(X)+h(Y|X) 这里h(X,Y)称为X和Y的联合微分熵,且h...原创 2018-09-06 23:32:26 · 1342 阅读 · 0 评论 -
信息论学习模型---相对熵
在所定义的互信息I(X;Y)I(X;Y)I(X;Y),作用于随机神经系统,其输入输出相应地记为多维向量XXX和YYY。现有两个不同的概率密度函数px(x)px(x)p_x(x)和$g_x(x)作为输入向量X的潜在的可能说明...原创 2018-09-10 01:09:14 · 258 阅读 · 0 评论 -
信息论学习模型----最大熵原则
最大熵原则当根据不完整的信息作为依据进行推断时,应该由满足分布限制条件的具有最大熵的概率分布推得。最大熵问题是一个约束最优化问题。要说明解这个问题的步骤,考虑最大微分熵: h(X)=−∫+∞−∞px(x)logpx(x)dxh(X)=−∫−∞+∞px(x)logpx(x)dxh(X) = -\int_{-\infty}^{+\infty}{p_x(x) \log p_x(x)} \,{...原创 2018-09-02 22:10:48 · 1391 阅读 · 0 评论 -
TensorFlow函数tf.random_normal
tf.random_normal(shape, mean = 0.0, stddev = 1.0, dtype = tf.float32, seed = None, name = None)解释:这个函数返回一个随机数序列,数组里面的值按照正态分布。 shape: 输出张量的形状,必选 mean: 正态分布的均值,默认为0 stddev: 正态分布的标准差,默认为...原创 2018-03-09 09:58:38 · 1251 阅读 · 0 评论