自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 资源 (1)
  • 收藏
  • 关注

原创 过滤非utf-8字符

std::string filter_none_utf8_chars(const std::string &src){ std::stringstream ss; for (int i = 0; i < src.length(); ) { char chr = src[i]; int bytes=0; if (...

2019-12-27 15:11:30 1648 1

原创 ComE: From Node Embedding to Community Embedding

原文:Zheng, Vincent W., et al. “From node embedding to community embedding.” arXiv preprint arXiv:1610.09950 (2016).这篇文章是第一个提出 community embedding 的文章,思路为先利用 line 的方法训练 first order loss 和 second order lo

2018-04-17 22:55:42 1504 1

原创 神经网络中的矩阵求导及反向传播推导

第一部分: 一个简单的两层神经网络的反向传播下面的代码是来自 pytorch tutorial 的一个 numpy 版本的(激活函数为relu的)两层全连接神经网络的实现, 包括网络的实现、梯度的反向传播计算和权重更新过程:# -*- coding: utf-8 -*-import numpy as np# N is batch size; D_in is input dimension;# H

2017-11-22 10:54:46 6141

原创 实现自己的Keras层

一. 所有keras层的基类:Layerkeras的所有层的基类定义在keras/engine/topology.py文件中的Layer类中。python语言基础用到的装饰器:@property 让类函数能像类变量一样操作@interfaces.legacy_add_weight_support 让函数支持keras 1.x的 API@classmothod 类函数,属于整个类,类似于C++/

2017-10-21 23:05:06 10424 7

原创 python实现静态变量

在类中定义在函数外面的变量是类变量,不属于类的实例。利用它可以实现静态变量。1. 意料之外的静态变量在使用类变量的时候一定要小心,否则会得到意料之外的结果。看下面的代码:class Foo(object): count = 0f1 = Foo()f2 = Foo()f1.count = 1print(f1.count, f2.count)# 结果:1 0之所以结果不相同,原因在于第

2017-10-21 22:07:23 71512 3

原创 tensorflow 中的 name_scope 与 variable_scope

0. 为什么需要共享变量: 减少需要训练的参数的个数 多机多卡并行化训练避免变量名和操作名重复, 1. tf.Variable() 和 tf.get_variable()tf.Variable():与 tf.name_scope 配合使用,用于创建一个新变量,在同一个name_scope下面,可以创建相同名字的变量,底层实现会自动引入别名机制。tf.get_variable(name, s

2017-10-09 19:01:43 806

原创 交叉熵与均方差

先放结论:相同点:当输出值与真实值接近的话,cross_entropy和rmse的值都会接近0cross_entropy具有rmse不具有的优点:避免学习速率降低的情况,方法是避免了 σ′(⋅)\sigma'(\cdot) 的出现。 (注意这种效果仅限于输出层,隐藏层的学习速率与其使用的激活函数密切相关。)均方损失:假设误差是正态分布,适用于线性的输出(如回归问题),特点是对于与真实结果差别越

2017-09-19 16:44:44 5601

原创 Python 星号表达式(starred expression)

一、用于参数传递出现在函数的参数中的星号表达式 *args 用于将传入的可迭代参数序列解析出来,并存入args中。def fun1(*args, **kwargs): print(args, kwargs)* 会将传入的参数放入名为args的元组中 ** 会将传入的参数放入名为kwargs的字典中例1:>>>def f(a, b, c, d): print(a, b, c, d

2017-09-19 11:32:21 11136 5

原创 Deep learning in graph clustering 论文两篇

1. Learning Deep Representations for Graph Clustering论文信息:Tian, Fei, et al. “Learning Deep Representations for Graph Clustering.” AAAI. 2014.来自微软亚洲研究院,这是最早将深度学习应用于图聚类问题(graph clustering)的文章。论文的思路非常简单,首

2017-08-16 11:34:10 4552

原创 线性代数-Gilbert Strang(第三部分)

第二十六课时:对称矩阵和正定性本节研究对称矩阵的特征值和特征向量。对称矩阵的性质:实对称矩阵的特征值是实数在对称矩阵的特征向量中,能挑出一组是垂直正交的 如果特征值互不相同,那么每个特征值的特征向量是在单独的一条线上,那些线是垂直正交的;如果特征值重复,那就有一整个平面的特征向量,在那个平面上,我们可以选择垂直的向量将这组特征向量转化为标准正交向量,由它们组成的矩阵称为标准正交矩阵。如果

2017-05-02 11:08:07 3767

原创 线性代数-Gilbert Strang(第二部分)

第十四课时:正交向量与子空间结论:行空间(r)与零空间(n-r)是正交的列空间(r)与左零空间(m-r)是正交的正交向量在n维空间中,向量之间的夹角为90度。如果 XTY=0X^TY=0,则X,Y 正交零向量与任何向量都正交正交子空间定义:如果子空间 S 与子空间 T 正交,那么 S 中的每个向量都和 T 中的每个向量正交。性质:如果两个子空间正交,那么他们必定不会交与某个非零向量(因

2017-04-18 22:38:11 3134 1

原创 线性代数-Gilbert Strang(第一部分)

第一课时:方程组的几何解释线性方程组的两种理解方式:行图像(row picture)、列图像(column picture)行图像:试图将每一个完整方程所表示的图像表示出来;列图像:关注矩阵的列所表示的向量,把两个方程组放在一起考虑。这样做的目的是找到两个列向量的正确的线性组合为右侧向量。方程组解的情况:如果是奇异矩阵,即不可逆矩阵,在行图像中看即至少有两个方程组所表示的平面是平行的,在列图像

2017-04-14 15:38:12 3714

翻译 A tutorial on Spectral Clustering

1. 基础知识令 G=(V,E)G=(V,E) 为无向图,节点集为V=v1,v2,...,vnV={v_1,v_2,...,v_n}. 假设图 GG 是有权图,节点 viv_i 和 vjv_j 之间的权重为 wij≥0w_{ij} \geq 0. 权重邻接矩阵为 W=(wij)i,j=1,...,nW=(w_{ij})_{i,j=1,...,n}. 如果 wij=0w_{ij}=0, 则说明它们不相

2017-04-12 10:43:27 4683

原创 约束最优化问题求解:拉格朗日乘子法和KKT条件

在约束最优化问题中,常常利用拉格朗日对偶性(Lagrange duality)将原始问题转换为对偶问题,通过解对偶问题而得到原始问题的解。该方法应用在许多统计学习方法中,例如最大熵模型和支持向量机。对于等式约束的优化问题,可以应用拉格朗日乘子法(Lagrange Multiplier)去求取最优值;如果含有不等式约束,可以应用KKT(Karush-Kuhn-Tucker)条件去求取。当然,这两个方法

2016-11-11 21:29:43 33638

原创 NumPy学习笔记

1. 简介Numeric Python的简称,是几乎所有python科学计算工具的基础。主要功能:ndarray: 一个具有矢量运算和复杂广播能力的快速并且节省空间的多维数组面向数组的运算: 对于数组进行快速运算的标准数学函数磁盘读写、内存映射线性代数、随机数、傅里叶变换NumPy本身并没有提供什么高级的数据分析能力,但是理解NumPy数组以及面向数组的计算将有利于使用pandas等工具。

2016-11-11 09:41:05 7152

原创 逻辑回归模型的两种定义与参数估计思路

逻辑斯谛回归(logistic regression)是统计学习中的经典分类方法,属于判别模型。1. 逻辑斯谛回归模型定义在 Andrew NG 的 Machine Learning 课程和李航的统计学习方法中,都有对逻辑斯谛回归模型的介绍,然而二者却对模型有着不同的定义。1.1 决策函数Andrew NG 课程中,对二项逻辑回归模型的决策函数如下:hθ(x)=g(θTx)h_\theta(x)=g

2016-11-09 09:51:05 11519 1

原创 朴素贝叶斯的参数估计

输入空间 X⊆Rn\mathcal{X} \subseteq \mathbb{R}^n 为 nn 维向量的集合,输出空间 Y={c1,c2,...,cK}\mathcal{Y} = \{c_1,c_2,...,c_K\} 为类标记集合设输入为特征向量 xx,输出为类标记 yy。XX 为定义在输入空间上的随机向量,YY 是定义在输出空间上的随机向量。P(x,y)P(x,y) 为 XX 和 YY 的联合

2016-10-31 22:50:22 6626 3

原创 数理统计学基本概念

1. 统计量1.1 样本均值统计量 X¯¯¯=1n∑ni=1Xi=1n(X1+X2+...+Xn)\overline{X}=\frac{1}{n}\sum_{i=1}^{n}X_i = \frac{1}{n}(X_1+X_2+...+X_n) 称为样本均值。定理:设总体 XX 的均值(即数学期望) E(X)=μE(X)=\mu 和方差 D(X)=σ2D(X)=\sigma^2 存在 ,则:E(X¯

2016-10-27 22:44:00 3254

原创 大数定律与中心极限定理

1. 大数定律切比雪夫大数定律:用统计方法来估计期望的理论依据。E(X)≈1n∑nk=1xkE(X)\approx \frac{1}{n}\sum_{k=1}^{n}x_k 贝努利大数定律:事件 AA 发生的频率 nAn\frac{n_A}{n} 依概率收敛于事件 AA 的概率 pp。明确了频率的稳定性,当 nn 很大时,事件发生的频率与概率有较大偏差的可能性很小。p≈nAnp\approx \f

2016-10-27 22:41:53 6969

原创 随机变量及概率分布

本文主要包含四个部分的内容:一维随机变量及其概率分布、二维随机变量及其概率分布、条件分布、随机变量的相互独立性。1. 一维随机变量1.1 随机变量与分布函数- 分布函数: 设X是一个随机变量,记F(x)=P{X<x},x∈(−∞,+∞)F(x)=P\{X<x\},x \in (- \infty, + \infty)称F(x)F(x)为随机变量 XX 的分布函数。- 性质(充要条件):F(x)F

2016-10-24 17:25:36 4351

原创 条件概率与事件的相互独立性

1. 条件概率与乘法定理设 A,BA,B 为两个事件,而 P(B)≠0P(B) \neq 0,称 P(A|B)=P(AB)P(B) P(A|B)=\frac{P(AB)}{P(B)} 为在事件 B 发生的条件下事件 A 发生的条件概率。乘法定理: 若 P(B)>0P(B)>0,则 P(AB)=P(B)P(AB)P(AB)=P(B)P(AB)乘法定理可以推广到 n(n>2)n(n>2) 个事件

2016-10-24 17:18:08 11638 1

原创 SCAN:一种基于密度的社团发现算法

Paper: 《SCAN: A Structural Clustering Algorithm for Networks》 Auther: Xiaowei Xu, Nurcan Yuruk, Zhidan Feng, Thomas A. J. Schweiger Conference: SIGKDD 2007一:SCAN算法简介SCAN算法是由机器学习里的基于密度的聚类算法DBSCAN改进而来

2016-04-09 23:32:29 9160 12

原创 Scrapy Item Loaders机制详解

1. Items爬虫的主要任务就是从非结构化的数据中获得结构化的数据。 Item 对象是种简单的容器,保存了爬取到得数据。 其提供了 类似于词典(dictionary-like) 的API以及用于声明可用字段的简单语法。声明Item Item使用简单的class定义语法以及 Field 对象来声明。例如:import scrapyclass Product(scrapy.Item): n

2015-11-25 20:19:33 12264

原创 Scrapy selector介绍

从HTML源文件库中解析数据通常有以下常用的库可以使用:BeautifulSoup是在程序员间非常流行的网页分析库,它基于HTML代码的结构来构造一个Python对象, 对不良标记的处理也非常合理,但它有一个缺点:慢。lxml是一个基于 ElementTree (不是Python标准库的一部分)的python化的XML解析库(也可以解析HTML)。Scrapy提取数据有自己的一套机制。它们被称

2015-11-25 15:24:41 13877

原创 Scrapy spiders介绍

Spider用于定义一个网站会被如何爬取以及解析。一个Spider爬取的周期通常包括这几步:由初始URLS发出Request,并指定回调函数来处理response The first requests to perform are obtained by calling the start_requests() method which (by default) generates Reque

2015-11-25 10:55:58 2481

原创 scrapy命令行工具

Scrapy 可以在命令行中用 scrapy 命令来控制1. Scrapy配置Scrapy会在 scrapy.cfg 文件中查找配置参数,scrapy也能通过环境变量来配置(如SCRAPY_SETTINGS_MODULE,SCRAPY_PROJECT等)。2. Scrapy项目的目录结构scrapy.cfgmyproject/ __init__.py items.py pi

2015-11-25 10:51:49 2362

原创 xPath 教程

xPath 教程XPath 是一门在 XML 文档中查找信息的语言。XPath 可用来在 XML 文档中对元素和属性进行遍历。XPath 是 W3C XSLT 标准的主要元素,并且 XQuery 和 XPointer 都构建于 XPath 表达之上。因此,对 XPath 的理解是很多高级 XML 应用的基础。1. xPath节点在 XPath 中,有七种类型的节点:元素、属性、文本、命名空间、处理指

2015-11-25 10:49:30 1438

原创 scrapy入门教程

scrapy 学习笔记1 scrapy安装scrapy安装过程颇为麻烦,而官方文档在讲解安装过程时过于简洁,这里主要说明一下自己安装时的主要步骤:scrapy目前不支持python3, 于是安装32位版本的python2.7.10(操作系统为64位win8,以下所有软件包均安装32位版本)安装setuptools:以管理员权限打开powershell, 输入: (Invoke-WebReque

2015-11-25 10:41:47 1851

原创 2 - 感知机(perceptron)

感知机(perceptron)是二类分类的线性分类模型,输入为实例的的特征向量,输出为实例的类别,取+1和-1二值。感知机模型对应于输入空间(特征空间)中将训练数据进行线性划分的分离超平面,属于判别模型。感知机学习旨在求出将训练数据进行线性划分的超平面,为此导入误分类的损失函数,利用梯度下降法对损失函数进行极小化,求得感知机模型。感知机算法简单而易于实现,分为原始形式和对偶形式。感知机是神经网络与支

2015-10-30 00:06:55 2616

原创 1 - 统计学习方法概论

1 统计学习statistical learning: 基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科。统计学习也称统计机器学习(statistical machine learning)。现在,当人们提及机器学习时,往往是指统计机器学习。一些要点:统计学习包括:监督学习(surpervised learning)、非监督学习(unsuprvised learning)、半监督学

2015-10-24 00:29:24 1297

原创 IPython :一个交互式计算和开发环境

一、 IPython基础1.1 代码自动补全:Tab键可补全内容包括:变量名、函数名、成员变量函数、目录文件1.2 内省(Itrospection)在变量名之前或之后加上问号(?),这样可以显示这个对象的相关信息。如果这个对象是个函数或实例方法,那么它的docstring也会被显示出来。使用??还将显示该函数的源代码?还能搜索IPython命名空间。一些字符再配以通配符(*)即可显示出所有与其

2015-10-02 23:44:06 14632 6

原创 Anaconda python各模块简介

Anaconda Python 是完全免费的企业级的Python发行大规模数据处理、预测分析和科学计算工具。 Anaconda 是 Python 科学技术包的合集,功能和 Python(x,y) 类似。它是新起之秀,已更新多次了。包管理使用 conda,GUI基于PySide,容量适中,但该有的科学计算包都有。Anaconda 支持所有操作系统平台,它的安装、更新和删除都很方便,且所有的东西都只安

2015-10-02 23:37:23 14496

原创 Python进阶 - HTML获取与解析

1 URL的处理1.1 URL介绍HTML使用同一资源定位符(Universal Resource Locator:URL)来定位Internet上的HTML文档信息。URL语法定义如下:protocol://auth/path?query常用协议有:http、https、ftp、mailto、file、telnet一种包含授权的URL详细语法如下:protocol://username@pass

2015-09-28 20:00:02 4500

原创 Python进阶 - 进程与线程

1 Python下的进程编程1.1 创建进程:system函数原型如下:system(command)实际是调用系统内置的命令行程序来执行系统命令, 所以在命令结束之后会将控制权返回给Python进程。 如果返回0,说明执行成功,否则表示失败exec家族共有8个类似函数:execl, execle, execlp, execv, execve, execvp, execvpe exec

2015-09-27 22:31:53 995

原创 Python进阶 - GUI程序设计(tkinter)

0 概述Python中有许多GUI模块可以用于开发GUI程序。最简单的有Turtle,然而它并不能用来创建图形用户界面。用于开发GUI的库主要有以下几种:Tkinter:Python**内置**的标准GUI库,是一种小巧的开发库,开发速度快,在小型程序中仍有不少应用。它支持跨平台。PyGTK:用C语言写的跨平台的GUI库,现在GTK已发展成了功能强大窗体丰富的GUI库。著名的GNOME即基于GT

2015-09-27 22:30:00 2897

原创 13 - 字符串与正则表达式

1.正则表达式简介正则表达式用于搜索、替换和解析字符串。Python提供了re模块进行正则表达式的验证。正则表达式由字母、数字和特殊字符(括号、星号、问好等)组成特殊字符含义:^ 开始字符$ 结束字符. 匹配任意字符(包括汉字)[m] 匹配单个字符串[m1m2 ... n] 匹配多个字符串[m-n] 匹配m到n之间的数字、字母[^m] 匹配除m以外的字符串( ) 对表达式进行分组\

2015-09-27 22:25:11 666

原创 12 - 模块与函数

1.Python 程序的结构Python程序由package、module和function组成。 package是由一系列模块组成的集合,module是处理某一类问题的集合。、 package必须至少含有一个 init.py 文件,该文件内容可以为空,用于标识当前文件夹是一个包。2.modulePython程序由一个个的模块组成的,一个python文件就是一个模块。当python导入一个m

2015-09-27 22:24:33 442

原创 11 - 元组、集合和字典

1.元组与列表类似,但是元组中的元素是固定的。也就是说,一个元组一旦被创建,就无法对其元素进行添加、删除、替换或重新排序。可以使用元组来防止数据被以外的修改。除元组的数据固定以外,其他方面和列表很像,甚至比列表效率更高。可以通过将元素用一对圆括号括起来创建一个元组示例:t1 = ()t2 =(1, 3, 5)t3 = tuple([2 * x for x in range(1, 5)])

2015-09-23 22:46:55 593

原创 10 - 文件和异常处理

1.文件打开open(name[, mode[, buffering]])打开一个文件,返回一个file类型的对象。如果文件打不开,抛出IOError。注意,想要打开一个文件,使用open函数比file函数好。mode主要包括: ’r’:只读,默认方式‘w’:写入,覆盖原来内容‘a’:写入,在原来内容后面追加‘b’:打开二进制文件使用示例:input = open(r"c:\pybook

2015-09-23 18:11:42 975

原创 9 - 继承和多态

1. 继承的实现方法与注意事项class ChildClass(ParentClass):子类会继承父类的所有可访问的数据域和方法,它也可以定义自己的数据域和方法。子类在 __init__ 函数中需要调用父类的 __init__ 方法去初始化。常用的方法是:super().__init__()(避免显示指向父类),不需要传递 self 参数。 Python 允许从几个类派生出一个子类,称为多重继

2015-09-22 22:35:41 749

SCAN社团发现算法

基于Java实现的SCAN社团发现算法,含有示例数据集。 Paper: 《SCAN: A Structural Clustering Algorithm for Networks》 Auther: Xiaowei Xu, Nurcan Yuruk, Zhidan Feng, Thomas A. J. Schweiger Conference: SIGKDD 2007

2018-05-15

空空如也

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

TA关注的人

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