上一页 1 2 3 4 5 6 ··· 8 下一页
摘要:先来点预备知识。矩阵的3种运算我们称之为“行初等变换”: 以矩阵实施行初等变换等同于在矩阵左边乘以一个矩阵。 当要求矩阵A的逆时,在A的右边放一个单位矩阵,我们称[A|I]为增广矩阵。对增广矩阵实施行初等变换,即左乘一个矩阵P,如果使得P[A|I]=[PA|P]=[I|P],则P就是$A^{-1}$ 阅读全文
posted @ 2016-05-08 21:16 张朝阳 阅读(9457) 评论(1) 推荐(0) 编辑
摘要:上面的二部图表示user A对item a和c感兴趣,B对a b c d都感兴趣,C对c和d感兴趣。本文假设每条边代表的感兴趣程度是一样的。 现在我们要为user A推荐item,实际上就是计算A对所有item的感兴趣程度。在personal rank算法中不区分user节点和item节点,这样一来 阅读全文
posted @ 2016-05-08 16:22 张朝阳 阅读(7878) 评论(2) 推荐(2) 编辑
摘要:python3标准库里自带线程池ThreadPoolExecutor和进程池ProcessPoolExecutor。 如果你用的是python2,那可以下载一个模块,叫threadpool,这是线程池。对于进程池可以使用python自带的multiprocessing.Pool。 当然也可以自己写一 阅读全文
posted @ 2016-02-14 12:13 张朝阳 阅读(2299) 评论(0) 推荐(0) 编辑
摘要:import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; import org.bson.Document; import com.mongodb.MongoClient; import com.mongodb.client.MongoCollect... 阅读全文
posted @ 2016-01-20 20:56 张朝阳 阅读(6241) 评论(0) 推荐(0) 编辑
摘要:获取数组类型int[] arr=new int[3];System.out.println(arr.getClass());输出的是:class [Ipackage test;import java.lang.reflect.Method;import org.junit.Assert;public... 阅读全文
posted @ 2016-01-02 22:04 张朝阳 阅读(365) 评论(0) 推荐(0) 编辑
摘要:isInstance和isAssignableFromobj instanceof Class判断obj是不是Class或者Class的子类的实例clazz.isInstance(obj)判断obj能不能强制转换成clazz类型,亦即obj是不是clazz或者clazz的子类的实例clazz1.is... 阅读全文
posted @ 2016-01-02 17:19 张朝阳 阅读(740) 评论(0) 推荐(0) 编辑
摘要:搜索 Ctrl+P:1、在当前项目中搜索文件名。2、输入@,在当前文件中搜索函数名。3、输入#,在当前文件中搜索变量名。4、输入:,跳转到指定行。 Ctrl+F:在当前文件中搜索关键字 Ctrl+H:在当前文件中进行关键字的搜索和替换 Ctrl+Shift+F:在指定文件夹中进行搜索和替换 选择 C 阅读全文
posted @ 2015-12-05 13:02 张朝阳 阅读(657) 评论(0) 推荐(1) 编辑
摘要:__str__用于打印方便人阅读的信息。__repr__得到的字符串通常用来重新获得实例,即通常情况下inst=eval(repr(inst))是成立的。在IPython中直接输入实例名然后回车,将会调用__repr__,而“print obj”将调用obj的__str__方法。具体说来有4种情况会... 阅读全文
posted @ 2015-11-22 21:58 张朝阳 阅读(531) 评论(0) 推荐(0) 编辑
摘要:使用type创建类使用type创建类的语法为type(类名, 父类的元组(针对继承的情况,可以为空),包含属性的字典(名称和值))举个例子class A(object): name='orisun'class B(object): city='BeiJing'class C(A,B): ... 阅读全文
posted @ 2015-11-21 22:52 张朝阳 阅读(241) 评论(1) 推荐(1) 编辑
摘要:对象的创建pyhton用__new__来创建对象(__new__相当于Java中的构建函数),对象创建好之后会立即调用__init__方法,__init__方法有个参数self就是刚才__new__创建好的那个对象。通过我们有__init__方法中给对象的属性进行赋值,或者动态线对象添加属性并赋值。... 阅读全文
posted @ 2015-11-21 21:23 张朝阳 阅读(31183) 评论(0) 推荐(2) 编辑
摘要:类属性和对象属性我们把定义在类中的属性称为类属性,该类的所有对象共享类属性,类属性具有继承性,可以为类动态地添加类属性。对象在创建完成后还可以为它添加额外的属性,我们把这部分属性称为对象属性,对象属性仅属于该对象,不具有继承性。类属性和对象属性都会被包含在dir()中,而vars()是仅包含对象属性... 阅读全文
posted @ 2015-11-21 17:23 张朝阳 阅读(10789) 评论(1) 推荐(1) 编辑
摘要:__getitem__ __setitem__# coding:utf-8class Father(object): def __init__(self): self.name = "father" self.children = ['child1', 'chil... 阅读全文
posted @ 2015-11-17 20:23 张朝阳 阅读(444) 评论(0) 推荐(0) 编辑
摘要:1 #!/usr/bin/env python 2 # coding=utf-8 3 4 ''' 5 蓄水池抽样法。从不知道总数的样本中随机抽取k个,要求只遍历一次样本。 6 ''' 7 8 import sys 9 import random10 11 if __name__ == '__m... 阅读全文
posted @ 2015-11-01 16:13 张朝阳 阅读(464) 评论(0) 推荐(0) 编辑
摘要:拉勾网上一个求职的兴趣有3个,感兴趣程度分别是{人事:0.6,行政:0.3,运营:0.1}求职者在拉勾APP首页每次下拉会多出5个推荐职位,我们希望总体上推荐职位的类型分布和该求职者的兴趣分布是一致的,问每次推荐的5个职位中“人事、行政、运营”类的职位分别应该出多少个?第1次:人事类出5*0.6=3... 阅读全文
posted @ 2015-09-27 17:10 张朝阳 阅读(802) 评论(0) 推荐(0) 编辑
摘要:方法一第一阶段的Map,对每一数据项 $(i,j,v)$,若来自矩阵 A ,则输出 $(j,(A,i,v))$,若来自矩阵 B ,则输出$(i,(B,j,v))$,这 样 矩 阵 A 的 第j 列 和 矩 阵 B 的 第 i 行 会被同一个 reduce 节点处理;在 Reduce 端,将来自 A ... 阅读全文
posted @ 2015-07-14 18:45 张朝阳 阅读(2556) 评论(0) 推荐(0) 编辑
摘要:简单理解SimRank 图1.二部图 所谓二部图(bipartite graphs),是指图中的节点可以分这两个子集,任意一条边关联的两个节点分别来自于这两个子集。用I(v)和O(v)分别表示节点v的in-neighbors和out-neighbors。看上面的二部图,我们把A、B当成两个人,把a、 阅读全文
posted @ 2015-06-16 13:06 张朝阳 阅读(22712) 评论(19) 推荐(2) 编辑
摘要:Trie树主要应用在信息检索领域,非常高效。今天我们讲Double Array Trie,请先把Trie树忘掉,把信息检索忘掉,我们来讲一个确定有限自动机(deterministic finite automaton ,DFA)的故事。所谓“确定有限自动机”是指给定一个状态和一个变量时,它能跳转到的 阅读全文
posted @ 2015-05-24 15:03 张朝阳 阅读(9439) 评论(2) 推荐(2) 编辑
摘要:标题读起来很拗口,原文是TrustWalker: A Random Walk Model for Combining Trust-based and Item-based Recommendatio,翻译得不好见谅如上图所示,每个人对一些商品有过评分,用直线连接的用户之间存在信任关系,现在我们要预测... 阅读全文
posted @ 2015-05-03 16:09 张朝阳 阅读(2537) 评论(0) 推荐(0) 编辑
摘要:基础篇 矩阵背后的现实意义 概率分布 无约束最优化方法 拉格朗日乘子法和KKT条件 推荐 相关性检验 协同过滤推荐算法 分类 朴素贝叶斯 LR SVM 聚类 KMeans DBScan CHAMELEON GMM 决策树 ID3 C4.5 Adaboost GBDT 关联规则挖掘 Apriori F 阅读全文
posted @ 2015-04-01 19:45 张朝阳 阅读(5740) 评论(4) 推荐(7) 编辑
摘要:BlockingQueue先来说3种BlockingQueueSynchronousQueue。队列长度始终为0,因为任何一个put操作必须等待一个take操作,否则put就一直阻塞。所以一旦put成功之后,元素马上就被take出去了,队列长度始终为0。ArrayBlockingQueue。基于定长... 阅读全文
posted @ 2015-03-15 23:27 张朝阳 阅读(904) 评论(0) 推荐(0) 编辑
摘要:结构风险最小化原则经验风险:在训练样本上的误判,也就是损失函数了。结构风险:由2部分组成,经验风险和VC置信范围VC Confidence。VC置信范围又跟训练样本数量和VC维有关,样本越多VC置信范围越小,VC维越大VC置信范围越大。VC维反映了函数集的学习能力,算法模型越复杂VC维越大。结构风险... 阅读全文
posted @ 2015-03-08 16:36 张朝阳 阅读(4168) 评论(2) 推荐(2) 编辑
摘要:面向接口编程没有面向接口编程就没有依赖注入(Dependency Injection),所以讲依赖注入之前先重温一下面向接口编程。ps:依赖注入(DI,Dependency Injection)和控制反转(IoC,Inversion of Control)的关系public interface Ve... 阅读全文
posted @ 2015-01-18 20:41 张朝阳 阅读(6621) 评论(0) 推荐(0) 编辑
摘要:MySQL默认采用的是MyISAM。 MyISAM不支持事务,而InnoDB支持。InnoDB的AUTOCOMMIT默认是打开的,即每条SQL语句会默认被封装成一个事务,自动提交,这样会影响速度,所以最好是把多条SQL语句显示放在begin和commit之间,组成一个事务去提交。 InnoDB支持数 阅读全文
posted @ 2015-01-09 22:19 张朝阳 阅读(52209) 评论(1) 推荐(6) 编辑
摘要:学习了公司的服务通信中间件,自己实现了一个最简单的服务通信框架。框架结构由下向上分为4层:实体层。对服务的请求参数和服务的返回值进行封装,提供序列化和反序列化方法。协议层。规定数据在网络上传输应该按照什么样的格式来组织。通信层。就是Socket通信了,使用了NIO技术。服务代理层。客户端需要通过代理... 阅读全文
posted @ 2015-01-01 17:21 张朝阳 阅读(1257) 评论(0) 推荐(0) 编辑
摘要:组内分享时写了个PPT:卷积神经网络 阅读全文
posted @ 2014-11-23 17:07 张朝阳 阅读(1292) 评论(0) 推荐(0) 编辑
摘要:两年前写过ZooKeeper编程(一),那时候还在实习。近期组内做了个zookeeper编程的分享,就又把各种问题整理了一下。以下只是简单地copy了幻灯片中的内容,写得不够连贯,读者见谅。 ZooKeeper的轮廓 / root | \ child1 | \ child2 | \ child3 | 阅读全文
posted @ 2014-06-28 12:15 张朝阳 阅读(11366) 评论(0) 推荐(1) 编辑
摘要:谓词使用IN、NOT IN、EXISTS、NOT EXISTS < 、> 、= 、!= 、<>、if null 、between依然可以走索引。 LIKE前通配 like后通配依然可以走索引。 索引列使用了函数、数学运行、其他表达式等 建议:不要在where的过滤字段上加函数,而应该在比较值上加函数 阅读全文
posted @ 2014-05-25 21:53 张朝阳 阅读(787) 评论(0) 推荐(0) 编辑
摘要:netstat命令选项: -a all 默认不显示LISTEN相关 -t tcp -u udp -n number 不显示别名,能显示数字的都用数字显示。由于不需要把数字转换成别名,所以显示的快一些 -l listen 仅列出正在监听的服务状态 -p program 显示建立连接的程序名 -r ro 阅读全文
posted @ 2014-05-25 16:29 张朝阳 阅读(8398) 评论(0) 推荐(2) 编辑
摘要:public static void main(String[] args) { int number = -1; System.out.printf("number=%x\n", number);// 计算机存储负数里用的是补码形式 int a = 0x80000001; System.... 阅读全文
posted @ 2014-05-14 17:18 张朝阳 阅读(2031) 评论(0) 推荐(0) 编辑
摘要:期望 介绍各个分布之前先给出期望的定义。如果$\int_{-\infty}^{\infty}|x|f(x)dx<\infty$,那么$E(x)=\int_{-\infty}^{\infty}xf(x)dx$;如果积分发散,则期望不存在(无意义)。 函数的期望。如果$Y=g(X)$,对于离散变量$E( 阅读全文
posted @ 2013-11-20 19:13 张朝阳 阅读(4442) 评论(0) 推荐(3) 编辑
摘要:C4.5决策树在ID3决策树的基础之上稍作改进,请先阅读ID3决策树。 C4.5克服了ID3的2个缺点: 1.用信息增益选择属性时偏向于选择分枝比较多的属性值,即取值多的属性 2.不能处理连贯属性 Outlook和Windy取离散值,Temperature和Humidity则取连续值。 对于离散属性 阅读全文
posted @ 2013-01-02 21:54 张朝阳 阅读(43370) 评论(8) 推荐(4) 编辑
摘要:数值计算方法的“稳定性”是指在计算过程中舍入误差是可以控制的。 对于有些矩阵,矩阵中某个元素的一个很小的变动,会引起最后计算结果误差很大,这种矩阵称为“病态矩阵”。有些时候不正确的计算方法也会使一个正常的矩阵在运算中表现出病态。对于高斯消去法来说,如果主元(即对角线上的元素)上的元素很小,在计算时就 阅读全文
posted @ 2012-12-05 15:05 张朝阳 阅读(23936) 评论(0) 推荐(1) 编辑
摘要:或者翻译成维度的咒语,这个咒语出现在很多方面:sampling采样如果数据是低维的,所需的采样点相对就比较少;如果数据是高维的,所需的采样点就会指数级增加,而实现中面对高维问题时往往无法获得如此多的样本点(即使获得了也无法处理这么庞大数据量),样本少不具有代表性自然不能获得正确的结果。combina... 阅读全文
posted @ 2012-12-04 15:58 张朝阳 阅读(7388) 评论(0) 推荐(1) 编辑
摘要:转载:http://blog.sina.com.cn/s/blog_4fcdb9280100l46v.htmlmy: lexically scoped variablelocal:Dynamically scoped variable内部->外部:(1)my和local都只在一个block里有效,出去就失效;(2)但是local的变量可以继续在这个block中调用的子程序中存在;(3)如果有与外界同名的变量,两者在block退出后都不影响外界同名变量;外部->内部:(1)外部设置my、local、缺省均队内有效,但是同名变量外部my,在block内部local是不允许的。因为二者在 阅读全文
posted @ 2012-11-13 09:15 张朝阳 阅读(895) 评论(0) 推荐(0) 编辑
摘要:两个很大的整数--超过了INT_MAX,它们怎么做加法呢?把它们当作字符串,逐位进行相加喽。#include<stdio.h>#include<string.h>#include<stdlib.h>char* add(const char *arr,const char *brr){ int lena=strlen(arr); int lenb=strlen(brr); int maxlen=(lena<lenb)?lenb:lena; char* sum=(char*)malloc(maxlen+2); memset(sum,'0', 阅读全文
posted @ 2012-10-17 10:10 张朝阳 阅读(5275) 评论(2) 推荐(1) 编辑
摘要:__stdcall和__cdecl是两种函数名字修饰。(注意是连续的两个下划线)Windows上windows上不管是C还是C++,默认使用的都是__stdcall方式。不论__stdcall还是__cdecl函数参数都是从可向左入栈的,并且由调用者完成入栈操作。对于__stdcall方式被调用者自身在函数返回前清空堆栈;而__cdecl则由调用者维护内存堆栈,所以调用者函数生成的汇编代码比前一种方式长。由__cdecl约定的函数只能被C/C++调用。Windows上使用dumpbin工具查看函数名字修饰。C语言__stdcall方式:_FuncName@sizeofParameters例如: 阅读全文
posted @ 2012-10-15 22:31 张朝阳 阅读(11924) 评论(1) 推荐(1) 编辑
摘要:先上一段代码:#include<iostream>using namespace std;class Base{public: int a;protected: int b;private: int c;};struct Derived:public Base{};int main(){ Derived inst; cout<<sizeof(Base)<<endl; cout<<sizeof(Derived)<<endl; cout<<sizeof(inst)<<endl; cout<<inst.a 阅读全文
posted @ 2012-10-15 14:57 张朝阳 阅读(3198) 评论(0) 推荐(1) 编辑
摘要:栈是从高地址向低地址方向增涨,堆的方向相反。在一次函数调用中,栈中将被依次压入:参数,返回地址,EBP。如果函数有局部变量,接下来,就在栈中开辟相应的空间以构造变量。在C语言程序中,参数的压栈顺序是反向的。比如func(a,b,c)。在参数入栈的时候,是:先压c,再压b,最后a。在取参数的时候,由于栈的先入后 出,先取栈顶的a,再取b,最后取c。C语言是不作栈溢出检查,如下代码可以正常编译运行。#include<stdio.h>main(){ char buf[2]; printf("enter a string shorter than 2.\n"); sca 阅读全文
posted @ 2012-10-07 15:14 张朝阳 阅读(11311) 评论(2) 推荐(3) 编辑
摘要:字节序小端字节序(Little Edian)指低字节数据存放在内存低地址处,高字节数据存放在内存高地址处。比如整形1在内存中的存放情况是:而换成大端字节序(Big Edian)则是:基于Intel X86的体系结构的PC机是小端字节序,我们可以写一个程序来验证。#include<stdio.h>main(){ int num=1; int c=num>>24; printf("%d\n",c); c=num & 0xff; printf("%d\n",c);}输出0和1。我们知道union中只存储一个成员变量,union的 阅读全文
posted @ 2012-10-07 11:32 张朝阳 阅读(1907) 评论(0) 推荐(0) 编辑
摘要:在没有#pragma pack宏的情况下,结构体中的变量存储遵循以下对齐原则:原则一:第一个数据成员放在offset为0的地方,以后每个数据成员存储的起始位置要从其自身大小的整数倍开始。原则二:结构体的总大小,也就是sizeof的结果,必须是其内部最大数据成员的整数倍,不足的要补齐。原则三:如果一个结构里有某些结构体成员,则结构体成员要从其内部最大数据成员大小的整数倍地址开始存储。上面提到的“数据成员”均指基本数据类型。#include<stdio.h>struct A{ char c; int i; short s; };struct B{ int i; char c; shor 阅读全文
posted @ 2012-10-07 11:02 张朝阳 阅读(1976) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 8 下一页