图像的卷积和池化操作
卷积分为连续函数卷积及离散函数卷积,因为我们实际工作中多数情况下是数字化的场景,所以我们需要离散域的卷积操作。对于两个离散函数f和g,卷积运算是将连续函数的积分操作转换为等效求和: 对于图像而言,它属于二维数据,那么它对应的就是2D函数,我们可以通过一个过滤器来过滤图像,这个过…
看图轻松理解并查集
让机器玩游戏的强化学习(附github)
强化学习是代理面临的学习问题,它通过与动态环境反复交互试验从而学习到某种行为。它是机器学习的主要学习方法之一,智能体从环境到行为的学习,也就是如何在环境中采取一些列行为,才能使得回报信号函数的值最大,即获得的累积回报最大。 现在强化学习与深度学习结合的深度强化学习更加强大。 在…
图论广度优先搜索
一个例子了解迁移学习
对于传统机器学习而言,要求训练样本与测试样本满足独立同分布,而且必须要有足够多的训练样本。而迁移学习能把一个领域(即源领域)的知识,迁移到另外一个领域(即目标领域),目标领域往往只有少量有标签样本,使得目标领域能够取得更好的学习效果。 样本迁移,在源领域中找出与目标领域相似的样…
看图轻松理解最小(大)堆
可视化探索卷积神经网络提取特征
卷积神经网络的发展主要是为了解决人类视觉问题,不过现在其它方向也都会使用。发展历程主要从Lenet5->Alexnet->VGG->GooLenet->ResNet等。 传统BP神经网络层与层之间都是全连接的,对于图像处理领域,当神经网络处理大图像时,全连接会导致待训练的参数非…
图论最小生成树
聊聊从脑神经到神经网络
神经网络能解决非线性的复杂的模型问题,而且通过增加网络的层数将具备更加强大的学习能力,另外如果再改造改造层的结构则变成各类深度学习模型,例如CNN RNN之类的。 神经网络一般被用来捕捉复杂情况下的特征,比如说视频图像中的动物类别、一名作家的写作风格等等。 人脑可能有1000多…
图论深度优先搜索
隐马尔可夫分词
虽然目前 nlp 很多任务已经发展到了使用深度学习的循环神经网络模型和注意力模型,但传统的模型咱们也一样要了解。这里看下如何使用隐马尔科夫模型(HMM)进行分词。 隐马尔科夫模型是一种有向图模型,图模型能清晰表达变量相关关系的概率,常见的图模型还有条件随机场,节点表示变量,节点…
看图轻松理解桶排序
聊聊机器学习的套路
这里说说机器学习问题分析的一般性过程,尽管存在各种各样的机器学习问题,但大体上的步骤及最佳实践都有一定的套路。 以上等等等等。 待收集的数据可能是表格数据、一串实时数据,N维矩阵或其他类型数据,同时也可能是多种存储介质,通过ETL处理将混合的数据源转成我们需要的格式,生成结构化…
图论动态规划算法——Floyd最短路径
推出一个新系列,《看图轻松理解数据结构和算法》,主要使用图片来描述常见的数据结构和算法,轻松阅读并理解掌握。本系列包括各种堆、各种队列、各种列表、各种树、各种图、各种排序等等几十篇的样子。 Floyd是一种经典的多源最短路径算法,它通过动态规划的思想来寻找给定加权图中的多源点之…
如何从大量数据中找出异常值
机器学习中数据预处理阶段,首先要考虑的就是将数据集中的异常值找出来,然后再做额外处理。当然,异常值的处理并不存在什么银弹,只能具体情况具体分析再根据效果选择处理方法。 看看数据集直方图也许能看出点端倪,比如下面这个图,下方的是原始数据集,上面的是对应直方图,可以看到大多数都分布…
看图轻松理解数据结构与算法系列(Radix树)
JDK并发AQS系列(五)
鉴于自旋锁的不足,Craig,Landin,Hagersten发明了CLH锁。而在CLH锁核心思想的影响下,Java并发包的基础框架AQS以CLH锁作为基础而设计,其中主要是考虑到CLH锁更容易实现取消与超时功能。 节点的结构与节点等待机制。在结构上引入了头结点和尾节点,他们分…
看图轻松理解数据结构与算法系列(快速排序)
JDK并发AQS系列(四)
前面说到用自旋方式来获取锁,能有效避免线程挂起和恢复。但它也有不足之处: 仅适用于占用时间短、颗粒度很小的情景。 需要硬件级别的原子操作。 它无法保证公平性。 每次读写操作需要同步每个处理器的缓存。 鉴于自旋锁的不足,Craig,Landin, Hagersten发明了CLH锁…
看图轻松理解数据结构与算法系列(红黑树)