自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(57)
  • 收藏
  • 关注

原创 第三次作业

8.41.将向量下标为偶数的分量 (x2, x4, …) 累加, 写出相应表达式.∑i=2,4,…xi\displaystyle\sum_{i=2,4,\dots}xii=2,4,…∑​xi2.各出一道累加、累乘、积分表达式的习题, 并给出标准答案.计算: 1+2+⋯+1001 + 2 + \dots + 1001+2+⋯+100∑i=1100i=5050\sum_{i = 1}^{100} i=5050i=1∑100​i=5050计算: 1×2×⋯×101 \times 2 \times\do

2021-08-01 23:07:40 117

原创 第二次作业

4.61.令A={1,2,5,8,9}\mathbf{A} = \{1, 2, 5, 8, 9\}A={1,2,5,8,9},写出A\mathbf{A}A上的“模2同余”关系及其相应的划分。2.A={1,2,5,8,9}\mathbf{A} = \{1, 2, 5, 8, 9\}A={1,2,5,8,9},自己给定两个关系R1\mathbf{R}_1R1​和R2\mathbf{R}_2R2​,并计算R1R2\mathbf{R}_1\mathbf{R}_2R1​R2​,R1+\mathbf{R}_1^+R

2021-08-01 19:58:09 68

原创 Day 66-67

一、学习内容主动学习(active learning),指的是这样一种学习方法:有的时候,有类标的数据比较稀少而没有类标的数据是相当丰富的,但是对数据进行人工标注又非常昂贵,这时候,学习算法可以主动地提出一些标注请求,将一些经过筛选的数据提交给专家进行标注。这个筛选过程也就是主动学习主要研究的地方了。主动学习的模型如下:A=(C,Q,S,L,U),其中 C 为一组或者一个分类器,L是用于训练已标注的样本。Q 是查询函数,用于从未标注样本池U中查询信息量大的信息,S是督导者,可以为U中样本标注正确的

2021-07-27 21:02:16 84

原创 数学表达式学习作业1

2.6令A={3,5}\mathbf{A} = \{3,5\}A={3,5} ,写出2A2^{\mathbf{A}}2A2A={∅,{3},{5},{3,5}}2^{\mathbf{A}} = \{\emptyset , \{3\} , \{5\} , \{3 , 5\}\}2A={∅,{3},{5},{3,5}}展开2∅2^{\emptyset}2∅2∅={∅}2^{\emptyset} = \{\emptyset\}2∅={∅}令A={5,6,7,8,9}\mathbf{A} =

2021-07-26 22:31:40 79

原创 Day 63-65

一、学习内容Boosting算法是一种通过多次学习来提升算法精度的方法,它采用的是综合的原则使得算法的效率明显改善,是一种将弱分类器提升为强分类器的方法。通俗点讲,就是“三个臭皮匠赛过诸葛亮”,臭皮匠就好比弱分类器,综合起来就是一个强分类器。AdaBoost方法的自适应在于:前一个分类器分错的样本会被用来训练下一个分类器。AdaBoost方法是一种迭代算法,在每一轮中加入一个新的弱分类器,直到达到某个预定的足够小的错误率。每一个训练样本都被赋予一个权重,表明它被某个分...

2021-07-24 20:08:27 73

原创 Day 61-62

一、学习内容决策树就是一棵树,一颗决策树包含一个根节点、若干个内部结点和若干个叶结点;叶结点对应于决策结果,其他每个结点则对应于一个属性测试;每个结点包含的样本集合根据属性测试的结果被划分到子结点中;根结点包含样本全集,从根结点到每个叶子结点的路径对应了一个判定测试序列。决策树学习的算法通常是一个递归地选择最优特征,并根据该特征对训练数据进行分割,使得各个子数据集有一个最好的分类的过程。这一过程对应着对特征空间的划分,也对应着决策树的构建。package machi...

2021-07-22 22:49:23 60

原创 Day 60

KNN(K-Nearest Neighbor)最邻近分类算法是数据挖掘分类(classification)技术中最简单的算法之一,其指导思想是”近朱者赤,近墨者黑“,即由你的邻居来推断出你的类别。KNN最邻近分类算法的实现原理:为了判断未知样本的类别,以所有已知类别的样本作为参照,计算未知样本与所有已知样本的距离,从中选取与未知样本距离最近的K个已知样本,根据少数服从多数的投票法则(majority-voting),将未知样本与K个最邻近样本中所属类别占比较多的归为一类。...

2021-07-21 19:46:36 81

原创 Day 59

一、学习内容今天把数值型数据处理的代码加上去. 假设所有属性的属性值都服从高斯分布. 也可以做其它假设. 将概率密度当成概率值直接使用 Bayes 公式. 可以看到, 数值型数据的处理并不会比符号型的复杂./** ******************** * Classify an instances with numerical data. ******************** */public int classifyNumerical(Instance paraInstan

2021-07-19 22:48:24 48

原创 Day 58

符号型数据的 NB 算法一、学习内容在概率论和统计学中,Bayes’ theorem(贝叶斯法则)根据事件的先验知识描述事件的概率。贝叶斯定理的许多应用之一就是贝叶斯推断,一种特殊的统计推断方法,随着信息增加,贝叶斯定理可以用于更新假设的概率。在决策理论中,贝叶斯推断与主观概率密切相关,通常被称为“Bayesian probability(贝叶斯概率)”。朴素贝叶斯是一类比较简单的算法,scikit-learn中朴素贝叶斯类库的使用也比较简单。相对于决策树,KNN...

2021-07-17 16:32:02 71

原创 Day 57

kMeans 聚类 (续)一、学习内容获得虚拟中心后, 换成与其最近的点作为实际中心, 再聚类.package machinelearning.kmeans;import java.io.FileReader;import java.util.Arrays;import java.util.Random;import weka.core.Instances; public class KMeans { /** * 曼哈顿距离. */ public static fi

2021-07-16 19:55:19 72

原创 Day 56

kMeans 聚类一、学习内容K-means中心思想:事先确定常数K,常数K意味着最终的聚类类别数,首先随机选定初始点为质心,并通过计算每一个样本与质心之间的相似度(这里为欧式距离),将样本点归到最相似的类中,接着,重新计算每个类的质心(即为类中心),重复这样的过程,直到质心不再改变,最终就确定了每个样本所属的类别以及每个类的质心。package machinelearning.kmeans;import java.io.FileReader;import java.ut...

2021-07-15 23:57:36 69

原创 Day 55

一、学习内容昨天实现的是 item-based recommendation. 今天自己来实现一下 user-based recommendation. 只需要在原有基础上增加即可.package machinelearning.knn;/** * Recommendation with M-distance. * @author Fan Min minfanphd@163.com. */import java.io.*;public class MBR {/** *评分为1-

2021-07-14 18:39:43 63

原创 Day 54

基于 M-distance 的推荐一、学习内容所谓 M-distance, 就是根据平均分来计算两个用户 (或项目) 之间的距离.原文链接:(2条消息) 日撸代码300行(51-60天,kNN 与 NB)_minfanphd的博客-CSDN博客package machinelearning.knn;/** * Recommendation with M-distance. * @author Fan Min minfanphd@163.com. */import java.

2021-07-13 18:42:59 64

原创 Day 50

一、学习内容查找算法顺序查找:从线性表的一端开始,逐个检查表中的关键字是否满足给定条件。若找到,则查找成功,并且返回该关键字在线性表中的位置。若已查找到表的另一端,但没有找到符合给定条件的元素,则返回失败的信息。折半查找:首先将给定值key与表中间位置的元素比较,若相等,则查找成功,返回该元素的存储位置。若不等,则所需查找的元素只能在中间元素以外的前半部分或后半部分进行折半查找。依次重复如此步骤,直到找到为止,或确定表中没有所需要查找的元素,则查找失败,返回查找失败的信息。哈希表是根据关键码

2021-07-10 00:23:29 101

原创 Day 49

一、学习内容归并排序是建立在归并操作上的一种有效的排序算法,归并排序对序列的元素进行逐层折半分组,然后从最小分组开始比较排序,合并成一个大的分组,逐层进行,最终所有的元素都是有序的。 /** ********************* * Merge sort. Results are stored in the member variable data. ********************* */ public void mergeSort() { /...

2021-07-08 23:58:25 88 1

原创 Day 48

一、学习内容堆的结构可以分为大根堆和小根堆,是一个完全二叉树,而堆排序是根据堆的这种数据结构设计的一种排序。每个结点的值都大于其左孩子和右孩子结点的值,称之为大根堆;每个结点的值都小于其左孩子和右孩子结点的值,称之为小根堆。学习链接:堆排序算法(图解详细流程)_阿顾的博客-CSDN博客_堆排序/** ********************* * Heap sort. Maybe the most difficult sorting algorithm. *******...

2021-07-07 23:29:55 135 2

原创 Day 47

一、学习内容选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。选择排序是不稳定的排序方法。学习链接:选择排序的定义及代码_xia1140418216的博客-CSDN博客 /** ********************* * Selectio...

2021-07-06 22:16:19 65

原创 Day 46

一、学习内容 快速排序使用分治的思想,从待排序序列中选取一个记录的关键字为key,通过一趟排序将待排序列分割成两部分,其中一部分记录的关键字不大于key,另一部分记录的关键字不小于key,之后分别对这两部分记录继续进行排序,以达到整个序列有序的目的。学习链接:数据结构-快速排序_3166375975@的博客-CSDN博客_数据结构快速排序快速排序过程学习链接:快速排序法(详解)_小白的博客-CSDN博客_快速排序/** ********************* * Qui...

2021-07-05 22:56:23 101 1

原创 Day 44-45

一、学习内容 希尔排序也叫做缩小增量排序,它通过先设置一个增量n,大小为数组长度的一半,将间隔为n的元素视作一个组,然后对每个组内部的元素进行从小到大进行插入排序;然后再将增量n缩小一半,再次进行分组插入排序,直到增量n为1,因为增量为1的时候,所有的元素都为同一个组。 public void shellSort() { DataNode tempNode; int[] tempJumpArray = { 5, 3, 1 }; int tempJump; int p;...

2021-07-04 19:52:54 54

原创 Day 41-43

一、学习内容顺序查找(1)概念:主要在线性表中进行查找,顺序查找通常分为对一般的无序线性表(无序表)的顺序查找和对按关键字有序的顺序表(有序表)的顺序查找。(2)基本思想:从线性表的一端开始,逐个检查表中的关键字是否满足给定条件。若找到,则查找成功,并且返回该关键字在线性表中的位置。若已查找到表的另一端,但没有找到符合给定条件的元素,则返回失败的信息。(3)哨兵的作用:顺序查找过程中引入“哨兵”的作用:主要是为了判断在查找过程中数组是否越界,同时引入“哨兵”还可以避免很多不必要的判断语句,提高

2021-06-30 23:50:43 96

原创 Day 40

1.学习了this调用、throws Exception 异常处理;2.学习了数据结构--图,有向图和无向图;3.图的广度遍历和深度遍历;4.回溯算法,穷举所有可能性的算法;5.邻接表-将图以链表的形式存储;6.十字链表-将有向图的邻接表和逆邻接表结合起来形成的一种链表;7.Dijkstra算法是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。Prim 算法,图论中的一种算法,可在加权连通图里搜索最小生成树;8.关键路径-具有最大路径长度的路径;9.近十天

2021-06-29 18:28:33 39

原创 Day 39

一、学习内容拓扑顺序:对一个有向无环图(Directed Acyclic Graph简称DAG)G进行拓扑排序,是将G中所有顶点排成一个线性序列,使得图中任意一对顶点u和v,若边<u,v>∈E(G),则u在线性序列中出现在v之前。通常,这样的线性序列称为满足拓扑次序(Topological Order)的序列,简称拓扑序列。简单的说,由某个集合上的一个偏序得到该集合上的一个全序,这个操作称之为拓扑排序。学习链接:拓扑排序- CSDN搜索关键路径:具有最大路径长度的路径称为关键路径。

2021-06-29 18:11:04 41

原创 Day 38

一、学习内容Dijkstra算法是从一个顶点到其余各顶点的最短路径算法,解决的是有权图中最短路径问题。主要特点是以起始点为中心向外层层扩展(广度优先搜索思想),直到扩展到终点为止。学习链接:(1条消息) Dijkstra算法(迪杰斯特拉算法)_持之以恒2016-CSDN博客Prim 算法,图论中的一种算法,可在加权连通图里搜索最小生成树。意即由此算法搜索到的边子集所构成的树中,不但包括了连通图里的所有顶点,且其所有边的权值之和亦为最小。学习链接:Prim算法(~详细整理,简单易懂,附最详细注

2021-06-27 22:04:49 34

原创 Day 37

一、学习内容十字链表是有向图的另一种链式存储结构。也可以把它看成是将有向图的邻接表和逆邻接表结合起来形成的一种链表。以下图为例package datastructure.graph;/** * Orthogonal List for directed graph. * * @author Fan Min minfanphd@163.com. */public class OrthogonalList { /** * An inner class for adjac.

2021-06-26 22:44:09 76 2

原创 Day 36

一、学习内容邻连表顶点:按编号顺序将顶点数据存储在一维数组中。关联同一顶点的边(以顶点为尾的弧):用线性链表存储

2021-06-25 20:04:24 42

原创 Day 34-35

一、学习内容深度优先遍历:选择一个起点开始访问,下一个访问起点的邻接点,重复以上步骤,指导没有邻接点之后原路返回,再按上述规则访问未被访问的节点。和广度优先遍历不同的是一条道走到黑。访问顺序:v1-v2-v4-v8-v5-v3-v6-v7v1-v2-v5-v8-v4-v3-v7-v6代码中测试的无向图:深度访问顺序:0-1-3-2package datastructure.graph;import datastructure.queue.CircleObjectQu.

2021-06-23 22:04:16 46

原创 Day 33

一、学习内容广度优先遍历:选一个初始点,然后访问邻接点,之后访问邻接点的邻接点。上图的的广度优先遍历:v1-v2-v3-v4-v5-v6-v7-v8package datastructure.graph;import datastructure.queue.CircleObjectQueue;import matrix.IntMatrix;/** * Directed graph. Note that undirected graphs are a special case of

2021-06-22 21:25:34 53

原创 Day 32

一、学习内容图:在数据结构中的关系网图的结构比树更复杂,数是一对多的关系,图是多对多的关系。无向图的邻接矩阵:有向图的邻接矩阵:package datastructure.graph;import matrix.IntMatrix;/** * Directed graph. Note that undirected graphs are a special case of directed * graphs. * * @author Fan Min mi.

2021-06-22 20:44:04 49

原创 Day 31

一、学习内容1.异常处理(自我理解,不知道是否准确):在方法中使用 "throws Exception"抛出异常,在zh

2021-06-20 18:08:35 42

原创 Day 30

一、学习内容Huffman编码与解码编码:某个字符对应的编码为,从该字符所在的叶子节点向上搜索,如果该字符节点是父节点的左节点,编码字符之前加0,反之如果是右节点,加1,直到根节点。...

2021-06-19 21:22:05 47

原创 Day 29

一、学习内容Hueeman编码建树(自我理解):每次选择两个最小的权值作为左孩子和右孩子,然后权值相加返回空间与剩下的权值比较,再进行上述操作,直到

2021-06-18 15:50:57 44

原创 Day 28

一、学习内容Huffman编码:是一种编码方式,哈夫曼编码是可变字长编码(VLC)的一种

2021-06-17 22:13:54 39

原创 Day 27

一、学习内容1.汉诺塔:圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。

2021-06-16 21:37:54 42

原创 Day 23-26

Day 23一、学习内容Java 里面, 所有的类均为 Object 类的 (直接或间接) 子类. 如果不写就默认为直接子类. 例如public class CircleObjectQueue;等价于public class CircleObjectQueue extends Object;存储对象的队列, 实际上是存储对象的地址 (引用、指针). 因此, 可以存储任何类的对象 (的引用).可以通过强制类型转换将对象转成其本身的类别. 例如前面程序tempTree = (Binar.

2021-06-15 17:26:32 35

原创 Day 22

package basic;/** * Circle Object queue. * * @author Fan Min minfanphd@163.com. */public class CircleObjectQueue { /** * The total space. One space can never be used. */ public static final int TOTAL_SPACE = 10; /** * The data. */ Obj.

2021-06-11 22:45:37 31

原创 Day 21

一、学习内容1.二叉树:由一个根节点加上两棵别称为左子树和右子树的二叉树组成。下列代码所写的二叉树结构

2021-06-10 22:21:22 48

原创 Day 20

1.面向对象与面向过程相比, 有哪些优势? 注: 第 1 - 10 天的程序, 就是面向过程的.比较线性表和链接的异同.分析线性表和链接的优缺点.分析调拭程序常见的问题及解决方案.分析链队列与循环队列的优缺点.第 18 天建立的两个队列, 其区别仅在于基础数据不同, 一个是 int, 一个是 char. 按这种思路, 对于不同的基础数据类型, 都需要重写一个类, 这样合理吗? 你想怎么样?...

2021-06-09 22:53:13 60 1

原创 Day 19

一、学习内容1.String类是一个定义字符串类型的类2.字符串匹配package basic;public class MyString { /** * The maximal length. */ public static final int MAX_LENGTH = 10; /** * The actual length. */ int length; /** * The data. */ char[] data; /** ****

2021-06-08 22:31:48 34

原创 Day 18

一、学习内容循环列表:将单链表中终端结点的指针端由空指针改为指向头结点,就使整个单链表形成一个环,这种头尾相接的单链表称为单循环链表,简称循环链表。

2021-06-07 22:58:38 56 1

原创 Day 17

一、学习内容1.队列:队列是一种先进先出的线性表,它只允许在表的一端进行插入,而在另一端删除元素。类似于日常生活中的排队。

2021-06-06 22:13:16 29

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除