
算法
rocling
我思故我在
展开
-
一元线性回归入门——自己写简单的回归算法
1.什么是线性回归? 早在初中我们就学习过一次函数 ,它的一般形式我们应该还记得吧,就像是这样。这个一次函数实际上,就是一元一次函数。那时候学到的求解这个函数解析式的方法就是待定系数法 ,来确定其中k和b的值。而线性回归这个词在统计学习中,同样是确定一个一次函数解析式中的位置参数,在图像上来看就相当于,你想找一条直线,让他们尽量穿过已知(一般都是大量的)的数据点,或者让他们到直线距离...原创 2019-10-30 19:22:05 · 848 阅读 · 0 评论 -
详解梯度下降法的三种形式BGD、SGD以及MBGD
在应用机器学习算法时,我们通常采用梯度下降法来对采用的算法进行训练。其实,常用的梯度下降法还具体包含有三种不同的形式,它们也各自有着不同的优缺点。下面我们以线性回归算法来对三种梯度下降法进行比较。一般线性回归函数的假设函数为:对应的损失函数为:(这里的1/2是为了后面求导计算方便)下图作为一个二维参数(,)组对应能量函数的可视化图:下面我们来分别...原创 2019-10-30 19:21:42 · 711 阅读 · 0 评论 -
高斯核函数
线性支持向量机 (Linear-SVM) 被用于线性可分的数据集的二分类问题,当数据集不是线性可分的时候,需要利用到核函数将数据集映射到高维空间。这样数据在高维空间中就线性可分。高斯核函数(Gaussian kernel),也称径向基 (RBF) 函数,是常用的一种核函数。它可以将有限维数据映射到高维空间,我们来看一下高斯核函数的定义:...原创 2019-10-30 19:21:29 · 818 阅读 · 0 评论 -
【java】Java排序算法-堆排序
[算法说明]堆排序是对简单选择排序的改进简单选择排序是从n个记录中找出一个最小的记录,需要比较n-1次。但是这样的操作并没有把每一趟的比较结果保存下来,在后一趟的比较中,有许多比较在前一趟已经做过了,但由于前一趟排序时未保存这些比较结果,所以后一趟排序时又重复执行了这些比较操作,因而记录的比较次数较多。堆是具有下列性质的完全二叉树:每个结点的值都大于或等于其左右孩子结点的值,称...原创 2018-09-24 22:21:23 · 147 阅读 · 0 评论 -
十大经典排序算法(动图演示,收藏好文)
js和java两版目录1、冒泡排序(Bubble Sort)2、选择排序(Selection Sort)3、插入排序(Insertion Sort)5、归并排序(Merge Sort)6、快速排序(Quick Sort)7、堆排序(Heap Sort)8、计数排序(Counting Sort)9、桶排序(Bucket Sort)10、基数排序(Radix...原创 2018-09-24 22:56:05 · 3718 阅读 · 3 评论 -
求100到200的质数
package test920;public class PrimeNumberTest { public static void main(String[] args) { int d = 0; for (int i = 100; i <= 200; i++) { boolean f = true; for (int j = 2; j < i; j++) ...原创 2018-09-21 00:31:46 · 1406 阅读 · 0 评论 -
递归概述和注意事项
递归:方法定义中调用方法本身的现象注意事项: A:递归一定要有出口,否则就是死递归 B:递归的次数不能太多,否则内存溢出 C:构造方法不能递归使用...原创 2018-09-22 13:03:52 · 1032 阅读 · 0 评论 -
关于归并排序时间复杂度 T(n) =2T(n/2)+O(n)
T(n)=2T(n/2)+O(n),n=2^k。想知道为什么最终答案为O(nlgn)Master大法好。这题自己推导也不难。把递推公式重复代入三次并化简: 可以看出规律了,而且很容易用归纳法证明。于是代入k次时就有(n=2k):https://segmentfault.com/q/1010000008698385 ...原创 2018-10-13 22:36:41 · 17992 阅读 · 1 评论 -
如果看了此文你还不懂傅里叶变换,那就过来掐死我吧【完整版】
原文出处: 韩昊 http://blog.jobbole.com/70549/ 1 2 3 4 5 6 7 8 9 10 作 者:韩 昊 知 乎:Heinrich 微 博:@花生油工人 知乎专栏:与时间无关的故事 谨以此文献给大连海事大学的吴楠老师...转载 2018-09-06 20:17:55 · 186 阅读 · 0 评论 -
数据结构常见的八大排序算法(详细整理)
前言八大排序,三大查找是《数据结构》当中非常基础的知识点,在这里为了复习顺带总结了一下常见的八种排序算法。常见的八大排序算法,他们之间关系如下: 他们的性能比较: 下面,利用Python分别将他们进行实现。直接插入排序算法思想:直接插入排序的核心思想就是:将数组中的所有元素依次跟前面已经排好的元素相比较,如果选择的元素比已排序的元素小,则交换,直到全部元...原创 2018-09-06 20:19:04 · 247 阅读 · 0 评论 -
快速排序算法
来源:https://baike.baidu.com/item/%E5%BF%AB%E9%80%9F%E6%8E%92%E5%BA%8F%E7%AE%97%E6%B3%95/369842?fr=aladdin#3_8快速排序(Quicksort)是对冒泡排序的一种改进。快速排序由C. A. R. Hoare在1962年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部...原创 2018-07-24 23:01:34 · 221 阅读 · 0 评论 -
用Java实现直接插入排序、性能分析以及适用场景
1.直接插入排序的Java实现:代码如下:package mytest;public class InsertSort { public static void getInsertSort(int[] a) { if (a == null || a.length == 0) {// 判断数组是否为空 System.out.println("该数组为空!"); re...转载 2018-07-31 22:41:56 · 635 阅读 · 0 评论 -
数据结构-八种排序算法
一、直接插入排序1.将一个记录插入到已排好序的有序表中,从而得到一个新的、记录数增1的有序表。2.稳定3.O(n^2)4.六个数12 15 9 20 6 31 24 用直接插入排序二、希尔排序(缩小增量排序)1.先将整个待排记录序列分割为若干个子序列分别进行直接插入排序,待整个序列中的记录基本有序时,再对全体记录进行一次直接插入排序。相隔某个增量的记录组成子序列。...转载 2018-07-31 22:53:05 · 351 阅读 · 0 评论 -
数据结构8种排序时间和空间复杂度对比
备注:基数排序的复杂度中,【r】代表关键字的基数,【d】代表长度,【n】代表关键字的个数。算法复杂度分析 http://blog.youkuaiyun.com/silentwolfyh/article/details/73162862插入排序–Java版 http://blog.youkuaiyun.com/silentwolfyh/article/details/73187088希尔排序–Java版 h...原创 2018-08-01 22:01:40 · 696 阅读 · 0 评论 -
数据结构--8种常用排序算法稳定性分析
首先,排序算法的稳定性大家应该都知道,通俗地讲就是能保证排序前2个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同。在简单形式化一下,如果Ai = Aj, Ai原来在位置前,排序后Ai还是要在Aj位置前。 其次,说一下稳定性的好处。排序算法如果是稳定的,那么从一个键上排序,然后再从另一个键上排序,第一个键排序的结果可以为第二个键排序所用。基数排序就是这样,先按低位排序,...原创 2018-08-01 22:26:51 · 1131 阅读 · 0 评论 -
算法学习—算法运行时间、logN、NlogN
1 大部分程序的大部分指令之执行一次,或者最多几次。如果一个程序的所有指令都具有这样的性质,我们说这个程序的执行时间是常数。 logN 如果一个程序的运行时间是对数级的,则随着N的增大程序会渐渐慢下来,如果一个程序将一个大的问题分解成一系列更小的问题,每一步都将问题的规模缩减成几分之一,一般就会出现这样的运行时间函数。在我们所关心的范围内,可以认为运行时间小于一个大的常数。对数的...原创 2018-09-11 22:08:39 · 1758 阅读 · 0 评论 -
概率计算
目录概率的加法法则条件概率乘法公式全概率公式P(A)=A所含样本点数/总体所含样本点数。实用中经常采用“排列组合”的方法计算·条件概率:当P(A)>0,P(B|A)=P(AB)/P(A)加法法则:P(A∪B)=P(A)+P(B)-P(AB)乘法公式:P(AB)=P(A)×P(B|A)=P(B)×P(A|B)计算方法:“排列组合”的方法计算记 ...原创 2018-10-21 18:12:31 · 10674 阅读 · 0 评论 -
简述协方差的意义
协方差代表了两个变量之间的是否同时偏离均值。如果正相关,这个计算公式,每个样本对(Xi, Yi), 每个求和项大部分都是正数,即两个同方向偏离各自均值,而不同时偏离的也有,但是少,这样当样本多时,总和结果为正。下面这个图就很直观。下面转载自:http://blog.youkuaiyun.com/wuhzossibility/article/details/8087863 在概率论中,两个随机变...原创 2018-10-21 18:12:35 · 2374 阅读 · 0 评论 -
算法:爬楼梯问题分析--动态规划
题目假设你现在正在爬楼梯,楼梯有 n 级。每次你只能爬 1级或者 2级,那么你有多少种方法爬到楼梯的顶部?输入格式第一行输入一个整数 n(1≤n≤50),代表楼梯的级数。输出格式输出爬到楼梯顶部的方法总数。形如: 样例输入 5样例输出 8刨坑点1.我最开始是用迭代去做的但是发现时间老是超时,测试规定的时间是1000ms内,而我的代码却大于2000ms,但是用...转载 2018-07-24 22:13:20 · 22812 阅读 · 2 评论