ML/DL
文章平均质量分 61
随风而醒
我是个疯子,虽然我在服新药,但仍旧有幻觉
展开
-
机器学习实战-8预测数值型数据-回归
回归和分类是机器学习两个主要的类别,通常会在面试的时候,被询问这两者之间的区别。对于我,有时候我也无法说清,虽然我感觉我已经弄懂了,但是这里还是说一说自己的理解。首先,我们学过一本书《随机过程》,这里面讲到了马尔科夫链等,这是一种在时间、位置等有序列属性的数据,也就是说,这些说句不仅仅存在关系,而且存在一种序列上的前后关系,如时间、地理位置等。而分类一般核心不在于此。所以,回归问题就是一种序列预测问原创 2017-11-25 15:07:58 · 3361 阅读 · 0 评论 -
Tensorflow实战-8循环神经网络RNN
回顾之前学习的神经网络,无论是单层感知机,还是卷积神经网络亦或是深度神经网络,其实都有一个缺点:即预测值只和当前的输入有关或者说就是通过当前的值来预测状态结果,而不需要之前的值。但是对于时间等序列预测,比如天气预报,明天是否下雨不仅仅与今天的状态有关,还可能与之前几天甚至几十天的状态有关,因此这里就需要使用循环神经网络。卷积神经网络是在神经网络上加了一层卷积层,同样的道理,为了使用之前的序列,也需要原创 2017-12-15 11:59:49 · 1073 阅读 · 0 评论 -
集体智慧编程5-优化算法-爬山法、模拟退火、遗传算法
最优化算法的思想在于,我们往往并不需要得到最优解,而是得到一个近似最优解,来节省时间的开销。 * 随机算法 为了解决遍历引发的时间问题,有时候在没有严格要求的情况下,可以通过随机去一定的点,比较这些取的点数,总能找到一个近似最优解的情况。爬山算法 随机算法没有逻辑可寻,成本较低,但是效果较差。而爬山算法利用了数据的内在规律。就像爬山一样,为了,爬到上的最顶部,在到达一个点后...原创 2018-04-22 21:51:40 · 491 阅读 · 0 评论 -
遗传算法求解TSP问题
TSP问题(Travelling Salesman Problem)即旅行商问题,又译为旅行推销员问题、货郎担问题,是数学领域中著名问题之一。假设有一个旅行商人要拜访n个城市,他必须选择所要走的路径,路径的限制是每个城市只能拜访一次,而且最后要回到原来出发的城市。路径的选择目标是要求得的路径路程为所有路径之中的最小值。参考:用遗传算法求解TSP问题 相关博客由于网上的结果只有路径...原创 2018-04-23 12:02:27 · 709 阅读 · 0 评论 -
图算法-Prim、Kruskal、Dijkstra、Floyd、Bellman
现实生活中,我们常常遇到一些涉及到图的问题;比如一个视频网站如何分配网络服务器,才能使得资源成本最小化;几个城市之间要修路,如何规划才能使得成本最小。另外现在是五一,有几个城市路线规划,在考虑路费时间等因素条件下,如何规划旅游路线。这些的种种问题,都可以化为图规划问题。前两个即最小生成树问题,后面一个即最短路径问题。最小生成树 最小生成树,即对于一个加权图,如何规划路线,使得图中每...原创 2018-04-30 23:56:17 · 483 阅读 · 0 评论 -
智能优化算法-粒子群算法
以往的优化算法都是通过单一的节点来寻找最优值,比如对于爬山问题,我们总是预估一个人进行爬山,但是一个个体的力量是很小的。比如一个人很容易走到一个局部最优解,再也出不来;另外比如阿尔卑斯山和珠穆朗玛峰,如果一个人走到了阿尔卑斯山,即便他可以通过其他方式再到达珠穆朗玛峰,很显然,横跨欧亚大陆的距离太长了,浪费了不少时间。所以,如果是群体算法,一群人爬山,我可以让一部人去欧洲爬山,一部分人去亚洲,...原创 2018-05-01 14:14:29 · 834 阅读 · 1 评论 -
路径搜索算法-A星算法
A*算法的核心就是f(M)=g(M)+h(M),g(M)表示当前节点到初始节点的最短路径大小,h(M)表示当前节点到终止节点的可能路径大小(即虚拟的,如欧氏距离,曼哈顿距离等)。即不仅仅考虑当前节点到初始节点的最短路径,还要考虑离终点的距离。而一般的路径查找方法只会考虑当前节点到初始节点的路径两个关键集合open和close 简单一句话即:open 往close 插入元素...原创 2018-04-25 12:23:18 · 2314 阅读 · 0 评论 -
机器学习-激活函数总结
激活函数就相当于人体的神经元,它的主要作用就是对输入的信号进行转换,比如将疼痛转化为疼痛信号。但是疼痛的来源有很多种,也就是可能来自于很多的上一个层的神经细胞,比如敲打、拉扯、针刺等等,但是归根结底,它就是一个痛。但是为什么会存在这么多的激活函数?原因在于,当前的计算机并不能很好地模拟人体的神经元,比如,敲打可以加重疼痛,但是药物也可以缓解疼痛,但是对于Sigmoid函数,它的输出并不是以0...原创 2018-08-20 17:49:18 · 2320 阅读 · 0 评论 -
深度学习优化器Optimizer总结-tensorflow-1原理篇
单纯以算法为论,深度学习从业者的算法能力可能并不需要太大,因为很多时候,只需要构建合理的框架,直接使用框架是不需要太理解其中的算法的。但是我们还是需要知道其中的很多原理,以便增加自身的知识强度,而优化器可能正是深度学习的算法核心本文基本完全参考一下连接:原理简化讲解篇:https://morvanzhou.github.io/tutorials/machine-learning/ML-i...原创 2018-09-19 20:19:17 · 3211 阅读 · 1 评论 -
tensorflow-seq2seq知识点梳理
title: tensorflow-seq2seq知识点梳理tags: 新建,模板,小书匠grammar_cjkRuby: true接触python已有两年之久,零散地使用tensorflow也将近一年。但是是指今日,如果让我重新建立一个项目,我仍是无能为力。有时候,我会有一种感觉,python这种语言就像是一个无底洞,你永远不知道它在不同的场景中有多少不同的变化,更可怕的是,你无法知晓...原创 2018-09-27 17:35:15 · 978 阅读 · 0 评论 -
Seq2Seq模型
seq2seq模型即通过序列预测序列,但是相对于传统单一深度学习系统,如CNN或者RNN,这些模型的输入输出都是固定的长度,比如图像识别中图像的大小。但是对于机器翻译或者语音对话而言,由于输入的序列文本大小可变,预测输出也是可变的,因而这种单一的格式很难适应。因此提出了seq2seq模型,这是一种编解码架构模型(encoder-decoder)大体原理个人解释:对于输入序列,假设序列长...原创 2018-09-28 14:22:33 · 1461 阅读 · 0 评论 -
分类器的评价指标
分类器的评价指标主要作用是根据应用场景的不同,来评价不同的分类器性能。比如,癌症诊断中,宁可错判一个未患病患者,也不能遗漏一个真实癌症患者;食品检测中却不同,对于不合格的食品,尽可能的一个不漏。而对于一般的图像分类,就需要总和考虑,哪一方面判断错了都是不好的。分类矩阵:分类目标只有两类,计为正例(positive)和负(negtive):True positives(TP): 被正确...原创 2018-09-28 14:22:56 · 1883 阅读 · 0 评论 -
深度学习20-限制玻尔兹曼机RBM
title: 深度学习20-限制玻尔兹曼机RBMtags: 新建,模板,小书匠grammar_cjkRuby: true玻尔兹曼机来源于玻尔兹曼分布,而玻尔兹曼分布的创立者是路德维希·玻尔兹曼,这个原理来源于他首次将统计学用于研究热力学,即物质的状态概率和它对应的能量有关。比如,我们常用熵来形容物体的混乱程度,同时如果我们的定义足够好,任何物质其实都有它的一个“能量函数”,这个能量函数表...原创 2018-10-24 20:16:01 · 2605 阅读 · 0 评论 -
再学概率论-蒙特卡罗和拉斯维加斯
对于喜欢看片的人来说,拉斯维加斯是再熟悉不过了,这座以赌城闻名的城市几乎出现在很多的赌类电影中,而蒙特卡罗也是一个赌城。这里之所以和算法相关联,主要在于概率论最早的使用领地就是赌场之中,而蒙特卡罗算法和拉斯维加斯算法就是其中两种算法的核心原理。蒙特卡罗为了更加形象的说明两个算法的原理,我们先举一个例子,以防迷失在过多的公式之中。蒙特卡罗:假如你是一个赌徒,你经常去玩转轮盘游戏,轮盘有...原创 2018-10-24 20:16:47 · 1837 阅读 · 0 评论 -
机器学习实战-10k-means聚类
一句话总结,即将数据集分为k个类别。原理:1、首先选取k个初始点作为中心;然后遍历所有的点,对于每一个点,计算k个中心中到这个点距离最小的中心,然后将这个点划分到这个中心;3、当所有的点划分完毕,重新计算类别的计算中心(将均值作为中心),直到中心点不再变化。但是这种方式可能陷入局部最小解,为了克服这个缺陷,提出了二分k-means算法,这种方式类似于二分法。即先划分两类,然后,再将其中一类划...原创 2017-11-22 18:39:48 · 431 阅读 · 0 评论 -
机器学习实战-6支持向量机
在机器学习几大算法中,支持向量应该算是应用最广泛的,但是却也是理解最困难的。相对于其他的算法而言,这个算法的逻辑可能并不难难,难的是它的内部逻辑转换,如何转化求解最大超平面。其实最近我在想,机器学习有时候感觉理解起来并不太难,有时候相对于其他知识来说,比如电磁场,固体物理等,简直是最简单的,甚至感觉某些人把这个学科神话了。但是这句话我是说不出口的,因为我只是学了个皮毛。学了很多,却总是忘记,因此,在原创 2017-11-16 20:49:43 · 558 阅读 · 0 评论 -
caffe+Ubuntu64bit 环境配置说明(无CUDA,caffe在CPU下运行)
1.安装build-essentials 安装开发所需要的一些基本包sudo apt-get install build-essential如果出现essential包不可用的情况,可以执行下列命令sudo apt-get update2. 安装ATLAS for Ubuntu执行命令:sudo apt-get install libatlas-base-dev注:ATLAS, MKL,或Open原创 2017-03-19 17:35:32 · 609 阅读 · 0 评论 -
机器学习实战-3决策树
划分依据 决策树的主要依据为信息熵计算,信息熵最大的最为分类依据流程 创建数据集 –> 计算信息熵,最大值作为结点,划分子数据集 –> 递归寻找代码from math import logimport operator'''机器学习实战-第三章(决策树)'''# 创建数据集def createDataSet(): dataset = [ [1, 1, 'y原创 2017-09-15 14:38:25 · 667 阅读 · 0 评论 -
序列比对算法-计算生物学
1.序列比对指将两个或多个序列排列在一起,标明其相似之处。序列中可以插入间隔(通常用短横线“-”表示)。对应的相同或相似的符号(在核酸中是A, T(或U), C, G,在蛋白质中是氨基酸残基的单字母表示)排列在同一列上。这一方法常用于研究由共同祖先进化而来的序列,特别是如蛋白质序列或DNA序列等生物序列。进行相似度分析。 2.分类全局比对:将两个序列中的所有字符都进行依次比对,由于各方面的缺陷,原创 2017-10-08 14:59:23 · 10885 阅读 · 0 评论 -
激活函数、BP反向传播算法、三种梯度下降、softmax函数及其推导
激活函数的作用: 由于我们使用的神经网络分类器是线性方程,如w1x1+w2x2+…+wnxn + bi= 0,这种方程所划分的区域总是直线类似的/折线,这种划分不能很好的划分曲面形状,所以通过引入激活函数,这种激活函数不同于一次函数,它是一种曲线,由此划分出来的界限或者高维界面就是一种曲线或者曲面,能够更好的拟合分解。 参考文章:形象的解释神经网络激活函数的作用是什么? BP方向传播算法:原创 2017-10-03 16:43:53 · 4571 阅读 · 0 评论 -
Tensorflow实战Google-第五章mnist数字识别
import tensorflow as tffrom tensorflow.examples.tutorials.mnist import input_dataimport mnist_inferenceimport os# mnist_train.py# 主训练类,用于训练逻辑# 分片大小、基础学习率、衰减率、正则化率、训练次数、滑动平均衰减率BATCH_SIZE = 100LEA原创 2017-10-03 23:59:53 · 1686 阅读 · 0 评论 -
Tensorflow实战Google-第三章-简单神经网络
# 神经网络实现二分类问题tensorflowimport tensorflow as tffrom numpy.random import RandomState# 定义一个batch的大小batch_size = 8# 定义初始化权重参数,stddev标准偏差,seed随机种子# w1和w2分别表示第一列和第二列权重参数;这里的输入为2个参数x1+x2;隐藏层只有一层,有3个节点;#原创 2017-10-03 17:27:52 · 988 阅读 · 0 评论 -
Tensorflow实战Google-第四章深层神经网络知识点
1.深层神经网络的两个重要参数:多层和非线性非线性:相对于以往的神经网络,由于没有使用激活函数,构造出来的函数往往形如:w1x1+w2x2+…+wnxn + b = 0,很显然这种函数只能模拟线性分割。即只能通过直线来划分,一旦分割面是一个圆形,通过这种方式只能尽可能的得到一个多棱角保卫面,而不能拟合成圆形,存在很大的误差。细想一下,如果我们换一种权重作用方式,比如将w1x1换为x1^w1 或者原创 2017-10-04 19:21:08 · 1044 阅读 · 0 评论 -
机器学习实战-11关联分析Apriori算法-pytohn3
==感悟:这一章的理论很浅,浅到似乎只需要一个数学公式就能够表达。但是这一章却花费了我整整两天时间。有时候我在想,为什么总是有人很多人想得多做得少,理论很深却只会纸上谈兵。很长的一段时间我就是这种人,自以为智力还算可以,很多数学问题自认为很简单,看了很多书,学了很多知识,但真正向别人讲解时,却怎么也讲不清,其实最深处的原因,还是自身根本就没有熟练地理解其中的含义,有些东西并不是想当然的。其实会和熟差原创 2017-10-28 14:02:37 · 561 阅读 · 0 评论 -
机器学习实战-5Logistic回归
几个关键词:逻辑回归、极大似然估计、激活函数参考书籍:西瓜书P54,《统计学习方法》P77回归和分类的区别 回归是一种连续变量的预测,比如函数拟合,股票线等,人的年龄。分类的特征却不是连续变化的,比如西瓜的颜色是不能连续量化的线性回归举个例子,如果我们现在有两个未知数x1,x2,即特征值;一个输出变量y,即分类结果;我们需要求解一个方程w1x1+w2x2+b = y,来拟合这种曲线来预测之后的原创 2017-10-17 15:55:27 · 654 阅读 · 0 评论 -
机器学习实战-13利用PCA来简化数据
最近正在做一个语音分离的任务,其中有一个语音分离的方法叫做NMF,中文非负矩阵分解,即将矩阵表示为V=WH,m*n = m*r * r*n;其实这种矩阵分解的方式和本章的内容类似,也是对矩阵进行降维或者简化矩阵;其实有时候并不仅仅是降维,这种方式,也是一种变相提取特征值得过程,其中的W相当于特征向量组,H相当于特征的权重向量组。即PCA不仅仅对数据进行降维,降低了数据的运算量;同时也是一种提取特真的原创 2017-11-17 10:22:49 · 447 阅读 · 0 评论 -
机器学习实战-4朴素贝叶斯-python3
==这一章原理很简单,相关的知识到处都是,《数学之美》讲过,《统计学习方法》西瓜书都有详细的概述。但是就是一个简单的概率问题,如果真正遇到实际问题,却也并不是很好解决的。这其中往往是实际操作时往往和理论空想不同,数据的合理安排非常重要。贝叶斯的使用非常广泛,其实就目前而言,现实生活中很多的人工智能方面的处理其实就是用的贝叶斯,特别是对于商业数据的处理分析。比如搜索公司中的网页关联分析,社交软件中根据原创 2017-11-03 14:33:04 · 489 阅读 · 0 评论 -
机器学习实战-14利用SVD简化数据-改进推荐系统
虽然本章标题是SVD,但是感觉本章的内容核心却有点像是推荐系统,SVD的主要作用优化数据,简化运算。对于推荐系统,生活中处处都是,比如火热的网易云音乐,其中就是用到的因子推荐算法,记得我的第一篇博客就是从知乎上转载下来的;另外还有今日头条;其他的应用其实也有,但是自我感觉,这两个应用应该是最好的。记得最近俱乐部有一个网络订餐推荐系统的项目,而这正是书中所举的例子,作为一个推荐系统,其实饮食推荐系统和原创 2017-11-18 11:19:19 · 592 阅读 · 0 评论 -
五大常用算法——分治法,动态规划,回溯法,分支界限法,贪心算法
转载自:http://blog.csdn.net/yue7603835/article/details/78261194 相关课程学习连接:http://kjwy.5any.com/sfsjfx/other/kcjg/kcjg2.htm一句话总结: 1.分治法:常叫做分治递归法,通过将一个大的问题分解为一个个小问题来达到分而治之的思想。比如一个数组排序的例子,将数组排序分为上后两半部分进行排序,原创 2017-10-21 22:37:55 · 979 阅读 · 0 评论 -
机器学习实战-7AdaBoost提升算法
这一章的主要思想就是“三个臭皮匠赛一个诸葛亮”。一般而言,我们都是通过一个分类器进行分类,但是一个分类器可能会出现偶然误差错误,就像一个人总会出现失误一样。所以,我们学习多个不同的分类器,然后将这些分类器通过加上不同的权重组合起来,就形成了一种强大的集成分类器。而这其中,可以再次改进,对不同的分类器,分类效果不同的,权重也可能不同,这样,分类效果好的分类器能够得到更大的“投票权”前言元算法/集成原创 2017-11-05 23:02:57 · 453 阅读 · 0 评论