- 博客(25)
- 收藏
- 关注
原创 神经网络和BP算法C及python代码
以上仅给出了代码。具体BP实现原理及神经网络相关知识请见:神经网络和反向传播算法推导首先是前向传播的计算:输入:首先为正整数 n、m、p、t,分别代表特征个数、训练样本个数、隐藏层神经元个数、输出层神经元个数。其中(1随后为 m 行,每行有 n+1 个整数。每行代表一个样本中的 n 个特征值 (x 1 , x 2 ,..., x n ) 与样本的实际观测结果 y。特
2015-06-08 10:49:47
5695
原创 神经网络和反向传播算法推导
注:由于自己画图实在太难画,本文中基本所有插图来源于算法团子机器学习班,请勿转载1.普通的机器学习模型:其实,基本上所有的基本机器学习模型都可以概括为以下的特征:根据某个函数,将输入计算并输出。图形化表示为下图:当我们的g(h)为sigmoid函数时候,它就是一个逻辑回归的分类器。当g(h)是一个只能取0或1值的函数时,它就是一个感知机。那么问题来了,这一类模型有明显缺陷:当模
2015-06-03 16:11:45
10278
原创 const,static,全局变量细节及其区别
const:限制符号,限制某个变量所指向的内容不能通过这个对象修改。但是可以通过其他的修改,比如:int main(){ int x=5; const int &y=x; x++; cout<<y<<" "<<x; return 0;}结果如下:但是如果这样就通不过编译了所以,const的作用是限制申明出来的变量的权限,所以我们有这
2015-05-22 15:33:11
4025
原创 c++实现logistic回归代码
测试题目:代码如下:#include#include#include#include#include#includeusing namespace std;double hypothesis(vector &feature,vector&w){ double sum=0.0; for(int i=0;i<feature.size();i++){
2015-05-20 16:03:08
4686
2
原创 logistic回归和用最大似然估计选取CostFunction
逻辑回归和其他回归的异同,及其如何选择关于权值的更新函数问题。用最大似然估计来选取costfunction
2015-05-20 15:59:16
3121
1
原创 hadoop的HDFS和map-reduce
此处主要是将HDFS和map-reduce的基本原理写在这儿,免得以后忘记了找不到HDFS:大体框架如下:NameNode:记录文件在DataNode的位置信息和元数据信息,类似index,真正的数据存储在DataNode节点DataNode:存储的管理者,一次写入,多次读取(好处:不需要考虑一致性),将程序划分为许多大小为64M的数据块,分布并冗余存放在各个DataNode节
2015-05-10 14:19:25
1214
原创 用hadoop-streaming 运行python map-reduce程序
简介: hadoop是java写的,所以,运行hadoop经常也值直接支持java。这让我们这种不熟悉java的程序员很是心碎啊。还好,Doug Cutting大神也没有直接放弃非java程序员这块庞大的用户需求,提供了各种各样的接口给那些不熟悉java的程序员使用。下面我们要介绍的是各种接口中的一种:用hadoop-streaming来运行非java的各式map-reduce程序。
2015-05-09 20:25:57
995
原创 用熵的决策树问题ID3和C4.5,C5.0简单介绍
用熵决策树问题的最基本思想: 我们一般可以通过信息熵来描述分类的混乱程度,如果标注的种类繁杂,说明信息非常混乱,如果标注就只有一种,或者大部分标注相同,那么说明这个数据集的信息比较整齐。用熵决策树的基本思想就是通过不断的划分数据集(通过用特征细化),是的信息熵尽量变小,也就是所谓的增大信息增益。通过不同的特征值来划分数据集,得到的信息增益是肯定不同的,熵决策树的目标就是找出最优的划分方法
2015-05-04 16:49:16
1975
原创 决策树ID3算法C++代码及测试用例(bug版)
有bug,一直未找到,闲暇下来在看看,存一档输入格式首先为正整数n、m,分别代表特征个数、训练样本个数。随后为m行,每行有n+1个整数。其中(1在后续的m行中,每行代表一个样本中的n个整数特征值( )与样本的实际观测结果y(整数)。其中 。输出格式决策树的前序遍历结果,若是一个内部节点则输出inner(特征id),若是一个叶节点,则输出leaf(特征id)。
2015-05-04 16:40:46
1050
原创 求复杂的时间复杂读方法(假设法)
其实求时间复杂度的方法就是找出执行得最多的语句然后判断其量级罢了,只是有时候不太容易直接看出来,所以需要用假设的方式辅助辅助for(int i=0;i<n;i=i*3) cout如上这段代码,执行最频繁者不过是那句输出语句罢了,执行了多少次呢?我们按以下方法推演便知:执行次数 i的值1
2015-04-25 18:23:02
668
原创 C++代码实现梯度下降算法并给出测试用例
此处仅给出代码实现,具体原理及过程请看前面的博文测试文件输入格式如下:2 10 0.01 102104 3 3999001600 3 3299002400 3 3690001416 2 2320003000 4 5399001985 4 2999001534 3 31490
2015-04-24 15:09:54
11846
1
原创 TOP-K排序算法,从海量不重复数据中找出最大/小的K个数
如题,TOP-K排序的主要功能是找出一堆不重复数据中的最小或最大的几个数,此处我们介绍这种类型题目的几种解法:一.最大最小堆,最大堆结构里面的每一个数不都是小于root的值么?和我们要解决的问题很像。由此,我们可以构造一个堆,并且用它来存储我们需要找的那几个数。有这么一个动态flash就很好地揭示了其中关系: http://www.benfrederickson.com/heap-visual
2015-04-23 12:08:36
3890
转载 大数据面试题
本文为转的,怕忘记了还有: http://blog.youkuaiyun.com/ycl1989y/article/details/7796250第一部分、十道海量数据处理面试题 1、海量日志数据,提取出某日访问百度次数最多的那个IP。 首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模10
2015-04-23 11:13:26
543
原创 python之日期处理
一.生成日期>>> from datetime import datetime>>> datetime.now()datetime.datetime(2015, 4, 16, 17, 31, 55, 842871)二.日期转换回string>>> a=datetime.now()>>> a.strftime('%Y-%m-%d %H:%M:%S')'2015-04-16 17:3
2015-04-16 17:30:55
512
原创 关于C++在堆中建立二维数组的问提及二维数组的使用常识
一.int[][]和int **的区别:相当明显,int[][]是连续的空间!而int**a是半连续的,即不同的行是不连续的,但是同一列是连续的所以:在参数传递时候,二者不可互传,即使是[][]传**,因为int** 和a[][]虽然传的都是地址,但是一个在栈空间连续,另一个在堆空间半连续!而且int a[][num]的数据类型是int(*)[num]类型的,所以,int[][]之
2015-04-16 12:34:18
680
原创 perception感知器算法的C语言实现代码
此处仅给出代码实现,具体原理及过程请看前面的博文文件输入格式如下:2 4 0.25 50 0 00 1 11 0 11 1 10.06230 0.01123 -0.07335含义如下:实现代码如下:(注:为了通用性,本代码只输出了最后一次迭代结果)#include#include using namespace std;double hypotho
2015-04-16 11:27:36
4350
原创 特征值缩放和过拟合与欠拟合的最low解法
特征值缩放:例子:有一个feature序列,x1基本大于10000,x2都是小于0.01的数,这样可能需要花很长时间才能收敛,解决办法就是特征值缩放这样可以将数据控制在【-1,1】的区间内过拟合问题和欠拟合问题都是由于特征值没有选好或者样本太少引发的过拟合的最简单解决方法:删除无用特征,选取更简单的拟合函数欠拟合解决办法:增加核心特征,选取复杂函数
2015-04-14 17:42:25
756
翻译 梯度下降算法
注:本文所有图片及文章架构均来源于“算法团子”,后经本人改写所成以上两幅图片显然左侧这幅能更好描述房价与面积关系,但怎样用数学表示?我们将其误差定义为J,所有点的欧氏距离之和其实就是它的误差JJ=all(y-h(x))如感知器算法,我们的目标就是减小J,根据梯度下降含义,我们可以将J沿着下降最快的方向调整权值,使其能够收敛到J的最小值(极值)下降最快的方向,就是一阶
2015-04-14 16:41:28
1884
原创 关于DataFrame的文本数据导入
DataFrame确实使用方便,但是如果每次导入数据都需要我们自己手动实现未免太麻烦了些,以下就介绍DataFrame对不同格式文件的导入本章仅仅介绍txt或文本文件带标题的文本文件,例如: name pop eco huc 13 2 nonea 2 1 none最简单的导入方式:import pandas as pddata=pd.
2015-04-14 13:39:18
8749
原创 pandas介绍
简介pandas其实是numpy的升级版,加强了索引的处理功能和对缺失数据的处理,具体有什么方便的地方以后详述。引入包:import pandas as pdSeries:实质上是一个key-value对应的一个列表的数据结构,例子如下:>>> import pandas as pd>>> a=pd.Series([4,5,6],dtype='float64')>>> a
2015-04-14 09:44:29
704
原创 感知器算法
引例:判断一个人是否长得帅??? 有如下feature: 身高,体重,三围,颜值,学习成绩(帅的人学习成绩好的少...为何要这么一个扯淡的特征下面会讲解)等等。假设有一个标准:每一个评分项给予多少分的权重,当所有feature与权重相乘的和大于某一个值的时候,那这个人就是帅哥!!例子: 180*5+150*3+....>1000 帅哥! 小于则.....感知器任务:通过已知的实例调节权
2015-04-13 13:26:27
6679
原创 sql与nosql区别
在网上已经有无数的关于词类的总结,此处仅仅是自己总结写下,免得忘了! sql: 优点: 集成式数据库,多并发的操作性质。一致性,事物性的优良支持 缺点: 关系-对象之间的不匹配问题,虽然想hibernate等为此而生,但实质上还是拖慢了查询速度 第一范式的结构要求,表中表结构是不可能出
2015-04-09 15:38:35
924
原创 numpy数组及矢量计算
一.ndarry对象 1.ndarry对象是一个多维数组的构造器,可以生成不同维度的多维数组。但要求每一维都有自己的格式,其使用如下: 引入包 import numpy as np 构造array :np.array([[[1,2,3],[4,5,6]],[[7,8,9],[10,11,12]]],dtype=np.floa
2015-04-09 09:24:07
791
原创 mongodb的简要介绍及与python的集成
mongodb的简要介绍及与python的集成1.为何NOSQL NOSQL的主要原因有两个:一是NOSQL更好的接受scale out,简言之就是更好的支持分布式数据库,更好的适用于大数据。第二原因是SQL表结构要求太严,对模式的更改不是很容易。而NOSQL没有入醋多的限制。更加适用于对模式修改频繁的数据存储方式。2.mongodb与python的集成 python
2015-03-30 15:03:08
596
原创 关初学redis的一些总结以及redis与python集成
关初学redis的一些总结与感想1.关于redis: redis是一种内存数据库,非常不同于平常所用的SQL和NOSQL。其目的是为了提高高频使用数据的存取速度。其工作原理类似hash表,主要是讲存储数据进行key-value的对应。2.启动redis:启动redis redis-server --port 6379(默认端口) 注:启动后可以通过ps aux | egre
2015-03-30 14:06:32
789
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人