
传统算法
文章平均质量分 52
传统算法学习
微电子学与固体电子学-俞驰
如切如磋,如琢如磨,臻于至善。
展开
-
leetcode学习常用网站
常用网站原创 2022-09-01 14:47:01 · 1293 阅读 · 0 评论 -
快速理解掌握指针
xxxxxxxxxxx原创 2022-09-01 14:19:42 · 203 阅读 · 0 评论 -
树的先序、中序、后序遍历
传统算法原创 2022-09-01 14:03:24 · 590 阅读 · 0 评论 -
“结构体名”和“结构体名是个指针”的区别
0000000000000000000原创 2022-09-01 13:32:52 · 777 阅读 · 0 评论 -
线性递归和尾递归
在数据结构与算法中,包括在做《剑指OFFER》的过程中,很多时候都会用到递归,之前对尾递归概念模模糊糊的,看了很多前辈写的博客,这里对其做点总结。1.递归:在计算机科学领域中,递归是通过递归函数来实现的,程序调用自身的编程技巧称为递归还是从简单的阶乘来理解:计算n!计算公式:n!=nx(n-1)x(n-2)......2x1;使用递归的方式定义为:2.线性递归:线性递归函数的最后一步操作不是递归操作,而是其他的操作,这样的递归方式称为线性递归。这里我可以看到线性递归的最后一步是n转载 2021-07-09 15:16:01 · 572 阅读 · 0 评论 -
递归方式-全排列生成算法
http://blog.youkuaiyun.com/xiazdong/article/details/7986015排列:从n个元素中任取m个元素,并按照一定的顺序进行排列,称为排列;全排列:当n==m时,称为全排列;比如:集合{ 1,2,3}的全排列为:{ 1 2 3}{ 1 3 2 }{ 2 1 3 }{ 2 3 1 }{ 3 2 1 }{ 3 1 2 }方法一:我们可以将这个排列问题画成图形表示,即排列枚举树,比如下图为{1,2,3}的排列枚举树.转载 2021-07-09 15:14:11 · 294 阅读 · 0 评论 -
laplace平滑
我们已经描述过的朴素贝叶斯算法能够很好地解决许多问题,但是有一个简单的改变使得它更好地工作,特别是对于文本分类。让我们简单地讨论算法在当前形式下的问题,然后讨论如何修复它。考虑垃圾邮件/电子邮件分类,让我们假设在完成CS229并完成了对项目的出色工作之后,您决定在2003年6月左右将您所做的工作提交给NIPS会议以供发表。因为您在电子邮件中最终讨论了会议,因此您还可以开始使用其中的“NIPS”...转载 2018-09-14 16:32:41 · 1017 阅读 · 0 评论 -
SVM和感知机的区别(转载+自己笔记)
感知机和SVM的区别:1、相同点都是属于监督学习的一种分类器(决策函数)。2、不同点感知机追求最大程度正确划分,最小化错误,效果类似紫线,很容易造成过拟合。支持向量机追求大致正确分类的同时,一定程度上避免过拟合,效果类似下图中的黑线。感知机使用的学习策略是梯度下降法,感知机的目标是:minw,bL(w,b)=−∑xi∈M⋅yi⋅(w⋅xi+b)min_{w,b}L(w,b)=-\sum...转载 2018-10-02 18:29:56 · 3821 阅读 · 0 评论 -
SVM入门(八)松弛变量(转)
转载地址:SVM入门(八)松弛变量现在我们已经把一个本来线性不可分的文本分类问题,通过映射到高维空间而变成了线性可分的。就像下图这样:圆形和方形的点各有成千上万个(毕竟,这就是我们训练集中文档的数量嘛,当然很大了)。现在想象我们有另一个训练集,只比原先这个训练集多了一篇文章,映射到高维空间以后(当然,也使用了相同的核函数),也就多了一个样本点,但是这个样本的位置是这样的:就是图中黄色那个点,...转载 2018-10-04 17:05:08 · 329 阅读 · 0 评论 -
svm硬间隔与软间隔(转)
硬间隔:完全分类准确,其损失函数不存在;其损失值为0;只要找出两个异类正中间的那个平面;软间隔:允许一定量的样本分类错误;优化函数包括两个部分,一部分是点到平面的间隔距离,一部分是误分类的损失个数;C是惩罚系数,误分类个数在优化函数中的权重值;权重值越大,误分类的损失惩罚的越厉害。误分类的损失函数可分为hinge损失,指数损失,对率损失。而经常使用的或者说默认的是使用了损失函数为hinge损失的软...转载 2018-10-04 17:05:53 · 1737 阅读 · 0 评论 -
次梯度(subgradient)
次导数设f在实数域上是一个凸函数,定义在数轴上的开区间内。这种函数不一定是处处可导的,例如绝对值函数f(x) = |x| 。对于下图来说,对于定义域中的任何x0,我们总可以作出一条直线,它通过点(x0, f(x0)),并且要么接触f的图像,要么在它的下方。直线(红线)的斜率称为函数的次导数。次导数的集合称为函数f在x0处的次微分。定义对于所有x,我们可以证明在点x_0 的次导数的集合...转载 2018-10-04 17:13:07 · 2447 阅读 · 0 评论 -
等式约束和不等式约束下的KKT条件求法
一、写在前面本篇内容主要写非线性规划等式约束和不等式约束下的KKT条件,主要通过举例说明。二、等式约束下的KKT条件1、 题目描述考虑等式约束的最小二乘问题minimizexTxsubject toAx=bminimize \quad x^Tx \\ subject \ to \quad Ax=bminimizexTxsubject toAx=b其中, A∈Rm∗n...转载 2018-10-04 17:26:17 · 5271 阅读 · 0 评论 -
机器学习实战第15章pegasos算法原理剖析以及伪代码和算法的对应关系
Pegasos原文是:http://www.ee.oulu.fi/research/imag/courses/Vedaldi/ShalevSiSr07.pdf还是挺长的,论文结构是:第1~6页:主要原理第7~15页:讲一些定理配合核函数使用的一些理论第16~26页:实验和参考文献对于急功近利的同学而言,这个博客就不要浪费时间看了,因为面试基本是用不到的。因为这是这本书的最后一章,本人...原创 2018-10-04 22:53:12 · 2773 阅读 · 0 评论 -
机器学习实战-第12章Fpgrowth代码勘误+递归打印效果分析
我们修改数据集,使用:《数据挖掘导论》中的数据集:def loadSimpDat(): simpDat = [['a', 'b'], ['b', 'c', 'd'], ['a', 'c', 'd', 'e'], ['a', 'd', 'e'], ...原创 2018-09-28 09:21:22 · 772 阅读 · 0 评论 -
FPgrwoth详解(转载+修改一处图片问题)
FP-growth算法,fpgrowth算法详解下面使用的最小支持度是2,也就是说最小等于2算达标,对应代码中则是>minSup=1使用FP-growth算法来高效发现频繁项集前言你用过搜索引擎挥发现这样一个功能:输入一个单词或者单词的一部分,搜索引擎酒会自动补全查询词项,用户甚至实现都不知道搜索引擎推荐的东西是否存在,反而会去查找推荐词项,比如在百度输入“为什么”开始查询时...转载 2018-09-28 15:14:44 · 489 阅读 · 0 评论 -
Adaboost算法原理分析和实例+代码(转载)
【尊重原创,转载请注明出处】 http://blog.youkuaiyun.com/guyuealian/article/details/70995333 本人最初了解AdaBoost算法着实是花了几天时间,才明白他的基本原理。也许是自己能力有限吧,很多资料也是看得懵懵懂懂。网上找了一下关于Adaboost算法原理分析,大都是你复制我,我摘抄你,反正我也搞不清谁是原创。有些资料给出的Adaboost实...转载 2018-09-11 09:19:05 · 501 阅读 · 0 评论 -
图表达相关书书籍调研
调研内容来自淘宝和亚马逊下面一部分是纯理论的:<Knowledge Graph and Semantic Computing,Language, Knowledge, and Intelligence>(纯理论)<Knowledge Graph and Semantic Computing,Semantic,Knowledge and Linked Big Data>(纯理论)...原创 2018-09-13 21:37:10 · 516 阅读 · 0 评论 -
深圳乐易网络有限公司机试题String to Integer (atoi)
面试官规定解法中不得使用long long和double等高级变量,否则AC不算数class Solution {public: int myAtoi(string str) { int size = str.size(); int i; for (i = 0; i < size && str[i] == ' '; i++);原创 2017-06-09 20:43:02 · 1982 阅读 · 0 评论 -
深入理解拉格朗日乘子法(Lagrange Multiplier) 和KKT条件(转)
关于鞍点的定义可以参考论文《鞍点定理在Lagrange乘数法上的应用》下面这篇文章的重点是是提到了鞍点 在学习之前,先说一些题外话,由于博主学习模式识别没多久,所以可能对许多问题还没有深入的认识和正确的理解,如有不妥,还望海涵,另请各路前辈不吝赐教。 好啦,我们开始学习吧。。 同样假设有样本集:由于线性不可分,所以 不会对每一个样本都满足,就是说肯定...转载 2018-09-07 21:30:58 · 1914 阅读 · 0 评论 -
SVM基本思想及入门学习(转载+自己解释为什么minL(w)变成minmaxL(a,w))
支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高维模式识别中表现出许多特有的优势,并能够推广应用到函数拟合等其他机器学习问题中[10]。支持向量机方法是建立在统计学习理论的VC 维理论和结构风险最小原理基础上的,根据有限的样本信息在模型的复杂性(即对特定训练样本的学习精度,Accuracy)和学习能力(即无错...转载 2018-09-07 21:36:59 · 1826 阅读 · 0 评论 -
决策树-熵计算-ID3算法(转)
今天,我来讲解的是决策树。对于决策树来说,主要有两种算法:ID3算法和C4.5算法。C4.5算法是对ID3算法的改进。今天主要先讲ID3算法,之后会讲C4.5算法和随机森林等。 Contents 1. 决策树的基本认识 2. ID3算法介绍 3. 信息熵与信息增益 4. ID3算法的C++实现 1. 决策树的基本认识...转载 2018-08-30 13:40:24 · 3403 阅读 · 0 评论 -
拉格朗日对偶(转)
1.原始问题假设是定义在上的连续可微函数(为什么要求连续可微呢,后面再说,这里不用多想),考虑约束最优化问题:称为约束最优化问题的原始问题。现在如果不考虑约束条件,原始问题就是:因为假设其连续可微,利用高中的知识,对求导数,然后令导数为0,就可解出最优解,很easy. 那么,问题来了(呵呵。。。),偏偏有约束条件,好烦啊,要是能想办法把约束条件去掉就好了,bingo! ...转载 2018-09-07 23:21:03 · 261 阅读 · 0 评论 -
Adaboost 算法的原理与推导(转载)
0 引言 一直想写Adaboost来着,但迟迟未能动笔。其算法思想虽然简单:听取多人意见,最后综合决策,但一般书上对其算法的流程描述实在是过于晦涩。昨日11月1日下午,在我组织的机器学习班 第8次课上讲决策树与Adaboost,其中,Adaboost讲得酣畅淋漓,讲完后,我知道,可以写本篇博客了。 无心啰嗦,本文结合机器学习班决策树与Adaboost 的PPT,跟邹讲Adabo...转载 2018-09-11 15:42:23 · 242 阅读 · 0 评论 -
用初中数学题理解SVM中不等式约束、拉格朗日乘子法、kkt条件、对偶
先把kkt条件列出来:注意上面照片中的a就相当于高等数学中的lambda原创 2018-09-08 13:56:43 · 1397 阅读 · 1 评论 -
线性回归原理和实现基本认识(转载)
下面知识对应<机器学习实战>第八章的8.1节一:介绍 定义:线性回归在假设特证满足线性关系,根据给定的训练数据训练一个模型,并用此模型进行预测。为了了解这个定义,我们先举个简单的例子;我们假设一个线性方程 Y=2x+1, x变量为商品的大小,y代表为销售量;当月份x =5时,我们就能根据线性模型预测出 y =11销量;对于上面的简单的例子来说,我们可以粗略把 y =...转载 2018-09-11 19:06:30 · 347 阅读 · 0 评论 -
局部加权线性回归函数公式推导(转载)
下面的推导对应<机器学习实战>第八章的P142页目标函数定义为:我们的目标是最小化cost function:换成线性代数的表述方式:是mxm维的对角矩阵注意这个地方对角线处,并不是指次数,而是指w的序号.是mxn维的输入矩阵是mx1维的结果是nx1维的参数向量令有既这里的θ就是书上的w权重定义为:...转载 2018-09-11 21:35:07 · 2362 阅读 · 0 评论 -
Logistic回归与梯度上升算法
下面大部分是转载的,加上自己的笔记在《机器学习实战》一书的第5章中讲到了Logistic用于二分类问题。书中只是给出梯度上升算法代码,但是并没有给出数学推导。故哪怕是简单的几行代码,依然难以理解。Logistic回归用于二分类问题,面对具体的二分类问题,比如明天是否会下雨。人们通常是估计,并没有十足的把握。因此用概率来表示再适合不过了。Logistic本质上是一个基于条件概率的判别模型...转载 2018-09-06 10:40:09 · 731 阅读 · 0 评论 -
岭回归原理公式推导
对应<机器学习实战>P146的岭回归公式另外注意:根据参考文献可知:Z is assumed to be standardized (mean 0, unit variance) (标准化)y is assumed to be centered(必须减去平均值)参考:https://arxiv.org/pdf/1509.09169.pdfhttp:...原创 2018-09-12 14:31:58 · 7242 阅读 · 7 评论 -
凸优化函数的一些概念(转)
没有系统学过数学优化,但是机器学习中又常用到这些工具和技巧,机器学习中最常见的优化当属凸优化了,这些可以参考Ng的教学资料:http://cs229.stanford.edu/section/cs229-cvxopt.pdf,从中我们可以大致了解到一些凸优化的概念,比如凸集,凸函数,凸优化问题,线性规划,二次规划,二次约束二次规划,半正定规划等,从而对凸优化问题有个初步的认识。以下是几个重要相关概...转载 2018-09-07 12:06:54 · 1018 阅读 · 0 评论 -
SVM推导过程及SMO详细求解过程(转载+自己笔记)
转载自:https://blog.youkuaiyun.com/xuanyuansen/article/details/41078461下面的tn是标签值这里稍微解释下,上面的|wx+b|/w是咋在处理的,其实就是让t|wx+b|=1,然后让w最小,那么|wx+b|/w就是最大的了但是显然,w最小的时候,|wx+b|中的w也是最小的,因为w在分子和分母中都是会一起变化的。所以,这里...转载 2018-09-07 14:01:30 · 860 阅读 · 0 评论 -
支持向量机的最大分类间隔(转)
SVM算法在在1995年正式发表,在针对中小型数据规模的分类任务上有着卓越的效果,同时有着完整的理论证明,在20世纪末的几年和21世纪初的10年完胜神经网络,吴恩达在其2003年的《Machien learning》公开课上用两节课的时间对其进行讲解,而神经网络讲解了20min左右。就是这个算法把神经网络按在地上摩擦了大概15年的时间,直到深度学习的兴起。但即便这样,现在SVM算法依旧被广泛的使用...转载 2018-09-07 14:48:47 · 1303 阅读 · 0 评论 -
红黑树 删除某节点后 旋转3次 举例
博客转自自己的新浪博客,属于自己原创下面对红黑树删除某节点后,旋转三次的例子做出详解:先利用代码建立树如下:修改颜色分布为下列树:修改颜色分布后,利用tree->insert(1);tree->remove(1);来判断是否是红黑树如果不是红黑树,在插入删除的过程中,会进入各个case,并有相关...原创 2017-04-28 11:15:23 · 3263 阅读 · 0 评论