
机器学习笔记
文章平均质量分 84
lijil168
这个作者很懒,什么都没留下…
展开
-
利用lstm神经网络根据路谱估算道路坡度
车辆侧得的路谱数据中有海拔、车速、经纬度等,但是没有道路坡度数据,高清地图中有经纬度及道路坡度,但是路程比较短。如何利用高清地图中的道路坡度,结合车辆的路谱数据估算全路段的道路坡度?利用前100s数据进行训练,100-27=73个训练样本,用训练好的模型输入前290s的路谱,计算得到估算的道路坡度,前73s可观察训练的数据拟合情况,后面的时刻为道路坡度的估算情况,见下图。损失函数值:神经网络模型:...原创 2022-07-08 20:54:21 · 785 阅读 · 1 评论 -
tensorflow神经网络多维曲线拟合
计算智能 作业二题目:自选非线性分类或曲线拟合问题,用BP网络训练、学习。自选题目:下面列表中的数据是某地区20年公路运量数据,其中属性“人口数量”、“机动车数量”和“公路面积”作为输入,属性“公路客运量”和“公路货运量”作为输出。请用神经网络拟合此多输入多输出曲线。100000步训练后,结果为:100000步训练后,结果为:优化的更快!可能过拟合cmd命令:tensorboard --logdir=C:\temp\log_simple_stats训练迭代过程中,损失函数值:注意正则化时原创 2022-06-26 13:04:17 · 2376 阅读 · 3 评论 -
基于深度学习的驾驶行为预测方法
基于深度学习的驾驶行为预测方法1 概述2 深度学习算法3 驾驶行为预测建模4 结论5 参考文献6 python LSTM程序7 python LSTM模型调用1 概述在汽车前向仿真中会用到纵向驾驶员模型,根据当前的实际车速与目标车速控制踏板行程得到需求转矩。纵向驾驶员模型的作用除了更好地跟踪目标工况,还要反映驾驶员的实际操纵行为,从而使整车仿真模型能更好地反映实车的运行特征[1]。对驾驶员操纵行为的预测难于用简单的公式来描述,如果有大量的路谱数据,包括实车行驶过程的海拔、车速、发动机转速、油门开度等信息原创 2020-07-29 15:40:28 · 7514 阅读 · 5 评论 -
tensorflow应用:双向LSTM神经网络手写数字识别
tensorflow应用:双向LSTM神经网络手写数字识别思路Python程序1.建模训练保存Tensorboard检查计算图及训练结果打开训练好的模型进行预测思路将28X28的图片看成28行像素,按行展开成28时间步,每时间步间对识别都有影响,故用双向LSTM神经元,其实每列间对识别也有影响,用卷积神经网络也许更合理,这里只是学习LSTM的用法。应该也可以用两个双向LSTM神经网络进行联合预测,一个按行扫描,一个按列扫描。Python程序1.建模训练保存# coding=utf-8import原创 2020-05-24 14:31:29 · 1375 阅读 · 0 评论 -
TensorFlow第八步 Nesterov's accelerated gradient descent+L2 regularization
L2 regularization: C=C0+lambda/n/2*sum(w^2)Nesterov's accelerated gradient descenthttps://blog.youkuaiyun.com/tsyccnh/article/details/76673073看上面一张图仔细想一下就可以明白,Nesterov动量法和经典动量法的差别就在B点和C点梯度的不同。公式推导...原创 2018-09-15 15:03:56 · 871 阅读 · 0 评论 -
tensorflows十五 再探Momentum和Nesterov's accelerated gradient descent 利用自动控制PID概念引入误差微分控制超参数改进NAGD,速度快波动小
神经网络BP-GD算法和自动控制PID算法有类似之处,都是利用误差反馈对问题进行求解,不同的是自动控制调节的是系统的输入,神经网络调节的是系统本身。本文将引入误差微分控制超参数kd_damp对NAGD算法进行优化,收敛的速度更快!波动更小! 自动控制PID算法与神经网络Momentum算法比较:http://www.sohu.com/a/242354509_297288http:/...原创 2018-10-01 15:07:47 · 1008 阅读 · 0 评论 -
TensorFlow第七步再试牛刀-自编BP代码解Mnist
与网上教程的网络设计、训练数据、算法、参数设置完全一样,但是从训练的结果看,用tf自己动手编写的 BP代码的速度更快,精度更高。自己编写的代码经10次训练,训练数据精度达到100%,测试数据精度达到87.3%,教程中,经70次训练,训练数据精度才达到100%,经280次训练,测试数据精度才达到82%,原因不明!!http://neuralnetworksanddeeplearning.com/...原创 2018-09-14 10:56:34 · 387 阅读 · 0 评论 -
TensorFlow第六步: 继续挖坑 用tf重写BP并增加SGD
用 tf重写BP,并增加SGD:# coding=utf-8import os os.environ["TF_CPP_MIN_LOG_LEVEL"]='2' # 只显示 warning 和 Error import numpy as npimport tensorflow as tfimport random#import matplotlib.pyplot as plt...原创 2018-09-13 18:39:39 · 674 阅读 · 0 评论 -
TensorFlow第十步CNN BP 编程求解
根据第九步学习的算法,解一CNN网络,在以前做的全连接层前增加一卷积层。注意:在误差反馈计算过程中,用“FULL”卷积计算误差的传递、用“VALID”相关(tf特有的卷积,计算卷积时核不翻转180)计算卷积层的权重灵敏度,仅适用于前馈采用“VALID”的CNN。理解CNN的概念比记住公式要重要的多!开始卷积时,FULL核内边界对齐,SAME核中心对齐,VALID核外边界对齐。另外,深层...原创 2018-09-23 11:59:26 · 333 阅读 · 0 评论 -
TensorFlow第五步:返回起点、深挖坑,解刨一个麻雀。
一、设计最简单的数字识别问题二、设计最简单的神经网络,仅含一隐藏层,4X3X2,激活函数:sigmod+softmax;损失函数:(均值)交叉熵cross-entropy三、利用梯度下降法和BP算法编程求解,观察整个求解过程。BP算法见:参考http://neuralnetworksanddeeplearning.com/chap3.htmll如采用softmax+...原创 2018-09-10 14:28:52 · 490 阅读 · 0 评论 -
TensorFlow第三步 :单层网络-Mnist手写数字识别
一、载入数据Mnist,并检验数据# coding=utf-8import os os.environ["TF_CPP_MIN_LOG_LEVEL"]='2' # 只显示 warning 和 Error """mnist_loader~~~~~~~~~~~~A library to load the MNIST image data. For details of the ...原创 2018-09-05 14:35:42 · 426 阅读 · 0 评论 -
TensorFlow 第二步 小试牛刀:一个神经元
http://neuralnetworksanddeeplearning.com/chap3.html neuralnetworks and deeplearning 第三章 如果采用方差函数做损失函数C,sigmod做激活函数σ(),当初始输出误差过大时,σ’≈0,导致神经元误差过小,学习很慢。如,x=1.0,w=2.0,b=2.0,η=0.15 x*w+b=4.0...原创 2018-09-02 15:13:51 · 726 阅读 · 0 评论 -
TensorFlow第九步CNN BP算法学习
花了两天时间,基本明白了CNN BP的算法。可把conv看成局部全连接的堆砌,以全连接BP的思路推导。 https://www.cnblogs.com/tornadomeet/p/3468450.htmlhttps://blog.youkuaiyun.com/happyer88/article/details/46772347https://blog.youkuaiyun.com/zouxy09/ar...转载 2018-09-21 09:13:36 · 1092 阅读 · 0 评论 -
tensorflow第十一步CNN表情识别
fer2013图片库。模型训练结束,保存,下次可接着继续训练。注意windows的路径输入,最后的“\"不知怎么处理好,只好用LOGS_PATH=os.path.normcase('c:/temp/log_mnist_softmax/')将正斜杠改成反斜杠。tensorflow的tensorboard真的很酷,有时间再研究。# coding=utf-8#import s...原创 2018-09-26 18:43:29 · 1442 阅读 · 0 评论 -
TensorFlow第十二步 自编码器去噪降维
# coding=utf-8import os os.environ["TF_CPP_MIN_LOG_LEVEL"]='2' # 只显示 warning 和 Error ###data (50000,784),(1000,784),(1000,784):import pickleimport gzipimport numpy as npdef load_data(): ...原创 2018-09-27 17:30:18 · 1878 阅读 · 0 评论 -
无人驾驶五 使用pure pursuit实现无人车轨迹追踪(python)
https://blog.youkuaiyun.com/adamshan/article/details/80555174 # coding=utf-8import numpy as npimport mathimport matplotlib.pyplot as pltk = 0.1 # 前视距离系数Lfc = 2.0 # 前视距离Kp = 1.0 # 速度P控制器系...转载 2018-11-01 17:53:10 · 3363 阅读 · 0 评论 -
无人驾驶四 扩展卡尔曼滤波在目标车辆运动状态识别中的运用(python程序)
https://blog.youkuaiyun.com/adamshan/article/details/78265754# coding=utf-8import numpy as npimport numdifftools as ndimport mathdataset = []# read the measurement data, use 0.0 to stand LIDAR da...转载 2018-10-30 13:47:00 · 1836 阅读 · 4 评论 -
无人驾驶三 卡尔曼滤波及无迹卡尔曼滤波的几何意义
https://en.wikipedia.org/wiki/Kalman_filter#Unscented_Kalman_filter 一、卡尔曼滤波的几何意义参考英文原版:http://www.bzarg.com/p/how-a-kalman-filter-works-in-pictures/ 注意上式部分有误,正确见下图:核心是根据系统状态的估算值及协方差、...转载 2018-10-23 21:29:52 · 3526 阅读 · 0 评论 -
无人驾驶二 卡尔曼滤波与PID控制
卡尔曼滤波形象的描述见:https://blog.youkuaiyun.com/lybaihu/article/details/54943545卡尔曼滤波与目标追踪示例见:https://blog.youkuaiyun.com/AdamShan/article/details/78248421?locationNum=5&fps=1清晰的推导见:https://blog.youkuaiyun.com/he......原创 2018-10-19 23:46:15 · 7932 阅读 · 3 评论 -
tensorflow 十四 强化学习Q-learning
一个最简单的例子:https://blog.youkuaiyun.com/u012465304/article/details/80905202深度强化学习入门:用TensorFlow构建你的第一个游戏AI:https://blog.youkuaiyun.com/Uwr44UOuQcNsUQb60zk2/article/details/78556998最简单例子代码:import numpy as ...转载 2018-09-30 17:19:21 · 1978 阅读 · 0 评论 -
TensorFlow十三 LSTM练习
https://yq.aliyun.com/articles/202939Mnist: BATCH_SIZE X 784 arrayCCN:BATCH_SIZE X28X28 -->BATCH_SIZE X28x28X1 arrayLSTM:28(NUM_STEPS)个BATCH_SIZE X28 list先试试数据变换:# coding=utf-8import os...原创 2018-09-29 12:38:49 · 588 阅读 · 0 评论 -
无人驾驶一 协方差矩阵的几何意义
https://blog.youkuaiyun.com/guyuealian/article/details/68922981样本各属性(维)均值:样本重心;样本各属性间协方差:样本在各维间分布及相关性。对协方差矩阵进行特征变换,特征矩阵每列为特性向量=主坐标轴在原坐标系的投影(坐标)。 clear allclcX=[1 2;3 3;3 5;5 4;5 6;6 5;8 7;9 8] %样...原创 2018-10-14 16:09:25 · 1572 阅读 · 0 评论 -
Tensorflow 十六 用tf.keras函数重写Mnist识别
# coding=utf-8import os os.environ["TF_CPP_MIN_LOG_LEVEL"]='2' # 只显示 warning 和 Error #### Libraries# Standard libraryimport pickleimport gzip# Third-party librariesimport numpy as npdef l...原创 2018-10-05 14:17:26 · 397 阅读 · 0 评论 -
《neuralnetworks and deeplearning》学习笔记1-深入理解BP算法
http://neuralnetworksanddeeplearning.com一,损失函数的两个假定:1,成本函数可被写为C = 1 / N ΣxCx , Cx 针对单个x 。 原因:BP算法先根据单个x计算Ç的梯度,再合并求均值计算整体X下Ç的梯度。(BP 根据小批量计算Ç的梯度,估算整体Ç的梯度,加快学习速度)2,我们对成本的第二个假设是它可以写成神经网络输出的函数...原创 2018-09-02 12:52:35 · 211 阅读 · 0 评论 -
TensorFlow 第四步 多层神经网络 Mnist手写数字识别
从训练样例中取1000个进行训练,再对1000个测试样例进行检测,出现过拟合情况,而且损失函数值和测试精度值波动很大。# coding=utf-8import os os.environ["TF_CPP_MIN_LOG_LEVEL"]='2' # 只显示 warning 和 Error """mnist_loader~~~~~~~~~~~~A library to load ...原创 2018-09-07 20:18:35 · 737 阅读 · 0 评论 -
CART树回归、剪枝、Tkinter GUI
CART:Classfication And Regression Trees分类回归树# coding=utf-8#Created on Feb 4, 2011#Tree-Based Regression Methods#@author: Peter Harrington#from numpy import *def loadDataSet(fileName):转载 2017-04-12 16:42:08 · 749 阅读 · 0 评论 -
机器学习实战(8):局部加强线性回归LWLR
w~=(X'WX)^(-1)*X'*Wy ; y~=X'*w~由平方误差对w求导=0推出。权重W高斯核函数、类似SVM的径向基函数的高斯形式,指数函数# coding=utf-8#Created on Jan 8, 2011#@author: Peterfrom numpy import *def loadDataSet(fileName): #gener原创 2017-04-09 21:52:30 · 1009 阅读 · 0 评论 -
机器学习实战(6):SVM-SMO-核函数 手写识别
SVM判断模型只与支持向量有关:# coding=utf-8#Created on Nov 4, 2010#Chapter 5 source file for Machine Learing in Action#@author: Peter##########简单的SMO程序####################################################转载 2017-04-09 13:41:39 · 1362 阅读 · 0 评论 -
机器学习:支持向量机SVM和人工神经网络ANN的比较
在统计学习理论中发展起来的支持向量机(Support Vector Machines, SVM)方法是一种新的通用学习方法,表现出理论和实践上的优势。SVM在非线性分类、函数逼近、模式识别等应用中有非常好的推广能力,摆脱了长期以来形成的从生物仿生学的角度构建学习机器的束缚。此外,基于SVM的快速迭代方法和相关的简化算法也得到发展。与神经网络相比,支持向量机方法具有更坚实的数学理论基础,可以有效地解转载 2017-03-29 21:56:51 · 34845 阅读 · 1 评论 -
概率论基本概念
1、随机试验T:同条件可重复进行,结果预知但不能确定。2、基本事件(样本点):随机试验的每一个可能结果,其集合(所有结果)构成样本空间。3、随机事件A:随机试验中,对一次试验而言,可能出现或者不出现的事情。为基本事件的集合,样本空间的子集。4、概率:随机事件出现可能性大小的数值。5、古典概型:结果有限,机会均等。6、古典概型中,事件A的概率P(A)=事件A包含的基本事件数/基本原创 2017-03-22 16:55:10 · 2039 阅读 · 0 评论 -
深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件
在求解最优化问题中,拉格朗日乘子法(Lagrange Multiplier)和KKT(Karush Kuhn Tucker)条件是两种最常用的方法。在有等式约束时使用拉格朗日乘子法,在有不等约束时使用KKT条件。 我们这里提到的最优化问题通常是指对于给定的某一函数,求其在指定作用域上的全局最小值(因为最小值与最大值可以很容易转化,即最大值问题可以转化成最小值问题)。提到KKT条件一般会附带的...原创 2017-04-06 16:35:14 · 111713 阅读 · 32 评论 -
非正交坐标系-模态正交的物理及几何意义
模态正交不是指模态向量正交,而是指模态向量关于质量矩阵与刚度矩阵正交,即 Ф(i)TMФ(j) =0Ф(i)TKФ(j) =0物理上表示一模态方向上的力无法影响另一模态方向上的位移及加速度等,故各模态能量独立,不存在能量流动。关于模态的几何意义见下图。 系统在主坐标系中绕主坐标轴做主运动,为轨迹在坐标轴上的投影 (非垂直投影)。原创 2017-03-28 20:20:07 · 4953 阅读 · 0 评论 -
核函数的充要条件-Mercer定理的证明
核函数的充要条件是K矩阵是半正定的。 将K特征值分解,有V'KV=∧,K=V∧V' 经特征映射将属性值映射到特征空间Ф:xi->sqrt(λ:)*Vi: (根号对角特征值阵*第i点对应的特征向量阵的第i行阵) 核函数K(x,z)对应于特征映射Ф的核函数=原创 2017-03-27 23:04:24 · 14892 阅读 · 2 评论 -
机器学习:利用核函数进行非线性分类
%Preceptron4.m%感知机算法(对偶形式)利用核函数完成分类算法%f(X)=W'*X+b%f([X;1])=[W;b]'*[X;1] 增加维数,简化计算%设W初始为0时,权重W是训练点的线性组合:W=Σaj*yj*Xj%类别yi决定了Xi的系数,ai>=0,正比于被误分后权重更新的次数,可看作Xi信息量的指示%误分判据 yi*((W'*Xi)+b)%%%%%%原创 2017-03-27 22:55:48 · 2462 阅读 · 0 评论 -
机器学习:空间变换进行非线性分类
%Preceptron3.m%感知机算法(对偶形式)%f(X)=W'*X+b%f([X;1])=[W;b]'*[X;1] 增加维数,简化计算%设W初始为0时,权重W是训练点的线性组合:W=Σaj*yj*Xj%类别yi决定了Xi的系数,ai>=0,正比于被误分后权重更新的次数,可看作Xi信息量的指示%误分判据 yi*((W'*Xi)+b)%%%%%%%%%%%%%%%%%原创 2017-03-27 22:09:54 · 1915 阅读 · 0 评论 -
决策树 熵
为了使决策树最优,哪一个属性将在树的根节点被测试?分类能力最好的属性被选作树的根结点的测试。采用不同测试属性及其先后顺序将会生成不同的决策树。定义一个统计属性,称为“信息增益”(information gain),用来衡量给定的属性区分训练样例的能力。度量信息增益的标准为“熵”(entropy)。信息量就是不确定性的多少,熵越大,信息的不确定性越大 熵代表一个系转载 2017-03-31 17:10:54 · 680 阅读 · 0 评论 -
机器学习-朴素贝叶斯分类
# coding=utf-8#朴素贝叶斯分类,P(ci|X)=P(X|ci)*P(ci)/P(X),因为P(X)与类无关,每个样本对各个类的概率一样。#假设各特征相互独立,对不同样本,可求P(X|ci)*P(ci)=P(X1|ci)P(X2|ci).。。P(Xn|ci)*P(ci)#概率大着即为其类#先根据所有样本,求特征条件概率P(X1|ci)P(X2|ci).。。P(Xn|ci)和分原创 2017-04-04 22:08:19 · 350 阅读 · 0 评论 -
TensorFlow 第一步 开门见山:Hello World!
TensorFlow最重要的数据类型 张量Tensor,可用numpy的array传入tf.Variable(),构建带初值的张量;也可用tf.convert_to_tensor()# coding=utf-8import os #os.environ["TF_CPP_MIN_LOG_LEVEL"]='1' # 这是默认的显示等级,显示所有信息 os.environ["TF_CP...原创 2018-09-01 21:02:49 · 234 阅读 · 0 评论 -
tensorflow出现 ImportError: DLL load failed: 找不到指定的程序
问题描述在pycharm中安装了tensorflow 1.8.0, 之后出现了如下问题:Traceback (most recent call last): File “D:/pyfile/word4/yy.py”, line 3, in import tensorflow as tf File “D:\pyfile\word4\venv\lib\site-packages\tens...转载 2018-09-01 18:32:22 · 26873 阅读 · 21 评论 -
机器学习实战:SVD图像压缩
# coding=utf-8from numpy import *from numpy import linalg as ladef printMat(inMat, thresh=0.8): for i in range(32): for k in range(32): if float(inMat[i,k]) > thresh转载 2017-04-24 14:11:45 · 1080 阅读 · 0 评论