算法学习心得

有关动态规划

【以下内容仅为本人在学习中的所感所想,本人水平有限目前尚处学习阶段,如有错误及不妥之处还请各位大佬指正,请谅解,谢谢!】 引言 通过目前参与的各类比赛和网友的面经,不难发现动态规划一直是各类竞赛和面试中的高频和难点,但其最优化的思想在生产生活中的各大领域都具有许多作用。撰写这篇随笔的目的既是为了自我 ... »

遗传算法学习心得

    最近在看遗传算法,查了很多资料,所以做了如下一些总结,也希望对后面研究的人有些帮助.因为初学GA,文中自己的见解,不一定全对,感兴趣的可以一起探讨. I 简介 基本概念 遗传算法(Genetic Algorithms, GA)是一类借鉴生物界自然选择和自然遗传机制的随机化搜索算法。 它模拟自然选择和自然遗传过程中发生的繁殖、交叉和基因突变现象,在每次迭代中都保留一组候选解,并按某种指标从解 »

《算法图解》第十一章学习心得

1、树 二叉查找树 (binary search tree),如下图 对于其中的每个节点,左子节点的值都比它小,而右子节点的值都比它大 (按字母表排序)。 假设你要查找Maggie。 为此, 你首先检查根节点。Maggie排在David的后面, 因此你往右边找。Maggie排在Manning前面, 因此你往左边找。终于找到了Maggie! 这几乎与二分查找一样! 在二叉查找树中查找节点时, »

BP网络中反向传播过程梯度下降算法的学习心得

梯度下降的公式 BP网络中更新权值的公式   当时一直不理解为什么要这样更新权值,后来了解到相关的梯度、方向导数等概念才逐渐清晰。 首先我们要清楚梯度是函数在此点变化最快的方向,但是三维空间函数z=f(x,y)的梯度为什么只有二维,咋能表示三维方向呢? 其实不然,因为本来就是表示二维方向,而不是三维,梯度只是表示自变量维度空间的方向。 如上图,我们要找最小值点,其实只是找(x,y)点,并不是一个 »

SURF算法学习心得 - 王大王

本文主要内容来自下面两篇博客:http://www.yongblog.com/archives/123.htmlhttp://www.cnblogs.com/blue-lg/archive/2012/ »

xiaowangba

《算法图解》第九章动态规划学习心得

1、背包问题 动态规划先解决子问题,再逐步解决大问题。每个动态规划都从一个网格开始,背包问题的网格如下: 网格最初是空的,动态规划就是逐步将网格填满。 吉他行 第一个单元格表示背包的容量为1磅。 吉他的重量也是1磅, 这意味着它能装入背包! 因此这个单元格包含吉他, 价值为1500美元。 来看下一个单元格,这个单元格表示背包的容量为2磅, 完全能够装下吉他!这行的其他的单元格也是如此,因为你目 »

Java学习心得之各种小算法

1、计算两个日期差多少天的方法,代码如下 1 /** 2 * 这个方法可以比较两个日期的相差天数。先输入小的日期 3 */ 4 private static void DateCha() { 5 Sc »

Lowp

(二)吴恩达-机器学习第二课学习心得-线性回归算法(Linear regression)

1.线性回归算法(Linear regression) 在监督学习中我们有一个数据集,这个数据集被称为训练集(Training set) m:训练样本的数目(有几组训练样本) x’s:输入变量,特征量,用x表示输入的特征 y’s:输出变量或目标变量(预测结果) (x,y):表示一个训练样本 (xi,yi):表第i个训练样本 h:表hypothesis(假设),表示一个函数 2.代价函数(Cos »

算法学习心得

最近学(复习?)了很多省选算法,先把心得写在这里,将来如果忘了拿来复习吧 一、树链剖分 树链剖分是处理一类在树的一条链上修改、查询最大/最小值/权值和的算法。效率nlog^2n,大概数据在3w到5w左右比较正常吧 树链剖分不支持导致树的形态发生改变的操作,比如插入/删除一条边 对于某一修改x到y路径上的东西操作,正常的模拟做法是先提出x和y的lca,然后一步一步往上走处理x到lca和y到lca的路 »

ID3算法学习心得

ID3(Examples, TargetAttribute, Attributes)/*   Examples:训练样本集  TargetAttribute:需要预测的目标属性  Attributes:目标属性之外的其他供学习决策树的属性列表*/ 若所有Examples的TargetAttribute值相同均为a, 则返回节点值为a的单节点树否则说明还需要根据其他属性进一步进行判断分析 若Att »

朴素贝叶斯算法学习心得

朴素贝叶斯模型发源于古典数学理论,有稳定的分类效率。 对缺失数据不太敏感,算法也比较简单,常用于文本分类。 分类准确度高,速度快。 朴素贝叶斯的模型是基于条件概率和联合概率为基础的。 求分类时,有个前提要求是 条件是独立的。 公式如下: w 为给定文档的特征值. 文档中的特征有很多(word1,word2,word3…) p(w)=p(word1)*p(word2)*p(word2…).这个值是固 »

数据结构与算法之美-学习心得系列一

本来打算贴上极客时间的目录图片,结果发现图片太长了。影响到阅读,何况我并不是为了宣传极客时间的专栏。 作为一名软件工程师,为什么要学习数据结构和算法?看到这个标题,我打算先不看文章,先自己反思一下。自己写程序多年,发现在做很多项目的时候被算法限制了自己的发挥,很多实现明明知道应该有更好的办法,但是就是无法写成代码。还有很多时候,看别人的源码也会一知半解,甚至要加上断点调试才知道整个实现逻辑。所以 »

《算法图解》第十章K最近邻算法学习心得

1、K最近邻 (k-nearest neighbours, KNN) 算法 问题:橙子还是柚子 ? 一般而言, 柚子更大、 更红。 这个水果又大又红, 因此很可能是柚子。但下面这样的水果呢? 一种办法是看它的邻居。 来看看离它最近的三个邻居。 在这三个邻居中, 橙子比柚子多, 因此这个水果很可能是橙子。这就是使用K最近邻 (k-nearest neighbours, KNN) 算法 »

Surf算法学习心得(二)——源码简析

(转载自千海之贝于2011年12月14日上传至360图书馆的文章,如有侵权私信联系删除) 说明:作为初学者,我对于源代码也只是简单的分析,开始和(一)中一样都叫做源码分析,后来感觉自己分析的质量不太好,还是都改为源码简析吧,结合起(一)及后面的心得来看估计效果会好点,呵呵。只是希望对于即将要学习Surf算法的人有一定的帮助就行!对于一些介绍得不对的地方,也希望各位大虾能过指出,相互交流,共 »

邓俊辉数据结构学习心得系列——如何正确衡量一个算法的好坏

数据结构这门课主要关注如何设计合理的数据结构和算法,来简化时间复杂度和空间复杂度。 想要科学的解决这样一个优化的问题,最核心的思想也是最基础的,就是要量化问题。这也是将数学运用在实际问题中的一个基石。量化复杂度,也可以称作为给复杂度建模。这个想法是最基础且重要的。正如用熵去量化信息的不确定性,不同的范数去量化不同情况下空间的大小。好的量化方式,可以用简单的方式去解决一般性问题,其重要性说到这里,不 »