首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

算法】SVD算法

2 SVD算法与PCA算法有什么关联? 3 SVD算法有什么应用? 4 SVD算法如何优化?...前言 奇异值分解(Singular Value Decomposition,简称SVD)是在机器学习领域广泛应用的算法,它不光可以用于降维算法中的特征分解,还可以用于推荐系统,以及自然语言处理等领域,是很多机器学习算法的基石...本文就对SVD的原理做一个总结,并讨论在在PCA降维算法中是如何运用运用SVD的。...也可以用于推荐算法,将用户和喜好对应的矩阵做特征分解,进而得到隐含的用户需求来做推荐。同时也可以用于NLP中的算法,比如潜在语义索引(LSI)。...SVD小结 SVD作为一个很基本的算法,在很多机器学习算法中都有它的身影,特别是在现在的大数据时代,由于SVD可以实现并行化,因此更是大展身手。

1.5K121

算法】Adaboost 算法

小编邀请您,先思考: 1 Adaboost算法的原理是什么 ? 2 Adaboost算法如何实现?...是一个加法模型,而Adaboost算法其实是前向分步算法的特例。那么问题来了,什么是加法模型,什么又是前向分步算法呢? 3.1 加法模型和前向分步算法 如下图所示的便是一个加法模型 ?...这个优化方法便就是所谓的前向分步算法。 下面,咱们来具体看下前向分步算法算法流程: 输入:训练数据集 ? 损失函数: ? 基函数集: ? 输出:加法模型 ?...3.2 前向分步算法与Adaboost的关系 在上文第2节最后,我们说Adaboost 还有另外一种理解,即可以认为其模型是加法模型、损失函数为指数函数、学习算法为前向分步算法的二类分类学习方法。...前向分步算法逐一学习基函数的过程,与Adaboost算法逐一学习各个基本分类器的过程一致。 下面,咱们便来证明:当前向分步算法的损失函数是指数损失函数 ?

2K140

算法】查找算法

查找算法 查找的定义 查找:又称检索或查询,是指在查找表中找出满足一定条件的结点或记录对应的操作。...查找效率:查找算法中的基本运算是通过记录的关键字与给定值进行比较,所以查找的效率通常取决于比较所花的时间,而时间取决于比较的次数。通常以关键字与给定值进行比较的记录个数的平均值来计算。...数组是特殊的块索引(一个块一个元素): [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xDbRyWBM-1635489015712)(查找算法.assets/image-...[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6LawbrgF-1635489015715)(查找算法.assets/image-20211028180620292.png...)] 分块查找的算法分两步进行,首先确定所查找的节点属于哪一块,即在索引表中查找其所在的块,然后在块内查找待查询的数据。

42420

算法】GBDT算法

小编邀请您,先思考: 1 GBDT算法的原理是什么? 2 GBDT算法如何做正则化处理?...GBDT在BAT大厂中也有广泛的应用,假如要选择3个最重要的机器学习算法的话,个人认为GBDT应该占一席之地。...分类算法 GBDT的分类算法从思想上和GBDT的回归算法没有区别,但是由于样本输出不是连续的值,而是离散的类别,导致我们无法直接从输出类别去拟合类别输出的误差。...除了负梯度计算和叶子节点的最佳残差拟合的线性搜索,二元GBDT分类和GBDT回归算法过程相同。 多元分类算法 多元GBDT要比二元GBDT复杂一些,对应的是多元逻辑回归和二元逻辑回归的复杂度差别。...由于GBDT的卓越性能,只要是研究机器学习都应该掌握这个算法,包括背后的原理和应用调参方法。目前GBDT的算法比较好的库是xgboost。当然scikit-learn也可以。

1.2K80

算法——递推算法

递推算法是一种简单的算法,即通过已知条件,利用特定关系得出中间推论,直至得到结果的算法。 递推算法分为顺推和逆推两种。...相对于递归算法,递推算法免除了数据进出栈的过程,也就是说,不需要函数不断的向边界值靠拢,而直接从边界出发,直到求出函数值....,它的作用不能忽视.所以,在把握这两种算法的时候应该特别注意。...\n",fn);  //输出结果    return 0; } java递归算法分析 递归算法分析:就是把复杂的问题分解为若干个相对简单的子问题,一直分解下去,直到子问题有答案为止,也就是说到了递推的出口...递归算法要注意的两点:       (1) 递归就是在方法里调用自己;       (2) 在使用递归算法时,必须要有一个明确的递归结束条件,称为递归出口。

1.6K80

JavaScript算法-排序算法

ary, i, j) { var temp = ary[i]; ary[i] = ary[j]; ary[j] = temp; } 冒泡排序 之所以称为冒泡排序是因为使用这种排序算法时...冒泡排序算法的运作如下:(从小到大) 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。...对被间隔的每组元素使用直接插入排序算法排序;随着间隔序列中的数逐渐减小,每组包含的元素越来越多,当间隔减至1时,整个文件恰被分成一组,算法便终止。...希尔排序算法说明: 先取一个小于n的整数d1作为第一个间隔,把文件的全部记录分组。所有距离为d1的倍数的记录放在同一个组中。...总结 冒泡排序、选择排序、插入排序为基本排序算法,希尔排序、归并排序(迭代)、快速排序为高级排序算法: 排序算法 时间复杂度 是否稳定排序 100条所耗时间 10000条所耗时间 100000条所耗时间

46820

算法打败算法

经常有读者问我学算法有什么用,我觉得算法是一种抽象的思维能力。现实中的很多问题只要稍加抽象,就能联想到算法题中的编程技巧,然后得心应手地解决它们。...就比如说我的刷题三件套吧,从去年年底到目前已经有 20 多万次的下载: 这套 PDF 教程里不仅沉淀了我这些年学算法的心得体会,而且还把算法的思维运用到了制作过程中。...本文简单介绍一下我制作教程以及插件时用到的算法,看看算法如何辅助大家更顺畅地学习。...我们可以用简单直接的方法,不过既然是一套算法教程,那当然要秀一下算法技巧喽。所以这里可以用前文 数组双指针技巧 中的快慢指针进行数组的原地去重。...但由于目录包含章节、小节、文章等多个层级,需要一个算法来为章节名、小节名、题目名生成正确的缩进。

32810

算法算法分析

一、什么叫算法 算法(Algorithm):是对特定问题求解方法或步骤的一种描述。...一个计算机程序是对一个算法使用某种程序设计语言的具体实现。 算法一般具有以下五个特性: 1、输入:一个算法有零个或多个输入,这些输入取自于某个特定的对象集合。...二、什么叫好算法 评价一个好的算法有以下几个标准: 正确性(Correctness):算法应满足具体问题的需求。...通用性(Generality):算法应具有一般性 ,即算法的处理结果对于一般的数据集合都成立。 效率与存储空间需求:效率指的是算法执行的时间;存储空间需求指算法执行过程中所需要的最大存储空间。...三、算法的时间复杂度 算法中基本操作重复执行的次数是问题规模n的某个函数,其时间量度记作:T(n)=O(f(n)),称作算法的渐近时间复杂度(Asymptotic Time complexity),简称时间复杂度

87920

算法-排序算法总结

,没有最好与最差情况的区别,时间复杂度都是O(n^2),对于改进冒泡排序算法,最好的情况是本来有序,此时时间复杂度为O(n),最差的情况是逆序,此时时间复杂度为O(n^2)。...空间复杂度: O(1) 稳定性: 稳定 希尔排序 希尔排序是第一个突破排序时间复杂度O(n^2)d的算法,又称缩小增量排序法。...,归并排序三种算法中唯一稳定的一个。...堆排序 堆排序是指利用堆积树(堆)这种数据结构所设计的一种排序算法,它是选择排序的一种。所以在理解堆排序之前,要了解堆的概念: 堆分为大根堆和小根堆,是完全二叉树。...所有排序算法中用的最多的是堆排序,快速排序与归并排序,在这三种算法中: 如果从空间复杂度来考虑的话,首选堆排序,其次是快速排序,最后是归并排序。 如果从稳定性考虑,选择归并排序(稳定)。

863100
领券