统计学习方法(2)-感知机

这些都是我学习李航博士的<<统计学习方法>>所做的笔记,其中的代码示例参考了黄海广博士的lihang-codeGitHub Repo

感知机(Perceptron)

感知机是面向二分类的线性分类模型,输入为样本实例的特征向量,输出只有两个值,-1和1,表示输入实例的类别。

在几何意义上来看,感知机对应于在输入空间(特征空间)将实例划分为正负两类的一个超平面,为了找到最佳的划分平面,需要导入错误分类的损失函数,训练使该损失函数极小化,就可以求得感知机模型。

感知机模型分为原始形式和对偶形式,1957年由Rosenblatt提出,感知机模型是神经网络和支持向量机的基础模型。

感知机模型

假设输入x为样本的特征向量,对应于特征空间中的一点,输出y表示该样本的类别,感知机就是从输入x到输出y的一个函数:

$$f(x) = sign(\omega{x} + b)$$

其中ωx是感知机模型的参数,ω是权值(weight)或者权值向量(weight vector),b是偏置项(bias)

sign是符号函数:

$$
sign(x) = \left{\begin{aligned}
+1 & & x \ge 0 \
-1 & & x < 0
\end{aligned}
\right.
$$

感知机模型的假设空间是由定义在特征空间中的所有线性分类模型构成的,所以线性划分方程:

$$\omega{x} + b = 0$$

对应于特征空间中的一个超平面,其中w是超平面的法向量,b是超平面的截距,将特征空间划分为两个区域。

统计学习方法(1)-概论

这些都是我学习李航博士的<<统计学习方法>>所做的笔记,其中的代码示例参考了黄海广博士的lihang-codeGitHub Repo

问题的类型

  • 输入变量和输出变量都为连续变量的预测问题称为回归问题

  • 输出变量为有限个离散变量的预测问题称为分类问题

  • 输入变量和输出变量都为变量序列的预测问题为标注问题

联合概率分布

统计学习假设数据存在一定的统计规律,监督学习假设输入和输出的随机变量X和Y遵循联合概率分布P(X, Y),P(X, Y)表示分布函数或者分布密度函数,在模型的学习过程中,假定这一联合概率分布存在

监督学习的模型可以是概率模型或者非概率模型,由条件概率分布P(Y|X)或者决策函数(decision function)Y=f(X)表示,随具体的学习方法而定,对于具体的输入进行相应的输出预测时,写作P(y|x)或者y=f(x),x和y小写表示具体的值

统计学习三要素

方法 = 模型 + 策略 + 算法

图像直方图均衡(代码实现)

直方图均衡

直方图均衡是一种经典的图像增强方法,是灰度变换的一个重要应用,主要作用于提高图像的对比度,或者说是提高图像的动态范围,一幅对比度很低的图像的直方图范围很窄,而且灰度级变换很大,直方图均衡就是使图像经过一些特殊的变换使图像灰度级的概率分布趋近于均匀分布,最直观的表现就是经过处理后的图像直方图的灰度级范围变广,而且频率接近相等,理想情况是图像灰度级的分布是连续的,最终处理后的图像中的灰度的PDF(概率密度函数)是均匀的。
简而言之,直方图均衡是通过拉伸像素强度分布范围来增强图像对比度的一种方法。

图像直方图

灰度级范围为[0,L-1]的数字图像的直方图是一个离散函数h(rk) = nk,其中rk代表某个灰度级,nk为图像中灰度值为rk的像素个数。

直方图通常有两种形式,其中一种横轴是灰度级rk,纵轴数值就是nk。

另一种是前者的归一化处理,首先计算得到该图像的总像素数,设M和N为图像的行和列的维数,所以可以计算每个灰度值在一幅图像中的概率P(rk)=rk/M*N,其中k=0,1,2..L-1,归一化直方图的所有分量之和应该等于一。

直方图

求10000的阶乘

大数问题

这学期开了算法课,老师课上出了一个问题,就是求10000的阶乘。

说实话,第一次听到这个问题我很快就想到了去年实验室纳新时的一道笔试题

那道题是这么说的,写一个函数求两个很大很大很大的整数的和(感觉真的暴力)。

当时我大一,c语言刚自己看完,完全没有思路,甚至脑子里面都没有常用数据类型的范围这种概念,后来问了下出题的学长,他就只告诉我把这两个数存到数组里面,然后处理一下进位就行了。

他说的很轻松…

后来就查了一下,发现网上有很多答案,有用BigInteger的,还有用python直接算的…