精华内容
下载资源
问答
  • 天,不论是商圈、科技圈还是金融圈,说起最炙手可热的词,无外乎只有一,那便是“区块链”,随着上层对“区块链”的认可,更多的依托区块链技术的数字货币,成为新的投资资产。而投资者该如何购买比特币等数字...

    这几天,不论是商圈、科技圈还是金融圈,说起最炙手可热的词,无外乎只有一个,那便是“区块链”,随着上层对“区块链”的认可,更多的依托区块链技术的数字货币,成为新的投资资产。而投资者该如何购买比特币等数字货币呢?又该如何选择数字货币交易所呢?无论选择哪家交易所一定要以下几点!

    1、口碑和品牌
    目前,全球大大小小的数字货币交易所有上千家,为了满足投资者的需求,不同平台的手续费设置、主营业务也有所不同,在不了解的情况下,很多刚进圈的投资者可能会挑花了眼。这个时候不妨多和圈内的“老韭菜”交流,一定要选正规的数字货币交易所,了解具体数字货币交易平台的口碑如何,每次口碑传播背后,都定会有一个用心的品牌。建议选择正在发展成长中、值得信赖具有一定实力的满币数字货币交易所。

    2、产品体验
    很多数字货币交易所能够做起来的原因就是因为产品体验好,功能强大且丰富。在投资数字货币的过程中真正能够帮助投资者赚到钱,才能真正为大家所喜爱。行业中也不乏出现“扎针”“定点爆仓”“暗箱操作”等割韭菜行为,所以投资者在选择将投资资金转入交易所时,一定要考虑到产品的体验,可以咨询圈内好友的评价和体验回馈,综合评估后再做决定会更好哦!

    3、主营业务
    选择数字货币交易所也要尽可能找适合自己投资风格的交易平台,市场上有主营现货的交易所,也有主营合约衍生品的交易所。如果你属于稳健型投资者可以选择现货为主的交易所,如满币。如果你追求高风险高收益的话 可以选择以合约衍生品为主的交易所。

    4、一些并不中立的网站的暗箱排名
    可能你看到这篇文章之前,已经搜索一些网站给出的数字货币交易所排名优先级了,但是呢!数字货币圈里,有钱你可以为所欲为,有些所谓的排名网站,看似中立,实则完全是通过金钱与排名先后相挂钩,所以有些排名信息切勿全信。这块建议多跟“老韭菜”沟通。

    5、新手小白挺进币圈第一站
    数字货币造富神话下,新手小白投资者如何进入币圈投资,要规避哪些风险和老坑?一个资深老玩家的日常心得体会,带新手小白零基础投资炒币,畅游币圈投资蓝海!

    展开全文
  • 这里不光改了标签,还有几个参数也是需要改以下的,学习率比sigmoid的时候要小一个量级,效果会比较好。这样训练出来的正确率大概在0.88左右,也是可以接受的。 最后,代码和数据可以在 Github 下载。

    本文由@星沉阁冰不语出品,转载请注明作者和出处。

    文章链接:http://blog.csdn.net/xingchenbingbuyu/article/details/53736154

    微博:http://weibo.com/xingchenbing 



    之前的五篇博客讲述的内容应该覆盖了如何编写神经网络的大部分内容,在经过之前的一系列努力之后,终于可以开始实战了。试试写出来的神经网络怎么样吧。


    一、数据准备


    有人说MNIST手写数字识别是机器学习领域的Hello World,所以我这一次也是从手写字体识别开始。我是从Kaggle找的手写数字识别的数据集。数据已经被保存为csv格式,相对比较方便读取。


    数据集包含了数字0-9是个数字的灰度图。但是这个灰度图是展开过的。展开之前都是28x28的图像,展开后成为1x784的一行。csv文件中,每一行有785个元素,第一个元素是数字标签,后面的784个元素分别排列着展开后的184个像素。看起来像下面这样:



    也许你已经看到了第一列0-9的标签,但是会疑惑为啥像素值全是0,那是因为这里能显示出来的,甚至不足28x28图像的一行。而数字一般应该在图像中心位置,所以边缘位置当然是啥也没有,往后滑动就能看到非零像素值了。像下面这样:



    这里需要注意到的是,像素值的范围是0-255。一般在数据预处理阶段都会归一化,全部除以255,把值转换到0-1之间。


    csv文件中包含42000个样本,这么多样本,对于我六年前买的4000元级别的破笔记本来说,单单是读取一次都得半天,更不要提拿这么多样本去迭代训练了,简直是噩梦(兼论一个苦逼的学生几年能挣到换电脑的钱!)所以我只是提取了前1000个样本,然后把归一化后的样本和标签都保存到一个xml文件中。在前面的一篇博客中已经提到了输入输出的组织形式,偷懒直接复制了:


    “既然说到了输出的组织方式,那就顺便也提一句输入的组织方式。生成神经网络的时候,每一层都是用一个单列矩阵来表示的。显然第一层输入层就是一个单列矩阵。所以在对数据进行预处理的过程中,我就是把输入样本和标签一列一列地排列起来,作为矩阵存储。标签矩阵的第一列即是第一列样本的标签。以此类推。”


    把输出层设置为一个单列十行的矩阵,标签是几就把第几行的元素设置为1,其余都设为0。由于编程中一般都是从0开始作为第一位的,所以位置与0-9的数字正好一一对应。我们到时候只需要找到输出最大值所在的位置,也就知道了输出是几。

    这里只是重复一下,这一部分的代码在csv2xml.cpp中:
    #include<opencv2\opencv.hpp>
    #include<iostream>
    using namespace std;
    using namespace cv;
    
    
    //int csv2xml()
    int main()
    {
    	CvMLData mlData;
    	mlData.read_csv("train.csv");//读取csv文件
    	Mat data = cv::Mat(mlData.get_values(), true);
    	cout << "Data have been read successfully!" << endl;
    	//Mat double_data;
    	//data.convertTo(double_data, CV_64F);
    	
    	Mat input_ = data(Rect(1, 1, 784, data.rows - 1)).t();
    	Mat label_ = data(Rect(0, 1, 1, data.rows - 1));
    	Mat target_(10, input_.cols, CV_32F, Scalar::all(0.));
    
    	Mat digit(28, 28, CV_32FC1);
    	Mat col_0 = input_.col(3);
    	float label0 = label_.at<float>(3, 0);
    	cout << label0;
    	for (int i = 0; i < 28; i++)
    	{
    		for (int j = 0; j < 28; j++)
    		{
    			digit.at<float>(i, j) = col_0.at<float>(i * 28 + j);
    		}
    	}
    
    	for (int i = 0; i < label_.rows; ++i)
    	{
    		float label_num = label_.at<float>(i, 0);
    		//target_.at<float>(label_num, i) = 1.;
    		target_.at<float>(label_num, i) = label_num;
    	}
    
    	Mat input_normalized(input_.size(), input_.type());
    	for (int i = 0; i < input_.rows; ++i)
    	{
    		for (int j = 0; j < input_.cols; ++j)
    		{
    			//if (input_.at<double>(i, j) >= 1.)
    			//{
    			input_normalized.at<float>(i, j) = input_.at<float>(i, j) / 255.;
    			//}
    		}
    	}
    
    	string filename = "input_label_0-9.xml";
    	FileStorage fs(filename, FileStorage::WRITE);
    	fs << "input" << input_normalized;
    	fs << "target" << target_; // Write cv::Mat
    	fs.release();
    
    
    	Mat input_1000 = input_normalized(Rect(0, 0, 10000, input_normalized.rows));
    	Mat target_1000 = target_(Rect(0, 0, 10000, target_.rows));
    
    	string filename2 = "input_label_0-9_10000.xml";
    	FileStorage fs2(filename2, FileStorage::WRITE);
    
    	fs2 << "input" << input_1000;
    	fs2 << "target" << target_1000; // Write cv::Mat
    	fs2.release();
    
    	return 0;
    }
    


    这是我最近用ReLU的时候的代码,标签是几就把第几位设为几,其他为全设为0。最后都是找到最大值的位置即可。


    在代码中Mat digit的作用是,检验下转换后的矩阵和标签是否对应正确这里是把col(3),也就是第四个样本从一行重新变成28x28的图像,看上面的第一张图的第一列可以看到,第四个样本的标签是4。那么它转换回来的图像时什么样呢?是下面这样:



    这里也证明了为啥第一张图看起来像素全是0。边缘全黑能不是0吗?


    然后在使用的时候用前面提到过的get_input_label()获取一定数目的样本和标签。


    二、实战数字识别


    没想到前面数据处理说了那么多。。。。


    废话少说,直接说训练的过程:

    1.给定每层的神经元数目,初始化神经网络和权值矩阵

    2.从input_label_1000.xml文件中取前800个样本作为训练样本,后200作为测试样本。

    3.这是神经网络的一些参数:训练时候的终止条件,学习率,激活函数类型

    4.前800样本训练神经网络,直到满足loss小于阈值loss_threshold,停止。

    5.后200样本测试神经网络,输出正确率。

    6.保存训练得到的模型。


    以sigmoid为激活函数的训练代码如下:

    #include"../include/Net.h"
    //<opencv2\opencv.hpp>
    
    using namespace std;
    using namespace cv;
    using namespace liu;
    
    int main(int argc, char *argv[])
    {
    	//Set neuron number of every layer
    	vector<int> layer_neuron_num = { 784,100,10 };
    
    	// Initialise Net and weights
    	Net net;
    	net.initNet(layer_neuron_num);
    	net.initWeights(0, 0., 0.01);
    	net.initBias(Scalar(0.5));
    
    	//Get test samples and test samples 
    	Mat input, label, test_input, test_label;
    	int sample_number = 800;
    	get_input_label("data/input_label_1000.xml", input, label, sample_number);
    	get_input_label("data/input_label_1000.xml", test_input, test_label, 200, 800);
    
    	//Set loss threshold,learning rate and activation function
    	float loss_threshold = 0.5;
    	net.learning_rate = 0.3;
    	net.output_interval = 2;
    	net.activation_function = "sigmoid";
    
    	//Train,and draw the loss curve(cause the last parameter is ture) and test the trained net
    	net.train(input, label, loss_threshold, true);
    	net.test(test_input, test_label);
    
    	//Save the model
    	net.save("models/model_sigmoid_800_200.xml");
    
    	getchar();
    	return 0;
    
    }

    对比前面说的六个过程,代码应该是很清晰的了。参数output_interval是间隔几次迭代输出一次,这设置为迭代两次输出一次。

    如果按照上面的参数来训练,正确率是0.855:



    在只有800个样本的情况下,这个正确率我认为还是可以接受的。


    如果要直接使用训练好的样本,那就更加简单了:

    	//Get test samples and the label is 0--1
    	Mat test_input, test_label;
    	int sample_number = 200;
    	int start_position = 800;
    	get_input_label("data/input_label_1000.xml", test_input, test_label, sample_number, start_position);
    
    	//Load the trained net and test.
    	Net net;
    	net.load("models/model_sigmoid_800_200.xml");
    	net.test(test_input, test_label);
    
    	getchar();
    	return 0;


    如果激活函数是tanh函数,由于tanh函数的值域是[-1,1],所以在训练的时候要把标签矩阵稍作改动,需要改动的地方如下:

    	//Set loss threshold,learning rate and activation function
    	float loss_threshold = 0.2;
    	net.learning_rate = 0.02;
    	net.output_interval = 2;
    	net.activation_function = "tanh";
    
    	//convert label from 0---1 to -1---1,cause tanh function range is [-1,1]
    	label = 2 * label - 1;
    	test_label = 2 * test_label - 1;


    这里不光改了标签,还有几个参数也是需要改以下的,学习率比sigmoid的时候要小一个量级,效果会比较好。这样训练出来的正确率大概在0.88左右,也是可以接受的。



    最后,代码和数据可以在Github下载。

    展开全文
  • 给定一个包含正负数和的一维无序数组,找到三个数字使得乘积最大 思路: 这道题目是个坑啊,我上来都没看直接当做之前一篇博文中求解矩阵中最大子数组和的问题了,采用动态规划的思想来解决,结果呢,只通过了10%...

    题目:

    给定一个包含正负数和零的一维无序数组,找到三个数字使得乘积最大

    思路:

    这道题目是个坑啊,我上来都没看直接当做之前一篇博文中求解矩阵中最大子数组和的问题了,采用动态规划的思想来解决,结果呢,只通过了10%左右,感觉很不可思议,于是重新读题发现不对了,人家说的是三个数字的乘积我这里动态规划的是两个数字的乘积,改成了三个数字的乘积也不对,瞬间郁闷了,不知道问题出现在了哪里,就只好自己在草稿纸上瞎写了,突然发现了端倪,题目给的样例也是一个坑,负数在这里是一个很关键的东西,因为:负负得正啊,那么接下来思路就有了,很简单,先对无序数组排序,那么所有的非负数肯定是出现在了数组的右端(这里默认是升序),在最左端的数可能是0,也可能是正数,也可能是负数,这里分几种情况考虑如下:

    1.最左端是0,那么数组中不存在负数,最大值计算为:num_list[-1]*num_list[-2]*num_list[-3]

    2.最左端为正数:同上

    3.最左端为负数,这里可能有人会说需要考虑负数的个数,其实仔细想想是不需要,这里直接把左端的最大值记为:num_list[0]*num_list[1]*num_list[-1],是不是看出来什么端倪了,对,就是这意思,如果有超过两个负数那么这个表达式计算出来的结果必定是正数而且可能是最大值,如果只有一个负数,那么出现的结果就是:这个表达式的值必然为负数,那么最大值的计算结果就同上面两种情况了

        有了上面的分析之后,就可以得到下面几行代码的实现了,当然核心真的只有四五行,我下面加入了一点打印信息方便看结果:


    #!usr/bin/env python  
    #encoding:utf-8  
      
    ''''' 
    __Author__:沂水寒城 
    功能:求解一维无序数组中三个数字乘积最大值(正负零均存在)
    ''' 
    
    
    def LargetThreeNumMutiple(n, num_list):
        num_list = [ int(i) for i in num_list.split(' ') ]
        num_list.sort()
        return max(num_list[0] * num_list[1] * num_list[-1], num_list[-1] * num_list[-2] * num_list[-3])
    
    if __name__ == '__main__':
        n = raw_input()
        num_list = raw_input()
        print '三个数字乘积最大值为:', LargetThreeNumMutiple(n, num_list)
    
    
    



    结果如下:


    4
    4 3 2 1
    三个数字乘积最大值为: 24
    
    7
    0 9 -5 7 1 3 2
    三个数字乘积最大值为: 189
    
    5
    0 1 6 11 4
    三个数字乘积最大值为: 264
    
    10
    -3 -5 -7 -11 -9 0 3 5 67 1
    三个数字乘积最大值为: 6633
    
    15
    -34 23 45 6 7 0 0 -12 -32 -45 90 44 55 90 -100
    三个数字乘积最大值为: 445500

        好了,要回去睡觉了,好困,如有感兴趣的朋友,欢迎交流哈。

    展开全文
  • 金额与数字转化常用实用几个JS方法

    万次阅读 2008-07-29 13:12:00
    财务系统中常用金额与数字转化的处理,这里包括以下几个方法:1、去空格2、页面控件的金额与数字之间的转换3、一般金额与数字之间的转换4、将数字金额转化为汉字金额。 //在引用页面,可以采用document.forms[0]....

     财务系统中常用到金额与数字转化的处理,这里包括以下几个方法:1、去空格2、页面控件的金额与数字之间的转换3、一般金额与数字之间的转换4、将数字金额转化为汉字金额。

    //在引用页面,可以采用document.forms[0].field1.value.trim()引用去空格
    String.prototype.trim = function(){
        return this.replace(/(^/s*)|(/s*$)/g, "");
    }
    
    
    //将1,234,567.00转换为1234567.00
    function moneyToNumFiled(obj) {
        var num=obj.value.trim();
        var ss=num.toString();
    	if(ss.length==0){
    	  return "";
    	}	
        num=new Number(ss.replace(/,/g, ""));
    	if(!/^(/+|-)?/d+(/.[0-9]{1,2})?$/.test(num)){
    	  alert("必须是数字型,切小数位最多保留两位"); 
    	  obj.value="";
    	  obj.focus();
    	  return ;
        }
    	obj.value=num;
    	   
    }
    
    
    //将1,234,567.00转换为1234567.00
    function moneyToNumValue(val) {
        var num=val.trim();
        var ss=num.toString();
    	if(ss.length==0){
    	  return "0";
    	}	
        return ss.replace(/,/g, "");
    	
    }
    
    //用于页面控制
    //将1234567.00转换为1,234,567.00
    function numToMoneyField(obj) {
       
        var ss=obj.value.toString().trim();
    	if(ss.length==0){
    	  return "";
    	}	
        var num=new Number(ss.replace(/,/g, ""));
    	if(!/^(/+|-)?/d+(/.[0-9]{1,2})?$/.test(num)){
    		
    	  alert("必须是数字型,切小数位最多保留两位"); 
    	  obj.value="";
    	  obj.focus();
    	  return;
        }
    	
    	if(num<0){
    		obj.value = '-'+outputDollars(Math.floor(Math.abs(num)-0) + '') + outputCents(Math.abs(num) - 0);
    	}else{
    	    obj.value = outputDollars(Math.floor(num-0) + '') + outputCents(num - 0);
    	}
    }
    
    //将1234567.00转换为1,234,567.00
    function numToMoneyValue(val) {
       
        var ss=val.toString().trim();
    	if(ss.length==0){
    	  return "";
    	}	
        var num=new Number(ss.replace(/,/g, ""));
    	if(!/^(/+|-)?/d+(/.[0-9]{1,2})?$/.test(num)){
    	  alert("必须是数字型,切小数位最多保留两位");	  
    	  return "";
        }
    	
    	if(num<0){
    		return '-'+outputDollars(Math.floor(Math.abs(num)-0) + '') + outputCents(Math.abs(num) - 0);
    	}else{
    	    return outputDollars(Math.floor(num-0) + '') + outputCents(num - 0);
    	}
    }
    
    function Chinese(num){   //如输入123.45可得到 壹百贰拾叁元肆角伍分
        var AA = new Array("零","壹","贰","叁","肆","伍","陆","柒","捌","玖");
        var BB = new Array("","拾","百","千","万","亿","","");
        var CC = new Array("角","分","");
        
        var a = (""+ num).replace(/(^0*)/g, "").split("."), k = 0, re = "";
    
        for(var i=a[0].length-1; i>=0; i--){
            switch(k){
                case 0 : re = BB[7] + re; break;
                case 4 : if(!new RegExp("0{4}//d{"+ (a[0].length-i-1) +"}$").test(a[0]))
                         re = BB[4] + re; break;
                case 8 : re = BB[5] + re; BB[7] = BB[5]; k = 0; break;
            }
            if(k%4 == 2 && a[0].charAt(i+2) != 0 && a[0].charAt(i+1) == 0) re = AA[0] + re;
            if(a[0].charAt(i) != 0) re = AA[a[0].charAt(i)] + BB[k%4] + re; k++;
        }
    	if(re.trim().length>0){
    	  re+="元"; 
    	}
        
        if(a.length>1){ //加上小数部分(如果有小数部分)
            re += BB[6];
            for(var i=0; i1) break;
              re += AA[a[1].charAt(i)] + CC[i];
            }
        }
    
        return re;
    }
    //格式化输入数字,并保留指定位小数
    //amount为原数字,_pow_为需要保留小数位数
    function powAmount(amount,_pow_) {
    	 var amount_bak=amount;
    	 var base=10;
    	 if(isNaN(amount)){
    	 	alert(amount+'必须为数字');
    	 	return;
    	 }
    	 if(isNaN(_pow_)){
    	 	alert(_pow_+'必须为数字');
    	 	return;
    	 }
       amount = Math.round( ( amount - Math.floor(amount) ) *Math.pow(base,_pow_));
       amount=amount<10 ? '.0' + amount : '.' + amount
       amount=Math.floor(amount_bak)+amount;
       return amount;
    }
    
    
    
    

    本文出自:冯立彬的博客



    展开全文
  • 从零开始搭建一HTTPS网站

    万次阅读 2016-12-21 13:56:12
    你在谷歌搜索了一关键词(假设Google使用HTTP),HTTP数据包你的计算机传送服务器的过程中,中间经过的任意一设备都可以轻松解析你的数据包,获取你的关键词,你的隐私毫无保障。你的信息被人获取只是明文...
  • 给出正整数n(可能有前导0),请求出n!最右非的数位的值。
  • 输出阶乘的最后一位非数字,例如: 5!=1*2*3*4*5=120,所以5!的最靠后的非位是2。 7!=1*2*3*4*5*6*7=5040,所以最靠后的非位是4。
  • 从零开始学习Linux笔记

    万次阅读 多人点赞 2020-05-15 19:12:14
    从零开始学习Linux,记录笔记,担心自己以后会忘,也供大家茶余饭后,闲来无事看看,自己的理解只能这,也希望大家可以指出我的错误 让我可以有一点点进步,以后会一直更新
  • 最近有朋友在后台问为啥最近老介绍hash相关文章,其实hash算法在信息安全中非常重要,尤其是作为数字签名中非常重要的一环,今天就来详细把这事情讲清楚白话hash可能以前的文章讲得不够简单,hash算法其实就是将一...
  • n!末尾有几个零---百度面试题

    千次阅读 2012-11-10 16:56:41
    一般类似的题目都会蕴含某种规律或简便方法的,阶乘末尾一个零表示一进位,则相当于乘以10,而10 是由2*5所得,在1~100当中,可以产生10的有:2 4 5 6 8 结尾的数字,显然2是足够的,因为4、6、8当中都含有
  • 如何从零开始写一操作系统?

    万次阅读 多人点赞 2019-08-20 18:17:55
    如何从零开始写一简单的操作系统? 关注问题 写回答 操作系统 编程学习 如何从零开始写一简单的操作系统? 看了这从零开始写一简单的操作系统 求指教。 关注者 4,787 被浏览 352,884 关注问题 ...
  • js接收数字,最后数字变成了0

    千次阅读 2019-05-05 17:58:59
    Java后台传一数值前端的js中,Java中输出为97761478957858935, 但在js中输出便成了97761478957858930 最后一位竟然都变成了0 原来是js数字最长为16位,97761478957858935是17位,所以最后一位自动变为了0 ...
  • 题目: 输入一串字符统计这串字符中0有多少,1有多少,…,9有多少。 #include int main() { char c; int shu[10]={0},i; while((c=getchar())!='\n') ... printf("%d有%d\n",i,shu[i]); }
  • FPGA从零开始大神怎么学

    万次阅读 多人点赞 2018-07-14 02:42:34
    原创: 刘勇材 玩儿转FPGA 微信公总号 1 选好一本比较全,排版比较...[1] FPGA从零开始大神怎么学 http://www.51openchip.com/forum.php?mod=viewthread&tid=38946&fromuid=2 (出处: openchip--中国开源芯片社区)
  • 距离第一篇Butterworth滤波器设计博文之后已经过了一年半,当时说过要把切比雪夫滤波器、椭圆滤波器和贝塞尔滤波器都介绍的,由于各种原因拖现在,自己挖的坑还是要填的。这里先总体介绍下数字滤波器的设计步骤和...
  • 题目:n个数字(0,1,…,n-1)形成一个圆圈,数字0开始,每次这个圆圈中删除第m个数字(第一个为当前数字本身,第二个为当前数字的下一个数字)。当一个数字删除后,被删除数字的下一个继续删除第m个数字。求出...
  • 7/14数字图像处理笔记

    万次阅读 2020-07-14 12:50:00
    7/14补充高频分量和低频分量锐化,钝化(平滑)图像复原与重建图像退化/复原过程模型噪声知识补充噪声模型重要的噪声概率密度函数周期噪声噪声参数的估计只存在噪声的复原——空间滤波均值滤波器统计排序滤波器用...
  • 几个幸运数字为:4,7,44,47,74,77,444,447...  现在输入一个数字K,输出第K个幸运数。     输入   第一行一个数字T(T&lt;=1000)表示测试数据的组数。对于每组测试数据,输出一个数K     输出...
  • 扩展一个数字的位表示和截断数字

    千次阅读 2016-08-27 11:07:18
    一、扩展一个数字的位表示一种常见的运算是在不同字长的整数之间转换,例如,一个较小的数据类型转换一个较大的数据类型。将一个无符号数转换为一个更大的数据类型,只需要简单地在表示的开头添加 0,这种运算...
  • Android-IM从零开始开发一即时通讯项目

    万次阅读 多人点赞 2017-08-30 13:42:59
    其原理是服务器是一直在启动状态的线程,不断的客户端(App)获取消息,收到消息后,进行类型和发送目标判断,以发送群组或者单聊的方式,客户端收到消息后进行界面的展示。如果要自己开发即时通讯类的 App,...
  • 从零学习Belief Propagation算法(三)

    万次阅读 多人点赞 2017-10-29 23:28:05
    从零学习Belief Propagation算法...内容稍多将分为几个主题来写。本系列文章将包含以下内容: 必备的概率论基础 概率论概率图模型 Bayes 网络 Markov 随机场 因子图 Factor Graph Belief Propagation算法 从零
  • 关于"保留小数点后数字

    千次阅读 2012-12-16 11:55:21
     刚刚做了一杭电的题目,上面有要求是输出时要求保留小数点后数字后然后输出。既然又看到了这熟悉的字眼和要求,那就在这里稍微写些东西算是记载一下吧,也算是一小总结,不过这里总结的只是目前我所...
  • UTF-8编码占几个字节?

    万次阅读 2019-01-29 16:18:00
    占2字节的:带有附加符号的拉丁文、希腊文、西里尔字母、亚美尼亚语、...一utf8数字占1字节 一utf8英文字母占1字节 少数是汉字每占用3字节,多数占用4字节。   占用3字节的范围     ...
  • 从零开始nodejs系列文章-nodejs到底能干什么

    万次阅读 多人点赞 2016-01-08 14:04:24
     从零开始nodejs系列文章, 将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发。Nodejs框架是基于V8的引擎,是目前速度最快的 Javascript引擎。chrome浏览器就基于V8,同时打开20-30网页都很流畅。...
  • 短短6月间,他 Python 入门,发展给 Mac 开发小游戏,再自学Objective-C 和 Cocos2d。    这是一毫无编程经验的“菜鸟”在成长为 iOS 游戏开发者后,总结的成长史。短短6月间,他 Python...
  • n 个数字(0,1,…,n-1)形成一个圆圈,数字0 开始,每次这个圆圈中删除第m 个数字(第一个为当前数字本身,第二个为当前数字的下一个 数字), 当一个数字删除后,被删除数字的下一个继续删除第m 个数字。 求...
  • 不过手头资料确实不少,刚开始我参加电赛也是机缘巧合,能获奖更是非常幸运,不过怎么说,一分耕耘一分收获,就算大家开始什么都不会,仅仅是听说过这比赛而突发奇想去参加,只要坚持训练也是可能拿令你满意的...
  • Hive基础入门实战 入门篇(一)环境搭建

    万次阅读 多人点赞 2019-04-05 21:11:23
    作为一数据分析师,操作Hive提取数据已经成为了一必备技能,但对数据分析师来说,查询才是做的最多的操作,毕竟使用工具是为了完成分析。所以我认为数据分析师是不需要掌握Hive具体的底层架构、安装运维、甚至是...
  • 数字滤波器回顾与解析

    千次阅读 2016-11-27 18:38:57
    1.综述 数字滤波器是一离散的系统。它可以对输入的离散信号进行一系列运算处理,输入的信号中获得所需要的信息。数字滤波器的系统函数通常表示...IIR数字滤波器a(i)至少有一。 2.IIR滤波器 IIR
  • 缓冲区溢出是一常见的且大家经常耳闻的软件安全漏洞,缓冲区溢出即是数据被过多的写入内存或者缓冲区,当一缓冲区内的数据写满后,如果继续写入数据,数据就会溢出其他缓冲区中,这将会覆盖或者说是

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 193,332
精华内容 77,332
关键字:

从零到7几个数字