摘要:Classification And Regression Tree(CART)是一种很重要的机器学习算法,既可以用于创建分类树(Classification Tree),也可以用于创建回归树(Regression Tree),本文介绍了CART用于离散标签分类决策和连续特征回归时的原理。决策树创建过程分析了信息混乱度度量Gini指数、连续和离散特征的特殊处理、连续和离散特征共存时函数的特殊处理和后剪枝;用于回归时则介绍了回归树和模型树的原理、适用场景和创建过程。个人认为...
更新:文章迁移到了这里。http://lanbing510.info/2014/11/07/Neural-Network.html,有对应的PPT链接。
注:整理自向世明老师的PPT
看不到图片的同学能够直接打开链接:https://app.yinxiang.com/shard/s31/sh/61392246-7de4-40da-b2fb-ccfd4f087242/259205da4220fae3内容提要1 发展历史
2 前馈网络(单层感知器,多层感知器。径向基函数网络RBF)
3 反馈网络(Hopfield网络。联想存储网络,SOM。Boltzman及受限的玻尔兹曼机RBM,D...
鸽巢排序:鸽巢排序, 也被称作基数分类, 是一种时间复杂度为(Θ(n))且在不可避免遍历每一个元素并且排序的情况下效率最好的一种排序算法. 但它只有在差值(或者可被映射在差值)很小的范围内的数值排序的情况下实用.当涉及到多个不相等的元素, 且将这些元素放在同一个"鸽巢"的时候, 算法的效率会有所降低.为了简便和保持鸽巢排序在适应不同的情况, 比如两个在同一个存储桶中结束的元素必然相等我们一般很少使用鸽巢排序, 因为它很少可...
POJ上做做ACM的题语言的学习基础,100个经典的算法C语言的学习要从基础开始,这里是100个经典的算法-1C语言的学习要从基础开始,这里是100个经典的算法题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?__________________________________________________________________程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.....
题目描写叙述
LL今天心情特别好,由于他去买了一副扑克牌,发现里面竟然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想測測自己的手气,看看能不能抽到顺子,假设抽到的话,他决定去买体育彩票,嘿嘿。!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子.....LL不高兴了,他想了想,决定大\小 王能够看成不论什么数字,而且A看作1,J为11,Q为12,K为13。上面的5张牌就能够变成“1,2,3,4,5”(大小王分别看作2和4)...
打印所有的水仙花说,水仙花说指一个三位数,其各位数字的立方和等于该数本身.例如153=1的三次方+5的三次方+3的三次方./*** Created by chenlongbo on 2017/6/3.*/publicclass Roem {publicstaticvoid main(String[] args) {int a, b, c;for (int i = 100; i <= 999; i++) {//百位数a = i/100;//十位数b = (i % 100)/10;//个位数c = i % 10;if( i == a*a*a + b*b*b + c*c*c){System.out.println(i);}}}
控制台:153370371407Process f...
机器学习与数据挖掘中的十大经典算法背景:top10算法的前期背景是吴教授在香港做了一个关于数据挖掘top10挑战的一个报告,会后有一名内地的教授提出了一个类似的想法。吴教授觉得非常好,开始着手解决这个事情。找了一系列的大牛(都是数据挖掘的大牛),都觉得想法很好,但是都不愿自己干。原因估计有一下几种:1.确实很忙2.得罪人3.一系列工作很繁琐等等。最后和明尼苏达大学的Vipin Kumar教授一起把这件事情承担下来。先是请数据...
高速分拣,因为相同的排序效率O(N*logN)几个订购流程更高效,因此,经常使用,再加上高速分拣思想----分而治之的方法也是非常有用的,如此多的软件公司书面采访。它包含了腾讯,微软等知名IT企业宁愿测试此,的考试如软考,考研中也经常出现高速排序的身影。总的说来,要直接默写出高速排序还是有一定难度的。因为本人就自己的理解对高速排序作了下白话解释,希望对大家理解有帮助,达到高速排序,高速搞定。 高速排序是C.R.A.Hoar...
1、概述 给定4个整数,当中每一个数字仅仅能使用一次;随意使用 + - * / ( ) ,构造出一个表达式,使得终于结果为24,这就是常见的算24点的游戏。这方面的程序非常多,一般都是穷举求解。本文介绍一种典型的算24点的程序算法,并给出两个详细的算24点的程序:一个是面向过程的C实现,一个是面向对象的java实现。 2、基本原理 基本原理是穷举4个整数全部可能的表达式,然后对表达式求值。 表达式的定义: expression = ...
冒泡算法冒泡排序:从序列的一端开始往另一端冒泡,依次比较相邻的两个数的大小。设数组长度为N。1.每轮比较相邻的前后两个数据,如果前面数据大于或者小于后面的数据,就将二个数据交换。2.这样每轮对数组的第0个数据到N-1个数据进行一次遍历后,最大或者最小的一个数据就到数组第N-1个位置。3. 第一轮比较到下标为N-1的数据(最后一个),以后每次比较都-1。#include <stdio.h>int main () {int list[10] = {5,23,86,21,43,6...
冒泡排序(Bubble Sort),是经典的排序算法,基本上我们学习任何语言都会接触到冒泡排序。
它的算法思想是,重复地遍历要排序的列表,一次比较两个元素,如果他们的顺序错误就把他们交换过来。遍历列表的工作是重复地进行直到没有再需要交换,也就是说该列表已经排序完成。
这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。
比如我们有下面这样一个列表:li = [10,8,4,7,5]
每次遍历列表每个元素,然...
05 选择排序 (Selection Sort)原理:每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。void selection_sort(int arr[], int n) {for (int i = 0;i < n - 1;i++) {int temp = a[i];int t = i;for (int j = i + 1;j < n;j++) {if (a[j] < temp) {temp = a[j];t = j;} }a...
题目Write an algorithm such that if an element in an MxN matrix is 0, its entire row and column is set to 0.写一个函数处理一个MxN的矩阵,如果矩阵中某个元素为0,那么把它所在的行和列都置为0.解答简单题。遍历一次矩阵,当遇到元素等于0时,记录下这个元素对应的行和列。
可以开一个行数组row和列数组col,当元素a[i][j]等于0时, 就把row[i]和col[j]置为1。
第二次遍历矩阵时,当某个元素对应的行row[i] 或列col[j]被...
前言 之前对kmp算法虽然了解它的原理,即求出P0···Pi的最大相同前后缀长度k;但是问题在于如何求出这个最大前后缀长度呢?我觉得网上很多帖子都说的不是很清楚,总感觉没有把那层纸戳破,后来翻看算法导论,32章 字符串匹配虽然讲到了对前后缀计算的正确性,但是大量的推理证明不大好理解,没有与程序结合起来讲。今天我在这里讲一讲我的一些理解,希望大家多多指教,如果有不清楚的或错误的请给我留言。 1.kmp算法的原理: ...
前言 之前对kmp算法虽然了解它的原理,即求出P0···Pi的最大相同前后缀长度k;但是问题在于如何求出这个最大前后缀长度呢?我觉得网上很多帖子都说的不是很清楚,总感觉没有把那层纸戳破,后来翻看算法导论,32章 字符串匹配虽然讲到了对前后缀计算的正确性,但是大量的推理证明不大好理解,没有与程序结合起来讲。今天我在这里讲一讲我的一些理解,希望大家多多指教,如果有不清楚的或错误的请给我留言。 1.kmp算法的原理:...