- 博客(150)
- 资源 (3)
- 收藏
- 关注
转载 go 按行读取/写入
参考:https://gist.github.com/tomcatzh/5d1d0d9a95cecba798d1 func readLines(path string) ([]string, error) { file, err := os.Open(path) if err != nil { return nil, err } defer file.Close
2017-12-20 11:33:16
3393
原创 机器学习信仰之决策树
1、决策树是一种基本的分类、回归算法 2、1986年ID3算法;1994年C4.5算法;1984年CART算法 3、决策树从根节点到一个叶节点表示一条路径,代表一串规则、条件。 4、决策树考量的是叶节点代表的条件概率,是判别模型 5、决策树算法包括特征选择、树的生成、剪枝三个步骤。 由于决策树表示一个条件概率分布,所有不同的树的深度代表不同复杂度的概率模型;决策树的生成对应模型的局部选择,剪
2017-11-05 15:51:25
622
原创 机器学习信仰之朴素贝叶斯法
敲黑板,划重点上大学那会,贝叶斯定理是用来求条件概率的;现在才知道,贝叶斯定理其实是在讲先验、似然与后验的故事。 贝叶斯定理是一种信仰。1、频率学派与贝叶斯学派频率学派认为,概率表述一件事发生的频率,是客观存在的一个值;同时,样本X时随机的,所以频率派重点研究样本空间,大部分的概率计算都是针对样本X的分布贝叶斯学派认为概率是我们的个人的主观概念,表示我们对某件事发生的相信程度。待估计的概率the
2017-10-31 00:30:27
697
原创 评估目标之RMSE,MAP,NDCG
今天终于得空写点最近看的东西。 最近在看排序算法lambadarank,先写下几种evaluation metrics1. MSEMSE(mean square error, 均方误差)是预测值与真实值差的平方的期望: 2. RMSERMSE(root mean square error, 均方根误差)是MSE的算数平方根 RMSE在常在
2017-10-19 00:02:25
3162
原创 python 多进程共享数据的读与写
1. 父进程向子进程传参1.1python通常的数据结构可以传给子进程读,但子进程写无效:from multiprocessing import Pool, Managerdef chid_proc(test_dict, i): print '{} process, before modify: {}'.format(i, test_dict) test_dict[i] = i *
2017-07-05 14:32:49
2491
原创 gensim 中文语料训练 word2vec
gensim 的word2vec api参见: https://radimrehurek.com/gensim/models/word2vec.html 本文说一下中文语料的使用,很简单。1 word2vec api看下api: gensim.models.word2vec.Word2Vec(sentences=None, size=100, alpha=0.025, window=5, min
2017-05-23 14:54:38
10992
原创 卷积神经网络cnn的个人白话总结
在此总结一下个人对cnn的认识。1 核心思想1 感受野与神经元19世纪60年代,科学家提出了感受野(Receptive Field)。当时科学家针对猫的视觉皮层细胞研究发现,每一个视觉神经元只会处理一小块区域的视觉图像。80年代日本科学家提出神经认知机(Neocoginitron)的概念,可以算作cnn的最初的实现原型。 神经认知机包括抽取特征的S-cells(对应cnn的卷积核滤波操作)和对抗形变
2017-05-20 12:36:15
8613
原创 tensorflow 学习(三)使用flags定义命令行参数
tf定义了tf.app.flags,用于支持接受命令行传递参数,相当于接受argv。import tensorflow as tf#第一个是参数名称,第二个参数是默认值,第三个是参数描述tf.app.flags.DEFINE_string('str_name', 'def_v_1',"descrip1")tf.app.flags.DEFINE_integer('int_name', 10,"de
2017-05-17 11:48:11
34317
5
原创 word2vec 源码分析word2vec.c
word2vec源码断断续续看了好几遍了,基本理清了流程和一些trick,添加了注释。 具体很多细节可以参考文末的参考链接,很详细。#include <iostream>#include <stdio.h>#include <stdlib.h>#include <math.h>#include <pthread.h>#define MAX_STRING 100 //词最大长度#defin
2017-05-16 16:19:42
1703
原创 tensorflow 框架学些(二) 之 Constant Op
本文介绍tf的constant op: 常量,序列,随机序列 参考官方 http://www.tensorfly.cn/tfdoc/api_docs/python/constant_op.html1 constants —常量1.1 zerostf.zeros(shape, dtype=tf.float32, name=None)创建元素为0的张量: tf.zeros([2, 3], int32)
2017-05-10 22:19:20
1391
原创 jsonb格式在postgre中的读写
jsonb格式数据可以方便的处理python类型的数据。稍作记录。表中写入jsonb格式可以借助json.dumps完成id=0sentence = ['测试句子1', '测试句子2']insert_sql = "insert into test_table (id, jsonb_field) values (%s, %s)"cursor.execute(insert_sql, (id, js
2017-05-08 11:44:54
1376
原创 tensorflow框架学习(一)placeholder 与variable
1. placeholder —占位符参考 http://www.tensorfly.cn/tfdoc/api_docs/python/io_ops.html placeholder, 译为占位符,官方说法:”TensorFlow provides a placeholder operation that must be fed with data on execution.” 即必须在执行时fee
2017-05-05 23:48:37
8929
原创 tensorflow 实践(一)使用神经网络做中文情感分析
本文使用哈工大做文本预处理; 两层隐层神经网络;# -*- coding: utf-8 -*-# @bref :使用tensorflow做中文情感分析import numpy as npimport tensorflow as tfimport randomfrom sklearn.feature_extraction.text import CountVectorizerimport
2017-05-05 22:57:01
11670
4
原创 LDA的Gibbs 采样
1 马尔可夫链马尔可夫链(Markov Chain),描述了一种状态序列,其每个状态值取决于前面有限个状态。马尔可夫链是具有马尔可夫性质的随机变量的一个数列。这些变量的范围,即它们所有可能取值的集合,被称为“状态空间”,而的值则是在时间n的状态。如果对于过去状态的条件概率分布仅是的一个函数,则这里x为过程中的某个状态。上面这个恒等式可以被看作是马尔可夫性质。马尔可夫链是满足马尔可夫性质的随机过程。马
2017-04-04 21:13:59
1281
原创 理顺主题模型LDA及在推荐系统中的应用
1 关于主题模型使用LDA做推荐已经有一段时间了,LDA的推导过程反复看过很多遍,今天有点理顺的感觉,就先写一版。隐含狄利克雷分布简称LDA(latent dirichlet allocation),是主题模型(topic model)的一种,由Blei, David M.、Ng, Andrew Y.、Jordan于2003年提出。 主题模型属于聚类方法,是一种无监督的学习方法。与通常的tf-
2017-04-03 16:09:51
11487
1
原创 pandas read_csv 错误: pandas.parser.CParserError: Error tokenizing data. C error
今天panda.read_csv时遇到以下错误: File "/root/anaconda2/lib/python2.7/site-packages/pandas/io/parsers.py", line 1213, in read data = self._reader.read(nrows) File "pandas/parser.pyx", line 766, in pandas
2017-03-31 19:16:51
25509
原创 jieba提取关键词时筛选词性时单词性选择的一点注意事项
最近又在迭代特征工程,发现jieba提取特征词有个需要注意的地方,直接看例子例子1>>> import jieba>>> import jieba.posseg as pseg>>> s = '我们喜欢支付宝, 苹果'>>> ws = pseg.cut(s)>>> for i in ws:... print i...我们/r喜欢/v支付宝/nr,/x /x苹果/n>
2017-03-31 17:46:23
10445
原创 哈工大ltp词性标注列表和ICTCLAS词性列表
哈工大ltp词性列表Tag Description Examplea adjective 美丽 b other noun-modifier 大型, 西式 c conjunction 和, 虽然 d adverb 很 e exclamation 哎 g morpheme 茨, 甥 h prefix 阿, 伪 i
2017-03-30 11:50:35
10570
原创 语素、词性列表及jieba与哈工大pyltp一个例子对比
1 关于语素百度百科的解释: 语法单位有大有小,最大的语法单位是句子,比句子小的语法单位,依次是短语、词、语素。人类的语言是有声音、有意义的,是语音和语义的结合体,这便是语法单位基本的特点。语素是最小的语法单位,也就是最小的语音、语义结合体。 所有我的理解是,分词后的各个词都是语素。语素有名词性语素、动词性语素等类别。2 ICTCLAS 词性列表注: ICTCLAS——中国科学
2017-03-30 11:19:30
4558
原创 pandas DataFrame操作
pandas 处理格式化数据的利器。 本文会不断更新1. DataFram1.1 使用字典构造>>> import pandas as pd>>> d = {'doc':['txt1'], 'nid':[100]}>>> df = pd.DataFrame(data=d, columns=('nid', 'doc'))>>> df nid doc0 100 txt1>>>
2017-03-29 18:10:20
4139
原创 python Manager对象增加进程
问题:启动一个python进程,ps发现还有多个额外进程 说明: 一个multiprocessing.Manager对象会控制一个服务器进程,其他进程可以通过代理的方式来访问这个服务器进程。举例: test_manager.py :from multiprocessing import Managerimport timem1 = Manager()m2 = Manage
2017-03-16 17:05:22
1522
原创 python format 在sql中对 string 和 int 类型的变化
今天在使用format拼sql语句时遇到一下问题:>>> s = '12345'>>> q0 = "select nid from news_simhash where first_16={0}">>> q1 = "select nid from news_simhash where first_16='{0}'">>> from doc_process import get_postgred
2017-03-16 12:17:05
1620
原创 linux redhat7 升级NVIDIA显卡驱动步骤
1 背景前面在redhat7服务器上升级了tensorflow1.0,发现GPU用不了 根据教程,测试GPU:# 新建一个 graph.import tensorflow as tfa = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')b = tf.constant([1.0, 2.0, 3.0, 4.
2017-03-11 11:02:50
10510
原创 阿里云HPC升级 tensorfow 1.0之cuda、cudnn、glibc、libcxx
昨天开始升级hpc的tensorflow,中间踩了个大坑。到现在才弄顺,mark一下。gpu版的tf,可以在github上下载,然后按照教程使用pip安装。但需要更新很多系统包升级cuda 8 及cudnn8到官网下载 https://developer.nvidia.com/cuda-downloads 按照教程直接安装就可以。 2.下载cudnn5.1 https://develope
2017-03-08 00:50:09
1117
原创 人工神经网络(ANN)及BP算法
1 什么是神经网络1.1 基本结构 说明:通常一个神经网络由一个input layer,多个hidden layer和一个output layer构成。图中圆圈可以视为一个神经元(又可以称为感知器)设计神经网络的重要工作是设计hidden layer,及神经元之间的权重添加少量隐层获得浅层神经网络SNN;隐层很多时就是深层神经网络DNN1.2 从逻辑回归到神经元LinearRegres
2017-03-05 09:53:36
137608
21
原创 从sklearn.preprocessing, sklearn.feature_selection学习特征工程之预处理
基本特征工程基本框架如下图。 本文借助sklearn介绍其中的预处理部分二 单特征预处理 标准化 Standardization 或者叫 mean removal and variance scaling(平均值移除、方差缩放) 说明1: 标准化其实就是干两件事:“transform the data to center” ,即
2017-03-03 00:42:06
851
转载 正则化方法:L1和L2 regularization及区别、数据集扩增、dropout
参考 http://blog.youkuaiyun.com/u012162613/article/details/44261657正则化方法:防止过拟合,提高泛化能力在训练数据不够多时,或者overtraining时,常常会导致overfitting(过拟合)。其直观的表现如下图所示,随着训练过程的进行,模型复杂度增加,在training data上的error渐渐减小,但是在
2017-02-21 23:58:44
1693
原创 新闻内容去重算法simhash实践
前言 最近做了新闻去重算法的工作,mark下 两个应用场景:1. 重复新闻整体检测、去重 2. 从非重复的新闻中寻找重复的句子,依次判断两篇新闻是否存在同一个话题的不同观点(多方观点提取) 本人不负责爬虫,爬虫的同事只做了简单的新闻title重复的检测、去重。 我提供内容的检测算法一 通用网页去重算法框架 二 simhash
2017-02-16 18:50:18
5957
1
原创 机器学习之特征工程(二)
本节主要介绍数据和特征处理。一 特征处理 (1)数值型 1. 特征缩放 包括标准化和归一化,参看 http://blog.youkuaiyun.com/leiting_imecas/article/details/54986045 2. log等变化 特征可能不能通过线
2017-02-11 23:20:30
1387
原创 机器学习之特征归一化(normalization)
参考自斯坦福机器学习课程一 引子对房屋售价进行预测时,我们的特征仅有房屋面积一项,但是,在实际生活中,卧室数目也一定程度上影响了房屋售价。下面,我们有这样一组训练样本:房屋面积(英尺)卧室数量(间)售价(美元)210433999001600332990024003369000
2017-02-11 21:07:49
53102
原创 机器学习之特征工程(一)
一 什么是特征工程特征是指数据中抽取出来的对结果预测有用的信息特征工程是使用专业背景和技巧处理数据,使得特征能在机器学习算法上发挥更好的作用的过程。特征工程的意义:1.更好的特征意味着更强的灵活性 2更好的特征意味着只需要简单模型 3更好的特征意味着更好的结果应用机器学习的主要工作就是特征工程数据和特征决定了算法能达到的上限,算法和模型的选择只是无限接近这个上限
2017-02-11 18:27:57
3558
原创 决策树的究极进化之Bagging和Boosting
决策树基础参考: http://blog.youkuaiyun.com/leiting_imecas/article/details/52950663本节介绍决策树的究极进化1. Bagging(bootstrap Aggregation) bootstrap即拔靴带,帮助提靴的纽带,统计学上称为自住法; aggregating是指聚集. 机器学习的bagging方法指对多个学习
2017-02-09 17:07:03
1426
原创 交叉验证(Cross validation)总结
一 什么是CV CV,通俗理解就是使用训练数据和测试数据交叉的方式来验证一个(或多个)模型的性能,以此判定算法在数据上的大致性能。 使用CV可以大致估算出模型的准确率;当模型中有超参数(hyperparameter)时,可以使用CV的方法选取这些超参二 为什么需要CV 构建机器学习模型的一个重要环节是评价模型在新数据上的性能。模型过于简
2017-01-23 13:11:21
3185
原创 逻辑回归(Logistic Regression)详解
一 什么是逻辑回归 首先,LR虽然名字里有回归,但它并不是解决回归问题,而是解决分类问题的。 另外,有人会问,为线性回归提供阈值来做分类不可以吗? 不可以,因为阈值是无法准确定义,模型是容易被样本数据拉偏的。 之所以LR是个分类问题,却被叫做回归,因为它利用了sigmoid函数。 sigmoid 可以将数据(LR中指输出y)压缩到[0, 1]之间,它经过一个
2017-01-21 10:24:50
3390
1
转载 svm 多分类机制
参考 http://www.cnblogs.com/CheeseZH/p/5265959.htmlSVM本身是一个二值分类器 SVM算法最初是为二值分类问题设计的,当处理多类问题时,就需要构造合适的多类分类器。 目前,构造SVM多类分类器的方法主要有两类 (1)直接法,直接在目标函数上进行修改,将多个分类面的参数求解合并到一个最优化问题中,通过求解该最优化问题
2017-01-20 16:23:45
534
原创 最小二乘与梯度下降
http://blog.youkuaiyun.com/guang09080908/article/details/41415193 说:最小二乘和极大似然是目标函数,梯度下降是优化算法。机器学习的核心是一个model,一个loss fuction,再加上一个优化的算法。一个目标函数可以用不同的优化算法,不同的目标函数也可以用相同的优化算法。所以最小二乘和极大似然根本不是算法,和梯度下降毫无可比
2017-01-20 14:37:24
413
原创 高偏差、高方差、低精确率与低召回率、混淆矩阵
本文是个人理解1.高偏差(high bias)与方差(high variance) 偏差,可以理解为样本与模型预测结果的差距,可以使用平方差计算 方差是样本y值与模型期望的差的平方和。 模型对实验数据欠拟合(underfitting) 是会出现搞偏差,而过拟合(overfitting)会造成高方差 解决方法:直接的方法是将实验数据一分为二:训练集和测试集
2017-01-05 17:27:36
2804
原创 python Execept处理方式
如果你在写python程序时遇到异常后想进行如下处理的话,一般用try来处理异常,假设有下面的一段程序:12345678try: 语句1 语句2 . . 语句Nexcept .........: do something .......但是你并不知道"语句
2016-12-22 17:57:40
728
转载 Linux查看CPU和内存使用情况
参考 http://www.cnblogs.com/xd502djj/archive/2011/03/01/1968041.htmlLinux查看CPU和内存使用情况在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息分析系统状况的需要。在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况。运行 top 命令后,CPU 使用状态会以全屏的方
2016-12-07 13:57:45
304
LINDO 7.0 API
2012-08-16
LINDO 7.0 API
2012-08-16
LINDO API 7.0
2012-08-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人