自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 问答 (2)
  • 收藏
  • 关注

原创 Linux on MBP13'1

Identify your MacBook Pro modelhttps://support.apple.com/en-au/HT201300Linux on MacBook Pro Late 2016 and Mid 2017https://gist.github.com/roadrunner2/1289542a748d9a104e7baec6a92f9cd7Mac下linux双系统的安...

2018-12-15 16:16:29 234

转载 windows 豆沙绿参数

豆沙绿的参数为:a. RGB颜色:199;237;204b. 十六位颜色代码:C7EDCCc. 色调:85;饱和度:123;亮度:205

2018-12-13 14:31:47 13198

原创 最简洁的C++ split

std::vector<std::string> split(const std::string& s, char delimiter){   std::vector<std::string> tokens;   std::string token;   std::istringstream tokenStream(s);   while (std::getline...

2018-07-06 11:40:21 13979

转载 C++11: std::threads managed by a designated class

Recently I have noticed an unobvious problem that may appear when using std::threads as class fields. I believe it is more than likely to meet if one is not careful enough when implementing C++ classe

2017-01-17 11:36:29 355

转载 Install Seafile Secure Cloud Storage on CentOS 7

yum install httpd mariadb-server mariadbsystemctl start httpd.servicesystemctl start mariadb.servicesystemctl enable httpd.servicesystemctl enable mariadb.servicemysql_secure_installation;# yum insta

2016-04-01 11:32:22 1060

转载 linux 0号进程和1号进程的区别

系统允许一个进程创建新进程,新进程即为子进程,子进程还可以创建新的子进程,形成进程树结构模型。整个linux系统的所有进程也是一个树形结构。树根是系统自动构造的,即在内核态下执行的0号进程,它是所有进程的祖先。由0号进程创建1号进程(内核态),1号负责执行内核的部分初始化工作及进行系统配置,并创建若干个用于高速缓存和虚拟主存管理的内核线程。随后,1号进程调用execve()运行可执行程序init,

2016-03-02 21:20:34 676

转载 交叉验证(Cross-validation)

交叉验证是一种用来评价一个统计分析的结果是否可以推广到一个独立的数据集上的技术。主要用于预测,即,想要估计一个预测模型的实际应用中的准确度。它是一种统计学上将数据样本切割成较小子集的实用方法。于是可以先在一个子集上做分析, 而其它子集则用来做后续对此分析的确认及验证。交叉验证的理论是由Seymour Geisser所开始的。 它对于防范testing hypotheses su

2015-12-21 21:23:55 9450

转载 Avoid Using The “system("pause")” !

Avoid Using The “system("pause")” !About  system("pause")I've never understood why system("PAUSE") is so popular. Sure it will pause a program before it exits. This pause is very use

2015-10-15 12:20:50 342

转载 自己动手写一个推荐系统

废话:最近朋友在学习推荐系统相关,说是实现完整的推荐系统,于是我们三不之一会有一些讨论和推导,想想索性整理出来。在文中主要以工程中做推荐系统的流程着手,穿插一些经验之谈,并对于推荐系统的算法的学术界最新的研究进展和流派作一些介绍。当然由于我做推荐系统之时还年幼,可能有很多偏颇甚至错误的见解,就当抛砖引玉,还请各位大大指点。  Reading lists

2015-09-06 15:24:51 509

转载 当推荐算法开源包多如牛毛,为什么我们还要专门的推荐算法工程师

作为一个推荐系统的菜鸟,在机器学习领域的鄙视链中,我感觉一直地位不高,时常被搞NLP CV语音等高科技技术的朋友鄙视。最近甚至被人问,推荐算法开源包多如牛毛,我们为什么还要专门的推荐算法工程师?(难道想要辞退我!?惊)不得不说,我想吐槽这个观点很久了。事实上搞推荐的工作不等于 import IBCF 或者 import time SVD++ import tensor啊摔!

2015-09-06 15:15:33 453

转载 Batch & Stochatic Gradient Descent

1. 梯度下降法梯度下降法的原理可以参考:斯坦福机器学习第一讲。我实验所用的数据是100个二维点。如果梯度下降算法不能正常运行,考虑使用更小的步长(也就是学习率),这里需要注意两点:1)对于足够小的,  能保证在每一步都减小;2)但是如果太小,梯度下降算法收敛的会很慢;总结:1)如果太小,就会收敛很慢;2)如果太大,就不能保证每一次迭代都减小,也

2015-07-22 15:11:54 426

转载 决策树ID3分类算法的C++实现

数据挖掘课上面老师介绍了下决策树ID3算法,我抽空余时间把这个算法用C++实现了一遍。决策树算法是非常常用的分类算法,是逼近离散目标函数的方法,学习得到的函数以决策树的形式表示。其基本思路是不断选取产生信息增益最大的属性来划分样例集和,构造决策树。信息增益定义为结点与其子结点的信息熵之差。信息熵是香农提出的,用于描述信息不纯度(不稳定性),其计算公式是Pi为子集合中不同

2015-07-20 21:10:07 839

转载 梯度下降法

一.介绍      梯度下降法(gradient descent)是求解无约束最优化问题的一种常用方法,有实现简单的优点。梯度下降法是迭代算法,每一步需要求解目标函数的梯度向量。    二.应用场景     1.给定许多组数据(xi, yi),xi(向量)为输入,yi为输出。设计一个线性函数y=h(x)去拟合这些数据。     2.感知机:感知机(perceptron)为二

2015-07-17 10:16:18 350

转载 最小二乘法-ALS

一. 最小二乘法我们以最简单的一元线性模型来解释最小二乘法。什么是一元线性模型呢? 监督学习中,如果预测的变量是离散的,我们称其为分类(如决策树,支持向量机等),如果预测的变量是连续的,我们称其为回归。回归分析中,如果只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为

2015-07-17 10:12:48 1948

转载 STLPort、Loki之内存分配器

STLPort、Loki之内存分配器一个好的内存分配器(allocator),对于服务器的性能是至关重要的,vc版STL、STLPort、Loki、ACE之类的库都带了内存分配器,但是它们的实现方法、效率都有所不同,在别人的代码里也看了不少别人写的内存分配器,自己也写过一个内存分配器,它们或多或少都有一些不满足要求、不够灵活或者效率还可以改善之类的问题,现在在这里对这些内存分配器做一个比较

2015-07-05 19:28:39 492

原创 horrible, crazy and hardworking of TFG

2015-06-14 02:47:49 339

转载 教你看懂C++类库函数定义之三---_stdcall

一切从一个C++ 类库头文件开始,现在在做一个C++的项目,期间用到一个开源的界面库DUILib(类似MFC),这个东西还不错能很容易的写出漂亮的界面,比如QQ的界面,可以去下载下来研究研究,地址:http://code.google.com/p/duilib/废话不多说,我比较困扰的是UIWebBrowser.h这个头文件,虽然是C++写的,但里面包含太多大学C++课本以外的东西,第一遍

2015-05-27 22:31:33 425

转载 C++匈牙利命名法

匈牙利命名法匈牙利命名法是一种编程时的命名规范。基本原则是:变量名=属性+类型+对象描述,其中每一对象的名称都要求有明确含义,可以取对象名字全称或名字的一部分。命名要基于容易记忆容易理解的原则。保证名字的连贯性是非常重要的。举例来说,表单的名称为form,那么在匈牙利命名法中可以简写为frm,则当表单变量名称为Switchboard时,变量全称应该为frmSwitchboard。这

2015-05-27 22:30:35 394

转载 教你看懂C++类库函数定义之一---HRESULT 宏

一切从一个C++ 类库头文件开始,现在在做一个C++的项目,期间用到一个开源的界面库DUILib(类似MFC),这个东西还不错能很容易的写出漂亮的界面,比如QQ的界面,可以去下载下来研究研究,地址:http://code.google.com/p/duilib/废话不多说,我比较困扰的是UIWebBrowser.h这个头文件,虽然是C++写的,但里面包含太多大学C++课本以外的东西,第一遍

2015-05-27 22:30:18 415

转载 教你看懂C++类库函数定义之二---STDMETHOD介绍

一切从一个C++ 类库头文件开始,现在在做一个C++的项目,期间用到一个开源的界面库DUILib(类似MFC),这个东西还不错能很容易的写出漂亮的界面,比如QQ的界面,可以去下载下来研究研究,地址:http://code.google.com/p/duilib/废话不多说,我比较困扰的是UIWebBrowser.h这个头文件,虽然是C++写的,但里面包含太多大学C++课本以外的东西,第一遍

2015-05-27 22:29:23 403

转载 QMake 生成VS2013的工程文件

QT的bin目录加入到系统环境变量打开CMD,切换到源代码文件夹下,输入 qmake -project 生成.pro的QT工程文件再次输入 qmake -r -spec win32-msvc2013 -tp vc 即可生成2013的vcxproj工程文件

2015-05-07 16:21:54 400

转载 QString和string互转中文字符

string -> QString1 std::string strStd = "中文字符";2 QString strQ = QString::fromLocal8Bit(strStd.c_str());QString -> string1 QString strQ("中文字符");2 std::string strStd= strQ.toStdString();3

2015-05-03 15:22:12 740

转载 QWT编译、配置、使用(VS2010 + Qt5.1.0)

QWT,全称是Qt Widgets for Technical Applications,是一个基于LGPL版权协议的开源项目,可生成各种统计图。它为具有技术专业背景的程序提供GUI组件和一组实用类,其目标是以基于2D方式的窗体部件来显示数据, 数据源以数值,数组或一组浮点数等方式提供, 输出方式可以是Curves(曲线),Slider(滚动条),Dials(圆盘),Compasses(仪表盘

2015-05-03 13:24:06 717

转载 STL三大著名版本的趣闻

STL比较出名的有如下三个:    一个是SGI STL。STL之父离开HP之后就去了SGI(当然不是去搞侏罗纪公园),然后和Matt Austern这些STL大牛一起搞了SGI STL。SGI STL技术比较新,很规范(但是代码读起来未必好懂) 像concept checking这些技术用的不少,boost graph library的想法也是在这其中产生的。后来有人觉得sgi stl很

2015-04-20 12:52:04 603

转载 C++ 前置操作符与后置操作符

int a;++a;//前置操作符a++;//后置操作符C语言中,常常使用后置操作符。而C++中建议,只有在必要时才使用后置操作符。因为前置操作需要做的工作更少,只需加1后返回加1的结果即可。而后置操作符则必须先保存操作数原来的值,以便返回未加1之前的值作为操作的结果。对于int型对象和指针,编译器可优化掉这项额外工作。但是对于更多的复杂迭代器类型,这种额外

2015-04-17 20:23:48 401

转载 请禁用VS(C++)2013的链接器的COMDAT选项

编译器开发一直是计算机科学中的基础性重点研究领域以至于国内每本计算机导论类的教材都将其归为和OS一级的系统软件,所以经过几十年的发展编译原理有一整套完善详尽的理论。在科学领域追求真理的道路上不存在终点,有的只是一代代开拓者们对精益求精的诠释。编译器对程序的优化有三条基本原则:(1)等价原则。经过优化后不应改变程序运行的结果;(2)有效原则。使优化后所产生的目标代码运行时间较

2015-04-16 00:05:31 2487

转载 boost-1.55.0和STLport-5.2.1的适配

编译环境:WIN8.1,VS2013专业版update3一、编译boost本博客已有,参考列表,不再赘述。二、STLport适配因为STLport并不完整支持C++11,所以需要修改一些STLport的源码,如下:1. 将_cstdlib.h(158)代码修正为#if !defined(_STLP_MSVC) || (_STLP_MSVC

2015-04-14 23:11:44 732

转载 C++内存区块

2015-01-22 23:11:14 349

转载 库的 link 和 runtime-link,搭配shared 和 static

静态库:在编译的时候加载生成目标文件,在运行时不用加载库,在运行时对库没有依赖性。 动态库:在目标文件运行时加载,手动加载,且对库有依赖性。 两者区别: 一,静态库的使用需要: 1 包含一个对应的头文件告知编译器lib文件里面的具体内容 2 设置lib文件允许编译器去查找已经编译好的二进制代码 二,动态库的使用: 程序运行时需要加载动态库,对动态库有依赖性,需要

2014-12-30 22:00:55 694 1

转载 编译Boost 详细步骤 适用 VS2013

vs2008编译boost 【一、Boost库的介绍】Boost库是一个经过千锤百炼、可移植、提供源代码的C++库,作为标准库的后备,是C++标准化进程的发动机之一。Boost库由C++标准委员会库工作组成员发起,其中有些内容有望成为下一代C++标准库内容。在C++社区中影响甚大,其成员已近2000人。 Boost库为我们带来了最新、最酷、最实用的技术,是不折不扣的“准”标准库。

2014-12-30 21:59:13 831

转载 冒泡,插入,折半插入,希尔,快速,简单选择排序源码总结

#include iostream>  using namespace std;  //各种排序方法:  /**冒泡排序法**/  //它的时间复杂度为O(n^2),虽然不及堆排序、快速排序的O(nlogn,底数为2),但是有两个优点:1.“编程复杂度”很低,很容易写出代码;2.具有稳定性,这里的稳定性是指原序列中相同元素的相对顺序仍然保持到排序后的序列,而堆排序、快速排序均不具有

2014-12-24 13:53:40 585

转载 strcpy、strncpy与memcpy的区别与使用方法

strcpy、strncpy与memcpy的区别与使用方法strcpy、strncpy、memcpy这三个C语言函数我们在主机代码编写中会很频繁的使用到,但是三个函数的区别、使用时该注意什么还是有必要说下的。本文参考《C 标准库》编写。一、函数说明1、memcpy函数void  *memcpy(void *s1,  const void *s2,  size

2014-12-18 15:56:23 548

转载 不用临时变量交换两个数的值

就地交换两个数是比较经典而且基础的算法之一。 我们要交换两个数字,通常的做法就创建一个中间变量,然后进行循环赋值,比如说下面的代码:void Switch(int* p1, int* p2){     int tmp = *p1;     *p1 = *p2;     *p2 = tmp;}这种做法是最常见的一种交换两个数字的方法,但研究算法的人总是会提出比较诡异的

2014-11-02 18:54:15 387

转载 散列表的开放寻址法

开放寻址法(open addressing)中,所有元素都存放在槽中,在链表法散列表中,每个槽中保存的是相应链表的指针,为了维护一个链表,链表的每个结点必须有一个额外的域来保存它的前戏和后继结点。开放寻址法不在槽外保存元素,不使用指针,也不必须为了维护一个数据结构使用额外的域,所有可以不用存储指针而节省的空间,使得可以用同样的空间来提供更多的槽,也潜在地减少了冲突,提高了检索速度。为了使用

2014-10-23 12:12:45 2586

转载 STL之Input & Output Iterator

1         输入迭代器(input iterator)——用于读取容器中的信息,但不一定能够修改它。n         输入迭代器iter通过解除引用(即*iter),来读取容器中其所指向元素之值;n         为了使输入迭代器能够访问容器中的所有元素的值,必须使其支持(前/后缀格式的)++ 操作符;n         输入迭代器不能保证第二次遍历

2014-10-19 22:36:45 1014

转载 algorithms

再好的编程技巧,也无法让一个笨拙的算法qisihuish

2014-10-19 22:25:39 483

转载 The Open Source Definition

IntroductionOpen source doesn't just mean access to the source code. The distribution terms of open-source software must comply with the following criteria:1. Free Redistri

2014-10-01 13:22:18 389

转载 Destructors That Throw and Why They're Evil

SolutionThis brings us to a key topic, namely the innocent looking delete[] p;. What does it really do? And how safe is it?Destructors That Throw and Why They're EvilFirst, recall our st

2014-08-21 09:20:27 644

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除