【郑捷《机器学习算法原理与编程实践》学习笔记(第四章 推荐系统原理)(二)kmeans】教程文章相关的互联网学习教程文章

java学习笔记——平衡二叉树(AVL算法)【图】

目录 平衡二叉树AVL树的左旋转AVL树的右旋转AVL树的双旋转 平衡二叉树 平衡二叉树是对二叉排序树的一种改进二叉排序树:二叉树中的任何一个节点,它的左子树中所有的节点都比该节点要小,它的右子树中所有的节点都比该节点要大。(注意二叉排序树中应尽量避免重复的值,如果有重复的值,可以选择不插入,或者添加一个属性记录该值出现的次数,否则查找和删除的时候回出现麻烦)对于排序二叉树而言,如果输入的数组是一个有序的数列...

算法导论 学习笔记 第二章 算法基础【代码】【图】

使用插入排序解决以下排序问题: 输入:n个数的一个序列<a1, a2, … , an>。 输出:输入序列的一个排列<a1’, a2’, …, an’>,满足a1’<=a2’<=…<=an’。 我们希望排序的数也称为关键词,虽然概念上我们在排序一个序列,但输入是以n个元素的数组形式出现的。 伪代码中,我们使用最清晰、最简洁的表示方式说明给定的算法,有时最清晰的表达方式是英语,伪代码通常不关心软件工程的问题,为了更简洁地表达算法地本质,常常忽略数据...

java学习笔记——赫夫曼树(最优二叉树)【代码】【图】

目录 赫夫曼树的定义与赫夫曼树相关的几个重要概念构成赫夫曼树的步骤代码实现赫夫曼树的定义 给定n个权值作为n个叶子节点,构建一个二叉树,若该树的带权路径长度(wpl - weight path length)赫夫曼树是带权路径长度最短的树,权值较大的节点离根较近 与赫夫曼树相关的几个重要概念 路径:在一棵树中,从一个节点往下可以达到的孩子或孙子节点之间的通路,称为路径路径长度:通路中分支的数目称为路径长度。第 n 层的节点到第 m ...

算法学习笔记1:畸变矫正算法【代码】【图】

以下代码均在win10+VS2015+OpenCV4.5环境下编译 相机在进行拍照时,由于客观原因,经常会导致图片不正,图片畸形,进而影响后期图像处理的效果,因此需要对图像进行矫正处理。 以下为检测代码: #include<opencv2/opencv.hpp> #include<iostream>using namespace std; using namespace cv;int i = 1; struct userdata {Mat im;vector<Point2f> points; };void mouseHandle(int event, int x, int y, int flags, void* ptr) {if (ev...

压缩感知重构算法综述-学习笔记【图】

论文信息:李珅,马彩文,李艳,陈萍.压缩感知重构算法综述[J].红外与激光工程,2013,42(S1):225-232. 目录 文章工作: 问题一:压缩感知涉及三个比较重要的层面 问题二:压缩感知理论简介 (一)基本思想 (二)压缩感知采样过程 问题三:压缩感知重构算研究 1、第一类:贪婪迭代算法; 2、第二类:凸优化算法或最优化逼近方法; 3、第三类:基于贝叶斯框架提出的重构算法; 4、其他算法 问题四:L1范数凸优化算法 问题五:贪婪算法 ...

机器学习笔记(通俗易懂)---决策树算法介绍(6)---附完整代码【代码】【图】

机器学习笔记—决策树算法介绍(6)—附完整代码 以下都是本人在学习机器学习过程中的一些心得和笔记,仅供参考。文章目录 机器学习笔记---决策树算法介绍(6)---附完整代码1.构造决策树2.控制决策树的复杂度3.分析决策树4.树的特征重要性5.优缺点和参数5.优缺点和参数 决策树是广泛用于分类和回归任务的模型。本质上,它从一层层的if/else问题中进行学习,并且得出结论! 如果你要区分四种动物:熊、鹰、企鹅和海豚,可以转换成一颗决...

python学习笔记_第 32天(归并排序)【代码】【图】

归并排序 归并排序是采用分治法的一个非常典型的应用。归并排序的思想就是先递归分解数组,再合并数组。 将数组分解最小之后,依次合并两个有序数组。基本思路是比较两个数组的最前面的数,谁小就先取谁,取了后相应的指针就往后移一位;然后再比较,直至一个数组为空,最后把另一个数组的剩余部分追加。 归并排序的分析 快速排序传入本身列表,通过控制操作范围达成排序目的 归并排序则传入原序列切片后生成的新的子序列 def merg...

漫画算法-学习笔记(02)【代码】

漫画算法-小灰的算法之旅(02) 文章目录 漫画算法-小灰的算法之旅(02)@[toc]1. 什么是数组2. 数组的基本操作读取元素更新元素插入元素删除元素 3. 数组的优势和劣势1. 什么是数组数组(array):是有限个相同类型的变量所组成的有序集合,数组中的每一个变量被称为元素。数组是最为简单、最为常用的数据结构。 数组的特点:在内存中顺序存储,因此可以很好的地实现逻辑上的顺序表。 内存是由一个个连续的内存单元组成的,每一个内存...

机器学习算法进阶学习笔记——回归算法

机器学习算法进阶学习笔记——回归算法 线性回归最大似然估计MLE高斯对数似然与最小二乘θ\thetaθ的解析式的求解过程最小二乘法意义下的参数最优解正则与防止过拟合Moore-Penrose广义逆矩阵(伪逆)SVD计算矩阵的广义逆 梯度下降法梯度方向Logistic回归Logistic回归参数估计Logistic回归参数的学习规则:线性回归 最大似然估计MLE y(i)=θTx(i)+ε(i)y^{(i)}=\theta^{T} x^{(i)}+\varepsilon^{(i)}y(i)=θTx(i)+ε(i) p(?(i))=12πσ...

《数据结构与算法分析》学习笔记-第十章-算法设计技巧【代码】

目录10.1 贪婪算法10.1.1 调度问题10.1.1.1 单处理器10.1.1.2 多处理器10.1.2 Huffman编码哈夫曼算法10.1.3 近似装箱问题10.1.3.1 联机算法1. 下项适合算法2. 首次适合算法3. 最佳适合算法10.1.3.2 脱机算法10.2 分治算法10.2.1 分治算法的运行时间10.2.2 最近点问题10.2.3 选择问题10.2.4 一些运算问题的理论改进10.2.4.1 整数相乘10.2.4.2 矩阵乘法10.3 动态规划10.3.1 用一个表代替递归10.3.2 矩阵乘法的顺序安排10.3.3 最优二叉...

python学习笔记_第30天(冒泡排序+选择排序)【代码】【图】

文章目录 排序算法的稳定性冒泡排序冒泡排序的分析时间复杂度冒泡排序代码优化 选择排序选择排序分析时间复杂度排序算法的稳定性 稳定排序算法会让原本有相等键值的纪录维持相对次序。也就是如果一个排序算法是稳定的,当有两个相等键值的纪录R和S,且在原本的列表中R出现在S之前,在排序过的列表中R也将会是在S之前。 (4, 1) (3, 1) (3, 7)(5, 6)在这个状况下,有可能产生两种不同的结果,一个是让相等键值的纪录维持相对的次...

《数据结构与算法分析》学习笔记-第七章-排序【代码】

目录插入排序希尔排序堆排序归并排序快速排序实现原理选择枢纽元分割策略小数组实际的快速排序例程选择的线性期望时间算法大型结构的排序排序的一般下界决策树桶式排序外部排序外部排序模型简单算法多路合并多相合并替换选择总结参考文献插入排序插入排序由N-1趟排序组成,对于P=1趟到P=N-1趟,插入排序保证从位置0到位置P上的元素为已排序状态 基本有序或者规模较小时十分高效void InsertSort(int inputArray[], int arrayNum) {i...

【算法图解】学习笔记【代码】

一 、算法简介 1.1 二分查找对于包含n个元素的列表,用二分查找最多需要log2n步,而简单查找最多需要n步 仅当列表是有序的时候,二分查找才管用 代码实现: def binary_search(list, item):low = 0high = len(list) - 1while low <= high:mid = (low + high)guess = list[mid]if guess == item:return midif guess > item:high = mid - 1else:low = mid + 1return Nonemy_list = [1, 3, 5, 7, 9]print(binary_search(my_list, 3)...

数据结构与算法学习笔记——树 C++实现【代码】【图】

数据结构与算法学习笔记——树 C++实现 1 特点2 遍历的方法前序遍历后序遍历层序遍历 3 实现 1 特点 树形结构,每个结点(除了根结点)具有唯一的前驱,可以有多个后继 树是递归定义的:一个非空的树,有一个根结点、以及0个或若干个非空子树,子树与根结点由一条边相连(子树中又有自己的根结点并可以有子结点、甚至子树的子树) 由于树是递归定义的,因此树的建立、删除、遍历以及后面BST ADT的一些操作都可以用遍历的方式实现 关...

Open CV系列学习笔记(二十三)分水岭算法2021-02-15【代码】【图】

Open CV系列学习笔记(二十三)分水岭算法 分水岭算法 所谓分水岭算法有好多种实现算法,拓扑学,形态学,浸水模拟和降水模拟等方式。分水岭算法(Watershed Algorithm),是根据分水岭的构成来考虑图像的分割。现实中我们可以或者说可以想象有山有湖的景象,那么那一定是水绕山,山围水的情形。当然在需要的时候,要人工构筑分水岭,以防集水盆之间的互相穿透。而区分高山(plateaus)与水的界线,以及湖与湖之间的间隔或 都是连通的...