摘要: 朴素贝叶斯(Naive Bayes)是基于贝叶斯定理与特征条件独立假设的分类方法。即对于给定的训练数据,首先基于特征条件独立假设学习输入输出联合概率分布,然后基于此模型,对给定输入的x,利用贝叶斯定理输出最大的后验概率y。 假设输入空间X,对应的输出空间Y为标记集合,而且在这些数据集中先验分布概率为 阅读全文
posted @ 2019-11-03 23:28 lincoding` 阅读(227) 评论(0) 推荐(0) 编辑
摘要: k近邻算法(k-nearest neighbor,k-NN)是一种基本分类与回归方法。对新的输入实例,在给定的训练数据集中找到与这实例最邻近的k个实例。然后根据决策规则(如多数服从少数)决定这新输入实例点的类别。 本k临近模型的三个基本要素--距离度量、k值的选择和分类决策规则的决定。 1. 距离度 阅读全文
posted @ 2019-11-03 23:09 lincoding` 阅读(443) 评论(0) 推荐(0) 编辑
摘要: 1. 概论 统计学习是基于计算机基于数据构建概率统计模型并将其用于分析和预测。 监督学习、无监督学习、强化学习等是统计学习或机器学习的基本分类。 监督学习的本质是学习输入到输出的映射的统计规律。 无监督学习的本质是学习数据种的统计规律或潜在结构。 而强化学习的本质则是学习最优的序贯决策。 统计学习方 阅读全文
posted @ 2019-11-03 23:07 lincoding` 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 隐马尔可夫模型(Hidden Markov Model,HHM),作为一种统计模型,描述了含有隐含未知数的马尔可夫过程。其难点是从可观察的参数中确定该过程的隐含参数。 用一个掷骰子的例子来引入隐马尔可夫模型。 假设现有三种不同的骰子,第一种是四面体(称这个骰子为D4),可掷出1,2,3,4这4个数值 阅读全文
posted @ 2019-09-07 16:51 lincoding` 阅读(1434) 评论(0) 推荐(0) 编辑
摘要: 三.treap树 Treap树是把BST和Heap结合起来了,即具有BST的性质又利用堆维持树的平衡。因此树的节点需要储存一个优先级项(优先级具有随机性,在节点创立时生成)来维持堆的属性。 Treap树同样有查找、插入和删除操作。它插入和删除的期望时间为O(logN),但查找的时间却同查找非平衡二叉 阅读全文
posted @ 2019-07-06 10:38 lincoding` 阅读(415) 评论(0) 推荐(0) 编辑
摘要: 一.自顶向下伸展树 伸展树考虑到局部性原理,为使整个查找时间更小,将被频繁查找的节点调整到根部,即通过不断改变树的结构,从而使其的操作保持了O(logN)的摊还时间界。 伸展树的单旋转、一字形旋转和之字形旋转的旋转示意图如下, 图1-1 伸展树的单旋转、一字形旋转和之字形旋转的展开旋转示意图 在执行 阅读全文
posted @ 2019-07-06 10:31 lincoding` 阅读(1146) 评论(0) 推荐(0) 编辑
摘要: 算法设计常见的5种基本技巧,有贪婪算法、分治算法、动态规划、随机化算法和回溯算法。 一.贪婪算法 虽然每次的选择都是局部最优,当在算法结束的时候,其期望是全局最优才是正确的。不过有时,在不同条件与要求下时,最优解的答案可能不止有一个或不一样,而贪婪算法也可以得出一个近似的答案。 1.多处理器作业调度 阅读全文
posted @ 2019-06-01 21:18 lincoding` 阅读(7154) 评论(0) 推荐(2) 编辑
摘要: 一.图的拓扑排序 拓扑排序是对有向无圈图的顶点的一种排序,而拓扑排序的序列的顺序是不一定的,因为在选取入度为0的顶点的时候,可选的顶点的个数可能不止一个,选择的顶点不同,最终的拓扑排序的序列顺序也可能因此不同。 图1-1 对有向无圈拓扑排序 对图1-1中的有向无圈图进行拓扑排序,可得到排序序列有:A 阅读全文
posted @ 2019-05-25 13:27 lincoding` 阅读(487) 评论(0) 推荐(0) 编辑
摘要: 内部排序的基本算法有:插入排序、希尔排序、冒泡排序、快速排序、选择排序、堆排序、归并排序、基数排序等等。 不同的算法之间有不同的时间复杂度和空间复杂度。 此外,算法之间的稳定性也是不同的。 对算法的时间复杂度、空间复杂度以及其稳定性归结如下表, 算法 时间复杂度 空间复杂度 稳定性 最好情况 平均情 阅读全文
posted @ 2019-05-17 21:49 lincoding` 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 优先队列至少满足插入元素和删除最小者(或最大者)的这两种操作。它相比于查找树少了许多如查找、排序等基本操作。 一.二叉堆 利用数组实现模拟树的结构,使其可以以 O(logN)的时间完成最坏情况下优先队列所支持的两种基本操作。 对于二叉堆(最小元素在根部的堆)的插入操作,即将新的元素添加到数组的末尾, 阅读全文
posted @ 2019-05-10 23:47 lincoding` 阅读(214) 评论(0) 推荐(0) 编辑