龙骑士 的blog

如何用TensorFlow训练和识别/分类自定义图片

很多正在入门或刚入门TensorFlow机器学习的同学希望能够通过自己指定图片源对模型进行训练,然后识别和分类自己指定的图片。但是,在TensorFlow官方入门教程中,并无明确给出如何把自定义数据输入训练模型的方法。现在,我们就参考官方入门课程《Deep MNIST for Experts》一节的内容(传送门:
https://www.tensorflow.org/get_started/mnist/pros ),介绍如何将自定义图片输入到TensorFlow的训练模型。

在《Deep MNISTfor Experts》一节的代码中,程序将TensorFlow自带的mnist图片数据集mnist.train.images作为训练输入,将mnist.test.images作为验证输入。当学习了该节内容后,我们会惊叹卷积神经网络的超高识别率,但对于刚开始学习TensorFlow的同学,内心可能会产生一个问号:如何将mnist数据集替换为自己指定的图片源?譬如,我要将图片源改为自己C盘里面的图片,应该怎么调整代码?

我们先看下该节课程中涉及到mnist图片调用的代码:

from tensorflow.examples.tutorials.mnist import input_data

机器学习中的相似性度量

在做分类时常常需要估算不同样本之间的相似性度量(Similarity Measurement),这时通常采用的方法就是计算样本间的“距离”(Distance)。采用什么样的方法计算距离是很讲究,甚至关系到分类的正确与否。

本文的目的就是对常用的相似性度量作一个总结。

1. 欧氏距离(Euclidean Distance)

欧氏距离是最易于理解的一种距离计算方法,源自欧氏空间中两点间的距离公式。

(1)二维平面上两点a(x1,y1)与b(x2,y2)间的欧氏距离:

机器学习中的相似性度量

(2)三维空间两点a(x1,y1,z1)与b(x2,y2,z2)间的欧氏距离:

自主移动机器人同时定位与地图创建(SLAM)方法概述

1. 引言:

机器人的研究越来越多的得到关注和投入,随着计算机技术和人工智能的发展,智能自主移动机器人成为机器人领域的一个重要研究方向和研究热点。移动机器人的定位和地图创建是自主移动机器人领域的热点研究问题。对于已知环境中的机器人自主定位和已知机器人位置的地图创建已经有了一些实用的解决方法。然而在很多环境中机器人不能利用全局定位系统进行定位,而且事先获取机器人工作环境的地图很困难,甚至是不可能的。这时机器人需要在自身位置不确定的条件下,在完全未知环境中创建地图,同时利用地图进行自主定位和导航。这就是移动机器人的同时定位与地图创建(SLAM) 问题,最先是由SmithSelf 和Cheeseman在1988年提出来的,被认为是实现真正全自主移动机器人的关键。

双足步行机器人的ZMP与CoP检测

机器人步态分为静态步行和动态步行。当机器人做静态步行运动时,身体的各个部分运动速度很小,机器人的整体稳定性较易控制。静态步行稳定性采用机器人的重心地面投影点(Center of Gravity,简称CoG)作为稳定性标准,这种判定方法适用于运动较为缓慢的情况。

深度学习—过拟合问题

1、过拟合问题

欠拟合:根本原因是特征维度过少,导致拟合的函数无法满足训练集,误差较大;
解决方法:增加特征维度;

过拟合:根本原因是特征维度过大,导致拟合的函数完美的预测训练集,但对新数据的预测结果差。
解决方法:(1)减少特征维度;(2)正则化,降低参数值。

减少过拟合总结

过拟合主要是有两个原因造成的:数据太少+模型太复杂
(1)获取更多数据 :从数据源头获取更多数据;数据增强(Data Augmentation)
(2)使用合适的模型:减少网络的层数、神经元个数等均可以限制网络的拟合能力;
(3)dropout
(3)正则化,在训练的时候限制权值变大;
(4)限制训练时间;通过评估测试;
(4)增加噪声 Noise: 输入时+权重上(高斯初始化)
(5)结合多种模型: Bagging用不同的模型拟合不同部分的训练集;Boosting只使用简单的神经网络;

2、正则方法主要有哪些?

机器学习中的优化算法

本文主要分机器学习和深度学习两部分介绍,介绍常用的优化算法。优化算法的重要性是不言而喻的,优化算法决定了损失函数的收敛速度,甚至是损失函数是否容易收敛,是否会收敛在最小值处(全局优化)。

1、梯度下降法  

梯度下降法可以说是机器学习中最常用的算法,当然在深度学习中也会使用。不过一般使用的都是梯度下降法的变体—小批量梯度下降法,因为在样本较大时使用全样本进行梯度下降时需要计算的梯度太多,导致计算量会非常大。考虑无约束优化问题minxf(x),其中f(x)是在RD上具有一阶连续偏导的函数。梯度下降法是一种迭代算法,选取合适的初值x(0),不断的迭代更新x的值,进行目标函数f(x) 的极小化,直至目标函数收敛。由于负梯度方向是使得函数值下降最快的方向,因此在迭代的每一步,以负梯度方向更新x 的值,从而达到减小函数值的目的。

假设第k次迭代值为x(k),则根据目标函数的性质,我们可以将f(x) 在x(k)的领域内进行一阶泰勒展开:

五个最热门的开源机器学习 JavaScript 框架

如果你是一位想要深入机器学习的 JavaScript 程序员或想成为一位使用 JavaScript 的机器学习专家,那么这些开源框架也许会吸引你。

工业机器的编程技术介绍

一、概述

当前机器人广泛应用于焊接、装配、搬运、喷漆及打磨等领域,任务的复杂程度不断增加,而用户对产品的质量、效率的追求越来越高。在这种形式下,机器人的编程方式、编程效率和质量显得越来越重要。降低编程的难度和工作量,提高编程效率,实现编程的自适应性,从而提高生产效率,是机器人编程技术发展的终极追求。

本文将就机器人编程技术的发展作一介绍,希望能给读者带来一些启发。

二、编程技术的发展及应用情况

对工业机器人来说,主要有三类编程方法:在线编程、离线编程以及自主编程三类。在当前机器人的应用中,手工示教仍然主宰着整个机器人焊接领域,离线编程适合于结构化焊接环境,但对于轨迹复杂的三维焊缝,手工示教不但费时而且也难以满足焊接精度要求,因此在视觉导引下由计算机控制机器人自主示教取代手工示教已成为发展趋势。

1. 示教编程技术

机器视觉基础

一、颜色

1.颜色模型

(1)RGB

RGB色彩模式是工业界的一种颜色标准,是通过对红(R)、绿(G)、蓝(B)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,RGB即是代表红、绿、蓝三个通道的颜色。

(2)HSV

HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. Smith在1978年创建的一种颜色空间, 也称六角锥体模型(Hexcone Model)。

这个模型中颜色的参数分别是:色调(H),饱和度(S),明度(V):

  •   色调H

用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色为180°,品红为300°;

  •   饱和度S

机器学习——特征工程基本流程

前言

特征是数据中抽取出来的对结果预测有用的信息,可以是文本或者数据。特征工程是使用专业背景知识和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程。过程包含了特征提取、特征构建、特征选择等模块。

特征工程的目的是筛选出更好的特征,获取更好的训练数据。因为好的特征具有更强的灵活性,可以用简单的模型做训练,更可以得到优秀的结果。“工欲善其事,必先利其器”,特征工程可以理解为利其器的过程。互联网公司里大部分复杂的模型都是极少数的数据科学家在做,大多数工程师们做的事情基本是在数据仓库里搬砖,不断地数据清洗,再一个是分析业务不断地找特征。 例如,某广告部门的数据挖掘工程师,2周内可以完成一次特征迭代,一个月左右可以完成模型的小优化,来提升auc。

1. 数据采集 / 清洗 / 采样

数据采集:数据采集前需要明确采集哪些数据,一般的思路为:哪些数据对最后的结果预测有帮助?数据我们能够采集到吗?线上实时计算的时候获取是否快捷?

同步内容
--电子创新网--
粤ICP备12070055号