自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(333)
  • 收藏
  • 关注

原创 TBB使用教程

官方tutorial https://software.intel.com/en-us/tbb-user-guide1.parallel_for:常规方式(非lambda函数):1.1串行版本:void SerialApplyFoo( float a[], size_t n ) { for( size_t i=0; i!=n; ++i ) Foo(a[i]);}并行版本:首

2017-03-15 15:09:33 7907

转载 C/C++中函数调用规则(约定)__cdecl __stdcall __thiscall __vectorcall __fastcall __clrcall

转自https://my.oschina.net/ray1421/blog/699540相关文献__stdcallhttps://msdn.microsoft.com/en-us/library/zxk0tw93.aspxC语言函数可变参数详解 - ranpanf的专栏 - 博客频道 - CSDN.NEThttp://blog.csdn.net/ranpanf/arti

2017-02-06 10:54:20 3947

原创 数据分析框架Pandas进阶

广播运算多维数据和一维数据进行运算称为广播,会自动按标签匹配对每个元素执行运算。In [13]: frmOut[13]: 0 1 2a 0 1 2b 3 4 5c 6 7 8In [16]: sr2 = Series([3,2,4],index = range(3))In [17]: frm + sr2Out[17]: 0 1 2a 3 3

2016-05-12 10:54:40 1705

原创 数据分析框架Pandas入门

数据结构:SeriesSeries是一种类似一维数组的数据结构,输出时会同时显示索引和值In [6]: a = Series([3,5,2])In [7]: aOut[7]:0 31 52 2dtype: int64分别得到索引和值In [10]: a.valuesOut[10]: array([3, 5, 2], dtype=int64)In [11]: a.ind

2016-05-09 23:11:21 1844

原创 Github入门教程

0.安装mac和Linux默认预装git windows:https://git-for-windows.github.io/ 安装过程中仔细阅读安装流程,普通用户选择默认选项即可。1.初始设置输入命令: git config --global user.email "[email protected]" git config --global user.name "Your Name"字符串

2016-04-07 21:38:38 718

原创 Stanford 机器学习笔记 Week11 Application Example: Photo OCR

Photo OCRProblem Description and PipelineOCR: Optical Character Recognition 步骤: 1.识别包含文字的图片区域 2.将每块图片中的各个文字分隔开 3.对每个文字进行识别这种算法流程被称为pipeline,前一个模块的输出是下一个模块的输入。Sliding Windows本节分别介绍一下上述三个步骤的实现过程:1.T

2016-04-07 19:54:46 1343

原创 Stanford 机器学习笔记 Week10 Large Scale Machine Learning

Gradient Descent with Large DatasetsLearning With Large Datasets在处理海量数据时对算法会有更高的要求。比如在计算偏导数时,当m很大时对m个元素求和的开销会很大。因此在将算法应用于海量数据时最好先确定算法没有high-bias,方法就是绘制leaning curve,左图是high-varience的,增大数据量会改善算法表现,而右图hi

2016-03-30 14:46:58 1537

原创 Stanford 机器学习笔记 Week9 Recommender Systems

Predicting Movie RatingsProblem Formulation推荐系统举例: 根据各个用户的打分记录,预测某用户对一没看过的电影的打分情况。Content Based Recommendations解决上一节问题的一个方法: 对于每个电影抽象出2个属性,romance 和 action,并手动赋值。再加上bias unit x0 = 1,就构成了表示每个电影属性的向量

2016-03-26 23:35:33 1794

转载 为什么logistic regression要使用sigmoid函数

转自:JUN’S TECH BLOG http://leijun00.github.io/2014/08/logistic-regression/我们知道,线性回归模型输出的是一个连续值,如果我们要输出的不是连续值,该怎么做呢?假设我们的输出只有 1 和 -1. 逻辑回归模型形式上是把线性回归模型做一个变换,让其输出是一个 0 到 1 之间的数,假设我们的变换叫做 g(z)g(z),然后在变换后

2016-03-23 16:58:27 7738

原创 Stanford 机器学习笔记 Week9 Anomaly Detection

Density EstimationProblem Motivation这个算法的目的是发现一个training set中的不规则点。给定一个training set ,如果我们能设计一个模型p,使得p(test) 等于该点是常规点的概率。那么我们就能通过判断p(test)< ε 来确定test是一个不规则点。 显然越接近原training set的中心p(test)越大。该算法可用于质量检测等许

2016-03-22 16:42:49 1562

原创 Stanford 机器学习 Week8 作业:K-means Clustering and Principal Component Analysis

FindClosestCentroidsfor i = 1:size(X,1) dis = sum((centroids - X(i,:)) .^ 2, 2); [t, idx(i)] = min(dis);endComputeCentroidsfor i = 1:K id = find(idx == i); tot = X(id,:); centroids

2016-03-20 23:22:41 1817

原创 Stanford 机器学习笔记 Week8 Dimensionality Reduction

MotivationMotivation I: Data Compression降维可以做数据压缩,减少冗余信息从而减小存储空间。2D向1D降维: cm 和 inches都表示长度,属于冗余信息,可以用z向量做新的维度,用1维就可以表示长度。3D向2D降维: 在左侧的原始数据中,所有点都接近一个平面,这说明存在冗余维度。将所有点投影到该平面形成中间图。用向量z1,z2做新的维度,降到2维

2016-03-19 23:16:33 1057

原创 Stanford 机器学习笔记 Week8 Unsupervised Learning

ClusteringK-Means Algorithm一种经典的聚类算法,步骤很简单,分4步:1.首先随机选择K个聚类中心 2.对于Training Set中的每个点i,计算离i最近的中心c(i),将该点标记为c(i) 3.对于每个中心k,重新计算该位置为:所有标记为k的点的平均位置 4.如果所有中心的位置都不变,算法结束。否则回到步骤2当在第2步时发现对于某中心没有属于的点,可以直接将该中心

2016-03-19 21:12:03 1247

原创 Stanford 机器学习笔记 Week7 Support Vector Machines

Large Margin ClassificationOptimization Objective在logistic回归中,cost function使用了sigmoid函数,从而将θTx的值映射到(0 , 1)范围内。 在SVM中提出了另一种函数cost来替代sigmoid函数,如图: 上图中曲线部分是sigmoid函数,而两段线段组成的部分就是新提出的cost函数,它也满足值域在(0,1)内并

2016-03-11 10:19:59 994

原创 Stanford 机器学习笔记 Week6 Machine Learning System Design

Building a Spam ClassifierPrioritizing What to Work On本节将会设计一个垃圾邮件分类器,具体方法是这样的:首先设定一些经常在垃圾邮件中出现的单词,比如buy, discount, deal等等,假如有m个。然后对于一封邮件,用一个长度为m的0/1向量表示这些单词是否在这封邮件中出现过。一般来说,这些单词不是人工设定的,而是从训练集中选择出现频率最高

2016-03-05 14:36:24 1806

原创 Stanford 机器学习 Week6 作业:Regularized Linear Regression and Bias v.s. Variance

linearRegCostfunctionm = length(y); J = 0;grad = zeros(size(theta));J = 1.0 / 2 / m * ( sum( (X * theta - y) .^ 2) + lambda * sum(theta(2:end) .^2) );grad = 1 / m * ((X * theta - y)' * X)';grad(2:en

2016-03-04 12:28:16 1495

转载 埃氏筛法和欧拉筛法的区别

转自:点击打开链接Eratosthenes筛法(Sieve of Eratosthenes)由于思想非常简单,故只给出实现。12345678910111213141516171819void eratosthenes_sieve(int n){ totPrimes = 0;

2016-03-03 14:56:19 9690 2

原创 Stanford 机器学习笔记 Week6 Advice for Applying Machine Learning

Evaluating a Learning AlgorithmDeciding What to Try Next当算法效果不好时,你可能会尝试:1. 收集更多数据 2. 增加属性 3.减少属性 4.修改regularition参数lambda,下面几节会告诉你如何选择正确的做法。Evaluating a Hypothesis如何判定是否过拟合了?一种方法是拿出原训练集的70%做新训练集,计算出θ,然

2016-03-02 21:14:40 1280

原创 Stanford 机器学习 Week5 作业: Neural Networks: Learning

randInitializeWeightepsilon_init = 0.12;W = rand(L_out, 1 + L_in) * 2 * epsilon_init - epsilon_init;sigmoidGradientg = sigmoid(z) .* (1 - sigmoid(z));nnCostFunctionTheta1 = reshape(nn_params(1:hidden_

2016-02-29 16:11:52 1528

原创 Stanford 机器学习笔记 Week5 Neural Networks: Learning

Cost Function and BackpropagationCost Function在求取神经网络权重矩阵时,第一步也是要先写出cost function。它的cost function就是带rugularization 的logistic regression的加强版,因为在多种类分类中每个数据不再只有一个输出y(i),而是有K个0/1输出组成一个向量(K为种类数),因此神经网络的cost

2016-02-25 11:24:17 1649

原创 《机器学习实战》实践心得 kNN篇

生成数据:首先建立一个模块KNN.py,写一个生成数据的函数from numpy import *import operatordef createDataSet(): group = array([[1.0,1.1],[1.0,1.0],[0,0],[0,0.1]]) labels = ['A','A','B','B'] return group, labels在pyt

2016-02-23 16:26:23 2364

原创 Stanford 机器学习 Week4 作业 Multi-class Classification and Neural Networks

Vectorizing regularized logistic regressionm = length(y); % number of training examplesJ = 0;grad = zeros(size(theta));J = sum( -y .* log(sigmoid(X*theta)) - (1 - y) .* log(1 - sigmoid(X*theta))) /

2016-02-22 14:20:48 2661 1

原创 Stanford 机器学习笔记 Week4 Neural Networks: Representation

MotivationsNon-linear Hypotheses线性回归不能解决的问题:在分类问题中,分类边界实际上是一个由各个参数构成的多项式。当参数很少时(比如只有x1,x2),多项式还可以构造出来,但是当参数很多(假设有x1….x100),构造出的多项式的项数将非常多。对于n个参数的2次多项式,项数大约是n^2/2个。一个问题:给定一幅图,如何确定是不是一辆汽车?一种方法是把图片的每个像素点作

2016-02-21 15:26:21 874

原创 Stanford 机器学习笔记 Week3 Regularization

RegularizationThe Problem of Overfitting拟合效果不好有两种情况:欠拟合(Underfitting),指的是预测值和training set匹配程度较差。过拟合(Overfitting),指的是拟合曲线过度追求吻合training set,可能被一些噪音干扰,偏离实际情况。当数据的参数过多时容易发生这种情况。解决过拟合有两种方法:1.减少参数数量,可以人为选择使

2016-02-15 19:27:31 974

原创 Stanford 机器学习笔记 Week3 Classification and Representation

Classification and RepresentationClassification分类问题的预测返回值为离散量。以0,1两种返回值为例。线性回归算法不适用于解决分类问题,因为画成图像后,数据点的y值只有0,1两种,因此边界上的一个单独的点会对回归直线造成很大影响。Hypothesis Representation相对于线性回归模型会出现预测值>1和<0的情况,逻辑回归(logistic

2016-02-15 19:17:17 899

原创 Stanford 机器学习 Week3 作业 Logistic Regression

Visualizing the datapos = find(y==1); neg = find(y == 0);plot(X(pos, 1), X(pos, 2), 'k+','LineWidth', 2, ... 'MarkerSize', 7);plot(X(neg, 1), X(neg, 2), 'ko', 'MarkerFaceColor', 'y', ... 'M

2016-02-14 20:40:34 1527

原创 Stanford 机器学习 Week2 作业: Linear Regression

Plotting the Datadata = load('ex1data1.txt'); % read comma separated dataX = data(:, 1); y = data(:, 2);m = length(y); % number of training examplesplot(x, y, 'rx', 'Mar

2016-02-08 22:37:09 1443

原创 Stanford 机器学习笔记 Week2

一.多变量线性回归1.1 n个变量的线性回归估计函数为 h(X)=k0+k1x1+k2x2+….+knxn 每个训练样本的n个变量构成一个n维向量X,为方便,在第一个位置添加一个x0=1,(与常数项k0相乘),这样就构成了一个n+1维向量。 同时k0~kn这个n+1个参数构成了另一个n+1维向量K。 那么估计函数就等于 K的转置*X1.2 多变量线性回归中,对于不同的参数向量K,同样有一个

2016-02-08 20:39:34 1095

原创 Octave 基础操作及解决安装绘图工具gnuplot时出现unknown terminal错误

查询关键字信息 help 关键字修改提示符 PS1=(’修改内容’)显示变量的值 disp(var)格式化输出 disp(sprintf(‘任意内容 %0.2f’, var))改变默认数据类型 format long\short生成矩阵 A = [1 2; 3 4; 5 6] %生成一个3*2的矩阵生成均匀数列 v = 起始值:步长:结束值 v = 1:

2016-02-07 15:44:11 2938

原创 python 模块(module)基础讲解

1.使用import命令引入模块,查询import的默认查询路径使用命令:import syssys.path添加搜索路径使用sys.path.append(路径)2.导入模块时最好按标准库模块,第三方模块,自定义模块的顺序,并在之间用空格分开3.加载模块时,被导入的模块的顶层代码会直接被执行,包括设定全局变量和类和函数的声明。4.不管一个模块被import几次,只被加载一次。5.使用例如from

2016-02-01 11:32:14 2006

原创 Stanford 机器学习笔记 Week 1

一.监督学习(supervised learning): 输入中的每个元素都给定了明确的类型,包含: 回归问题:给定训练集,预测输出为一些连续值。 分类问题:给定训练集,预测输出为一些离散值。二.无监督学习(unsupervised learning): 输入中的每个元素都没有指定明确类型,使用聚类算法,按照数据的结构将其分为多个聚类。 cocktail party算法

2016-01-29 10:25:32 840

原创 Python Numpy 数组的初始化和基本操作

一.基础:Numpy的主要数据类型是ndarray,即多维数组。它有以下几个属性:ndarray.ndim:数组的维数 ndarray.shape:数组每一维的大小 ndarray.size:数组中全部元素的数量 ndarray.dtype:数组中元素的类型(numpy.int32, numpy.int16, and numpy.float64等) ndarray.itemsize:每个元素

2016-01-17 13:56:41 220340 2

原创 Numpy数据类型

Data typeDescriptionbool_ Boolean (True or False) stored as a byte int_ Default integer type (same as C long; normally either int64 or int32) intc Identical to C int (normally int32 or int64) int

2016-01-10 23:46:10 9711

转载 VC键盘VK键值列表

键盘VK键值列表/* Virtual Keys, Standard Set*/VK_LBUTTON                                      0x01VK_RBUTTON                                     0x02VK_CANCEL                    

2015-11-10 10:50:29 2796

原创 HDU 4751 Divide Groups (判断二分图染色模板)

#include #include #include using namespace std;#define maxn 110struct node{ int next,to; node(){} node(int nn,int tt){ next=nn; to=tt; }}G[maxn*maxn];int head[maxn];

2015-10-30 18:55:37 494

原创 bitset 使用指南

MSDN:点击打开链接构造函数(3种):bitset a; //大小为10,值全为0bitset a(6);//大小为10,值为110bitset a("0110");//C type字符串做参数方法:all() //是否均为1any()//是否有一个1count()//1的数量flip(int n)//第N位取反,无

2015-09-22 20:23:37 659

转载 AC自动机模版

//======================// HDU 2222// 求目标串中出现了几个模式串//====================#include #include #include #include #include using namespace std;struct Trie{ int next[500010][26],fail[500010]

2015-09-19 20:03:04 462

转载 为什么python在函数中修改"字典型全局变量"不需要global

转自http://blog.csdn.net/handsomekang/article/details/41392417?utm_source=tuicool:比如下面这段代码[python] view plaincopys = 'foo'  d = {'a':1}  def f():      s = 'bar'  

2015-09-14 19:24:10 7993 1

转载 矩阵模板

struct Matrix{ int mat[15][15]; int n; void init(int _n){ n = _n; memset(mat,0,sizeof(mat)); } Matrix operator *(const Matrix &b)const{ Matrix ret;

2015-09-11 20:24:54 511

原创 Codeforces Round #257 (Div. 1) B. Jzzhu and Cities (记录最短路数量)

首先把K条特殊边处理一下,到同一个点的只保留最短的,其余都去掉并维护答案。这样形成一棵树。然后再把这些边和m条普通边一起跑堆优化的dijkstra,并记录最短路数量。然后对于上一步剩下的每条特殊边,如果最短路长度小于它那一定可以去除,如果最短路长度等于它,就看最短路数量,如果等于1,说明就是这条特殊边,不能删,如果大于1说明有别的路,可以删。下面记录路径写的是简略版,因为本题只关心是不是大于1

2015-09-11 12:24:50 640

空空如也

空空如也

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

TA关注的人

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