算法
Lin_junhan
这个作者很懒,什么都没留下…
展开
-
快速排序
每次都找一个枢纽(下面代码用数组的最后一个),将它放到正确的位置,再把这个枢纽位置的俩边进行递归。func quickSort(arr []int, l, r int) { if l < r { mid := partionSort(arr, l, r) quickSort(arr, l, mid[0]-1) quickSort(arr, mid[0]+1, r) }...原创 2020-01-31 22:19:49 · 215 阅读 · 0 评论 -
荷兰国旗问题
问题一: 给定一个数组,和一个数num,把小于等于num的数放在数组的左边,大于num的数放在右边。使用一个指针(代码中为数组下标less)存储数组中小于num的区间,从-1开始。 使用另一个指针来遍历数组(代码中为index),遍历过程中将小于等于num的数归入左边区间,数组下标下移。func partion(arr []int, target int) { // 将小于等于targ...原创 2020-01-31 11:07:56 · 283 阅读 · 0 评论 -
由递归排序引申出的小和问题和逆序数对问题
递归排序的思想是将带牌列数组不断的拆成俩部分,再将有序的左右的俩部分合并。小和问题:在一个数组中,每一个数左边比当前小的数累加起来,叫做这个数组的小和。求一个数组的小和。逆序对问题,在一个数组中,打印出数组所有左边数大于右边数的组合。下面是归并排序的代码(go语言)// 写一个归并排序func mergeSort(arr *[]int, l, r int) { // 这部分是...原创 2020-01-30 18:02:12 · 252 阅读 · 0 评论 -
K-近邻算法(KNN)
1. KNN概述2. KNN原理3. 常用的距离度量准则4. KNN优缺点1.概述:简单的说,K-紧邻算法采用不同特征值之间距离的方法进行分类。是理论上比较成熟,也是机器学习中最简单的算法之一。2.原理:存在一个样本数据集合,也称之为训练样本集,并且样本集中每个数据都存在标签,即我们知道样本集中每一个数据与所属分类的对应关系。当输入没有标签(未知分类)的数据时,将数...原创 2019-08-14 14:04:31 · 387 阅读 · 0 评论 -
决策树算法
1. 决策树概述2. 决策树的原理3. 决策树的特点4. 决策树的构造和算法1.决策树概述:决策树算法是一种逼近离散函数值的方法。它是一种典型的分类方法,首先对数据进行处理,利用归纳算法生成可读的规则和决策树,然后使用决策对新数据进行分析。本质上决策树是通过一系列规则对数据进行分类的过程。决策树是常用的分类学习算法,当然也能用于处理回归问题,同时也适合集成学习比如随机森林...原创 2019-08-14 17:52:08 · 2711 阅读 · 0 评论 -
朴素贝叶斯分类器算法
1. 朴素贝叶斯分类器概述2. 贝叶斯决策论 2.1 后验概率 2.2 贝叶斯定理3. 朴素贝叶斯分类算法原理4. 朴素贝叶斯分类的优缺点1. 朴素贝叶斯分类器概述:贝叶斯分类算法是统计学的一种分类方法,它是一类利用概率统计知识进行分类的算法。在许多场合,朴素贝叶斯(Naïve Bayes,NB)分类算法可以与决策树和神经网络分类算法相媲美,该算法能运...原创 2019-08-14 18:53:58 · 622 阅读 · 0 评论 -
神经网络:线性回归和softmax函数回归(结合mxnet框架)
线性回归输出的是一个连续值,因此适用于回归问题;而softmax回归则适用于分类问题。线性回归的基本要素:模型:, 其中x1, x2是影响输出结果的各个样本的特征值, w1, w2是对应特征的权重,b是偏差值。模型训练:训练的过程,通过训练样本的数据寻找接近正确的各参数,使模型在测试数据集上的误差尽可能小。训练数据:在机器属于中,用来训练模型的数据集称为训练数据集或训练集,数...原创 2019-08-17 23:26:56 · 1080 阅读 · 0 评论