自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

https://space.bilibili.com/59807853

移步b站,关于数学,计算机科学,深度学习,计算机视觉以及文艺的

原创 从一个例子看频率学派与贝叶斯学派的不同(Python)

考虑如下的一个游戏场景:setup: Alice and Bob enter a room. Behind a curtain there is a billiard table, which they cannot see, but their friend Carol can. Carol rolls a ball down the table, and marks where it lan

2015-12-21 08:26:33 1507

原创 仿射变换(Affine transformation)与python实践

仿射变换,又称仿射映射,是指在几何张,一个向量空间(vector space)进行一次线性变换(linear transformation)并拼上一个平移(Translation ),其矩阵表达形式(matrix formal)为: y⃗ m×1=Am×nx⃗ n×1+b⃗ m×1\vec{y}_{m\times 1}=A_{m\times n}\vec{x}_{n\times 1}+\vec{b

2015-12-30 11:57:28 10800

原创 numpy 常用api(三)

numpy 常用api(一)np.logaddexpnumpy.logaddexp(x1, x2[, out])也即计算log(exp(x1)+exp(x2))如何通过logaddexp函数计算log(x+y)\log(x+y)(如果x,yx,\,y都含有部分指数形式的话),log(x+y) == np.logaddexp(np.log(x), np.log(y))

2015-12-29 20:35:27 5065

原创 从贝叶斯公式到 MAP(Maximum A Posterior,最大后验)

基本形式 P(θ|D)=P(θ)P(D|θ)P(D)P(\theta|\mathcal{D})=\frac{P(\theta)P(\mathcal{D}|\theta)}{P(\mathcal{D})}P(θ|D)P(\theta|\mathcal{D}):后验概率,posteriorP(θ)P(\theta):先验概率,priorP(θ|D)P(\theta|\mathcal{D}):似

2015-12-29 20:23:12 3321

原创 python实用技巧(二)

不使用if判断实现分段函数Huber Loss function: Lδ(y,f(x))=⎧⎩⎨⎪⎪⎪⎪12(y−f(x))2,δ⋅(|y−f(x)|−12δ),for |y−f(x)|≤δotherwise.L_\delta(y,f(x))=\left\{\begin{array}{ll}\frac12(y-f(x))^2,&\textrm{for }|y-f(x)|\leq\delta\

2015-12-29 16:29:26 1186

原创 Huber Loss function

Huber loss是为了增强平方误差损失函数(squared loss function)对噪声(或叫离群点,outliers)的鲁棒性提出的。DefinitionLδ(a)=⎧⎩⎨⎪⎪⎪⎪12a2,δ⋅(|a|−12δ),for |a|≤δ,otherwise.\begin{split}L_\delta(a)=\left \{\begin{array}{ll}\frac12a^2,&\t

2015-12-29 15:29:52 21492 2

原创 数学中的术语与常用表达

术语 术语 中文 说明 slope 斜率 intercept 截距 STD: standard deviation 标准差 translation(Geometry) 平移 注意和transformation(变换的区别) expected value 期望值 population 总体 population

2015-12-28 23:12:14 1310

原创 线性拟合——从最大似然估计到平方误差到huber loss

考虑这样一些数据:x = np.array([0, 3, 9, 14, 15, 19, 20, 21, 30, 35, 40, 41, 42, 43, 54, 56, 67, 69, 72, 88]) # x # x_iy = np

2015-12-28 23:09:23 10615

原创 方位介词辨异

下面的图流传甚广,但也并非全部,比如-neath后缀介词其实并未囊其中,更为重要的是,这样的理解也是较为生硬和刻板的,也即其实这样的解释隐藏了丰富而细腻的用法: under、below、beneath、underneathunderCompared to “below”, “under” is more often used to talk about 3-dimensional objec

2015-12-27 21:37:06 717

原创 计算机与计算机视觉史话

计算机视觉理论的由来上世纪60年代,Marvin Minsky在MIT让他的本科学生Gerald Jay Sussman用一个暑假的时间完成一个有趣的Project:“link a camera to a computer and get the computer to describe what it saw”。从那时起,特别是David Marr教授于1977年正式提出计算机视觉理论,计算机视觉

2015-12-27 18:24:32 433

原创 工具的使用 —— sublime

安装Package Control下载下载地址:https://github.com/wbond/sublime_package_control在github中托管,下载直接点击download ZIP按钮,解压之后,把文件夹修改为Package Control(必须严格按照此格式,否则安装不成功)安装菜单栏 ⇒ preferences ⇒ Browse Packages… 将刚解压好的Pa

2015-12-26 23:22:03 548

原创 逻辑思维与C/C++解题

谁在说谎考虑这样一些陈述:西电有四位同学中的一位做了好事,分别询问,他们的回答分别是: - A说:不是我 - B说:是C - C说:是D - D说:C胡说已知四人中三人说了真话,一人说的是假话,请问谁说了谎话,谁做的好事。通过简单的规约我们即可获得答案,B和C有一人说谎,A和D自然说的都是实话,D说:C胡说,则C说慌,C是做好事的人。我们如何交由计算机实现呢?枚举法。

2015-12-26 15:09:57 2365

原创 图像的认知

图像的大小笔者曾见过一个22800×19200=43776000022800\times 19200=437760000,也即4亿3776万像素的照片,43776000010242≈417.48 M\frac{437760000}{1024^2}\approx417.48 \textrm{ M} 大小。笔者的号称800W像素3264×2448=7990272 3264\times2448=79902

2015-12-26 14:25:23 727

原创 np.random.RandomState、np.random.rand、np.random.random、np.random_sample

首先从numpy.random.uniform说起(也即其他函数是对该函数的进一步封装)。numpy.random.uniform(low=0.0, high=1.0, size=None)顾名思义,从一个均匀分布([low, high):半开区间)中进行采样。例如产生[1, 2)(五行五列):>>> import numpy>>> np.random.uniform(1, 2, (5, 5))

2015-12-25 23:07:06 8363

原创 割补法求阴影部分的面积

其实这是一节小学数学课。割补法:拆东墙(割),补西墙(补),也即割补法需要两个动作,分别是割与补。我们首先来看一个直观的应用割补法的例子: 右侧的四分之一圆挪到左侧,补上空白部分,这里的挪和补即暗含割补法的思想。通过割补或者叫分裂合并,实现对不好计算的面积转换为容易计算的面积,比如讲曲线围绕出来的面积(当然可用微积分的方法加以计算,不在本文的考虑范围之内),转换位三角形或者梯形等常规图形。割补

2015-12-24 00:03:17 3883

原创 word的使用

快捷键 功能 快捷方式 说明 格式刷 ctrl+shift+cctrl+shift+v 自定义功能区进行快捷键的定义以调出插入对象以及更改字体颜色为例,进行快捷键的设置:开始 ⇒ 选项 ⇒ 自定义功能区,然后进入插入对象快捷键的设置: 开始 ⇒ 选项 ⇒ 自定义功能区,然后进入更改字体颜色快捷键的设置: 自动编号带来的间距的问题(比如1-9:一个字符的间距,10以

2015-12-22 20:33:42 1069 1

原创 python注意事项

list的extend和append方法首先一点list可看做异质型(Heterogeneous)容器。append常用于:list.append(一个元素) extend常用于:list.extend(一个list),进行列表间的连接(concatenate),功能等价于list1+list2

2015-12-22 10:17:24 928

原创 算法直观与对模型的理解

Radial Basis Function Networklinear aggregation of distance-based similarities using k-means clustering for prototype finding一堆similarities,一堆similarities的线性组合(linear combination)。这些similarities又根据距离(d

2015-12-21 20:36:35 1164

原创 Beta函数与Gamma函数及其与Beta分布的关系

相关函数在scipy.specialimport scipy.special as ssss.beta(x1, x2)相关分布(概率密度)在scipy.statsimport scipy.stats as stss.beta(a, b) # 随机变量β\beta Function:B(x,y)=∫10tx−1(1−t)y−1dtB(x, y)=\int_0^1t^{x-1}

2015-12-20 13:22:19 13361

原创 Bootstrap采样方法的python实现

本文只考虑相对简单的一维的情况:import numpy as npdef bootstrap(data, num_samples, statistics, alpha): n = len(data) idx = np.random.randint(0, n, size=(num_samples, n)) samples = data[idx] stat = np.s

2015-12-19 17:48:56 9725 4

原创 最小二乘法进行曲线拟合(Python)

本文不手动实现最小二乘,调用scipy库中实现好的相关优化函数。考虑如下的含有4个参数的函数式:f(x)=A−D1+(x/C)B+Df(x)=\frac{A-D}{1+(x/C)^B}+D构造数据import numpy as npfrom scipy import optimizeimport matplotlib.pyplot as pltdef logistic4(x, A, B, C,

2015-12-19 17:07:16 21092 3

原创 最大似然估计(MLE)的一些公式与定理(python实践)

单参的情况给定观察集D=(Fi,ei)\mathcal{D}=(F_i,e_i),估计真实的FtrueF_{\textrm{true}}:P(Di|Ftrue)=12πe2i−−−−√exp[−(Fi−Ftrue)22e2i]P(\mathcal{D}_i|F_{\textrm{true}})=\frac1{\sqrt{2\pi e_i^2}}\exp\begin{bmatrix}-\frac{(F

2015-12-19 10:14:32 10406

原创 scipy.stats —— 概率、随机变量与分布

import numpy as npimport scipy.stats as st创建随机变量(rv:random variable)F_true = 1000N = 50F = st.poisson(F_true).rvs(N)也可以这样:mu_true, sigma_true = 1000, 15N = 100F_true = st.norm(mu_true, sigma_true)

2015-12-19 09:22:18 9834

原创 numpy 辨异 (五)—— numpy.ravel() vs numpy.flatten()

首先声明两者所要实现的功能是一致的(将多维数组降位一维),两者的区别在于返回拷贝(copy)还是返回视图(view),numpy.flatten()返回一份拷贝,对拷贝所做的修改不会影响(reflects)原始矩阵,而numpy.ravel()返回的是视图(view,也颇有几分C/C++引用reference的意味),会影响(reflects)原始矩阵。验证两者的功能>>> x = np.array

2015-12-18 23:28:59 80164 3

原创 创建对称矩阵(numpy)

对称(实对称)矩阵也即:XT=XX^T=Xstep 1:创建一个方阵>>> import numpy as np>>> X = np.random.rand(5**2).reshape(5, 5)>>> Xarray([[ 0.26984148, 0.25408384, 0.12428487, 0.0194565 , 0.91287708], [ 0.31837673,

2015-12-18 18:16:30 8661 1

原创 关于e的等式及相关证明

ee的定义式是一切的起点: e=limn→∞(1+1n)ne=\lim_{n\to\infty}(1+\frac1n)^n证明limn→−∞(1+1n)n=e\lim\limits_{n\to-\infty}(1+\frac1n)^n=elimn→−∞(1+1n)n=limn→−∞[(1−1−n)−n]−1=limn→∞1(1−1n)n=limn→∞(nn−1)n=limn→∞(1+1n−1)n=

2015-12-18 17:18:10 2403

原创 学习方法谈

循序渐进,先建立起直观如何快速学习一个工具、Python的一个第三方的library?读其documentation,一个成熟的应用广泛的工具不仅有完备的documentation,还会给出关于工具最为常见用法的一个quick start,这更有利于快速上手,如果只是简单调用其中的api,而不打算更为深入的学习。我在想一本相关技术书与其online documentation的关系是什么,区别和

2015-12-18 15:32:12 528

原创 频率主义(Frequentism)与贝叶斯主义(Bayesianism)的哲学辨异与实践(Python仿真)

对概率的认识两者的根本不同在于对概率的认识:frequentists probabilities are fundamentally related to frequencies of events. Bayesians, probabilities are fundamentally related to our own knowledge about an event.频率We’l

2015-12-18 09:48:21 2758

原创 泊松分布的理解与Python仿真

我们首先从一个实例出发,来分析缘何泊松分布在经济社会生活中如此频繁地出现和使用。已知某家小杂货店,平均每周售出两个水果罐头,请问该水果店的最佳库存量是多少?(或者这么问,如果你是商家,你该如何储备货物?)假定不存在季节因素,可以近似认为,该问题满足以下三个条件:顾客购买水果罐头是小概率事件;购买水果罐头的顾客之间是独立的,也即不会互相依赖或者影响;顾客购买水果罐头的概率是稳定的;

2015-12-17 21:27:12 17006 1

原创 Python基础——yield的使用与解释

要了解yield的作用,首先需明白什么是生成器(type为generator),在了解生成器之前需要了解什么是可迭代对象(iterables,可迭代序列):list comprehension使用list comprehension创建一个list,而list是一种可迭代对象:>>> for i in [n**2 for n in range(n) if n%2==0]: print

2015-12-17 15:45:19 981

原创 假设检验——抽样调查的结论依赖于样本量的大小

随机非随意概率破玄机无序引有序统计解迷离 - 严加安 现在有一种说法:抽烟会降低患老年痴呆的风险。为检验这一说法是否可信,设想某医疗机构在某个城市从65-75岁的人群中进行随机抽样调查了1000个人,分别统计抽烟者和非抽烟者老年痴呆症患病人数。结果显示:250人是抽烟者,其中老年痴呆患者10人750非抽烟者,其中老年痴呆患者45人两

2015-12-17 12:37:25 2007

原创 被平均("统计平均")的陷阱

在统计平均的调查方法下: 公司100人,患糖尿病的有9人,则患病率为9%;研究所150人,患糖尿病的有18人,患病率为12%; 是否说明,研究所的糖尿病患病率要比公司高? 公司 研究所 100 9 9% 150 18 12%我们将年龄结构考虑进去(事实上,糖尿病的患病率也确实跟年龄有密切的联系): 年龄结构 公司

2015-12-17 12:00:27 1270

原创 三局两胜还是五局三胜?

已知如下的竞赛规则: 假定有甲、乙两个乒乓球运动员参加比赛,已知甲的实力强于乙。现有两个备选的竞赛规则,”三局两胜制”和”五局三胜制”。请问,这种情况下:选手甲应该争取哪一种规则对自己有利?自然是比较两种规则下各自获胜的概率: “三局两胜制”: f(p)=p2+2(1−p)p2=p2(3−2p)f(p)=p^2+2(1-p)p^2=p^2(3-2p) “五局三胜制”: g(p)=p3+3(

2015-12-17 11:48:52 4060 1

原创 从排列与组合的python实现到"生日问题"的解释

在 数论及Python实践一文中,我们介绍了组合的基本定义以及一些常规实现方法,并未充分发挥python语言的优势,本文我们从reduce函数的角度(从这个角度我们应当恢复reduce正宫娘娘的地位,因为在python3中Guido将reduce从系统内置函数降格为functools中的函数),重新实现给出排列组合的各自实现,以及据此给出”生日问题”的概率解释。(nk)=n!k!(n−k)!(nk)

2015-12-17 10:01:57 2751

原创 重温二项分布

实现我们在概率论与数理统计课上学过的二项(binomial)分布,属于一种离散型随机变量(discrete random variable),其概率质量函数(probability mass function)为:f(k;n,k)=Pr(K=k)=(nk)pk(1−p)n−kf(k;n,k)=Pr(K=k)=\binom n k p^k(1-p)^{n-k}其E[X]=np,Var[X]=np(1−

2015-12-16 16:58:18 1059

原创 数学与编程——统计与编程(均匀分布仿真高斯分布)

统计模拟中有一个重要的问题就是,给定一个概率分布p(x)p(x),我们如何使用计算机生成(generate)服从该分布的样本。一般而言均匀分布Uniform(0,1)\textrm{Uniform}(0, 1)的样本相对容易生成。使用均匀分布仿真高斯分布均匀分布比较优良的性质是,我们常见的各种概率分布,无论是连续的还是离散的分布,都可以基于

2015-12-15 22:16:28 1124

原创 基本采样算法及Python实现

本文代码见于 code时不时地我们会在机器学习乃至深度神经网络中瞥见采样算法的身影。本文只关键简单的入门级的采样算法及其Python实现。单纯随机抽样(simple random sampling)将调查总体全部观察单位进行编号,再用抽签法随机抽取(不放回)部分观察单位组成样本。(CknC_n^k)优点:操作简单缺点:总体较大时,难以编号。import randomdef loadDataset

2015-12-15 17:18:21 10071

原创 Python 基础 —— 文件

with open(filename) as fp: dataMat = [] for line in fp.readlines(): # fp.readlines()返回一个list, # 元素类型为`str`,也即line类型为`str` curLine = line.strip(

2015-12-15 09:35:05 864

原创 一些实用的在线编辑器、在线转换工具

c++ideone:甚至支持连对c++新特性支持得比较好的vs2013都不支持的新特性matlab一手册:不用经历matlab漫长的启动时间了latexeqneditor:有强大的几乎所有常用的数学符号对应的图标形式,便于快速完成latex公式编辑且易于粘贴拷贝。

2015-12-14 16:54:24 2393

原创 python实用技巧(一)

查询包的版本>>> import library_name>>> library_name.__version__'*.*.*' # 如果我们使用dir(),返回其属性和方法以list of strings的形式 # 我们会看到该对象内部会维护__version__

2015-12-14 15:48:33 1404

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