统计学习读书笔记

0. 需解决的知识储备

范数:
https://blog.csdn.net/qq_25736745/article/details/83269808
边长各自的 p 次方,求和,再开 p 次方根.(我们生活在一个范2空间。。。)
简单由向量的距离拓展,求解一个向量的长度为: p = p= p=

欧式空间:
https://blog.csdn.net/weixin_36811328/article/details/81207753

范数L0,L1

1.前期知识储备

联合分布:

https://blog.csdn.net/tick_tock97/article/details/79885868

联合概率指的是包含多个条件且所有条件同时成立的概率,记作P(X=a,Y=b)或P(a,b),有的书上也习惯记作P(ab)

条件概率

条件概率表示在条件Y=b成立的情况下,X=a的概率,记作:
P ( X = a ∣ Y = b ) 或 P ( a ∣ b ) P(X=a|Y=b)或P(a|b) P(X=aY=b)P(ab)
它具有如下性质:
“在条件Y=b下X的条件分布”也是一种“X的概率分布”,因此穷举X的可取值之后,所有这些值对应的概率之和为1即:
Σ P ( X = a ∣ Y = b ) = 1 \Sigma P(X=a|Y=b)=1 ΣP(X=aY=b)=1

联合分布与条件概率的关系有待思考

边缘分布

边缘概率是与联合概率对应的,P(X=a)或P(Y=b),这类仅与单个随机变量有关的概率称为边缘概率

先验概率与后验概率

范数的理解

https://blog.csdn.net/qq_25736745/article/details/83269808

2.统计学习分类

基本分类:监督学习,无监督学习,强化学习,半监督学习,主动学习

监督学习

使用标注数据学习(已知的数据特性)

无监督学习

无标注数据中学习(未知的数据特性)

强化学习

可根据环境进行自我更新

半监督学习

标注与未标注数据同时使用(已知特性的数据与未知特性的数据)

由于标注数据的筛选花费较大,使用未标注数据辅助标注数据可以减少成本

主动学习

由机器给出实例让人进行判断以减少标注的代价。

3.感知机

条件:

线性可分

输入输出函数:

f ( x ) = s i g n ( w x + b ) f(x)=sign(wx+b) f(x)=sign(wx+b)

损失函数:

L ( w , b ) = − ∑ x i ∈ M y i ( w ⋅ x i + b ) L(w,b)=-\sum_{x_i\in{M}}y_i(w\cdot x_i+b) L(w,b)=xiMyi(wxi+b)

随机梯度下降法:

对某一个变量求梯度,即为对那个变量进行求导,找到最小的值

4.k近邻

k近邻三要素:

距离度量;
k值选择;
分类决策规划;

KNN作为一种有监督分类算法,是最简单的机器学习算法之一。
算法主体思想:根据距离相近的邻居类别,来判定自己的所属类别。
算法的前提:是需要有一个已被标记类别的训练数据集。

优点:

思想简单,易于实现,无需估计参数,无需训练;
适合对稀有事物进行分类;
特别适合于多分类问题

K值的设定

k值就是在该点附近包含k个点。
K值设置过小会降低分类精度;
若设置过大,且测试样本属于训练集中包含数据较少的类,则会增加噪声,降低分类效果。
通常,K值的设定采用交叉检验的方式(以K=1为基准)
经验规则:K一般低于训练样本数的平方根。

5.朴素贝叶斯

朴素贝叶斯就是基于贝叶斯定理的一种分类方法;

核心公式:

P ( Y ∣ X ) = P ( X , Y ) P ( X ) = P ( Y ) P ( X ∣ Y ) P ( X ) = P ( Y ) P ( X ∣ Y ) ∑ Y P ( Y ) P ( X ∣ Y ) P(Y|X)=\frac{P(X,Y)}{P(X)}=\frac{P(Y)P(X|Y)}{P(X)} =\frac{P(Y)P(X|Y)}{\sum_Y{P(Y)P(X|Y)}} P(YX)=P(X)P(X,Y)=P(X)P(Y)P(XY)=YP(Y)P(XY)P(Y)P(XY)

(具体实例理解可以参见书上p63例子)

6.决策树

https://blog.csdn.net/weixin_36586536/article/details/80468426
决策树的核心是使特征分类节点精度不断提高的过程
主要有三个算法:1. ID3算法(信息增益)。2. C4.5算法(信息增益比)。3.CART算法(基尼指数)

1. 特征选择

特征选择也即选择最优划分属性,从当前数据的特征中选择一个特征作为当前节点的划分标准。我们希望在不断划分的过程中,决策树的分支节点所包含的样本尽可能属于同一类,即节点的“纯度”越来越高。而选择最优划分特征的标准不同,也导致了决策树算法的不同。

2.决策树生成

3.决策树剪枝

1.特征选择

熵:

H ( x ) = − ∑ p i log ⁡ 2 p i H(x)=-\sum p_i \log_2{p_i} H(x)=pilog2pi

H(x)越大,表示不确定性越大。

条件熵:

H ( Y ∣ X ) = − ∑ i = 1 n p i H ( Y ∣ X = x i ) H(Y|X)=-\sum_{i=1}^{n}p_iH(Y|X=x_i) H(YX)=i=1npiH(YX=xi)
个人理解:
在某个条件分类下的最终的概率x最终分类的概率在该条件下的熵。

(参考书p75)
官方定义:
设有随机变量(X,Y)。条件熵H(Y|X)表示:在已知随机变量X的条件下随机变量Y的不确定性。
随机变量X给定的条件下随机变量Y的条件熵H(Y|X)定义为:
X给定条件下Y的条件概率分布的熵对X的数学期望

经验熵

在已有的信息下的对分类的熵;

信息增益:

g ( D , A ) = H ( D ) − H ( D ∣ A ) g(D,A)=H(D)-H(D|A) g(D,A)=H(D)H(DA)
经验熵-条件熵。
H ( D ) = − ∑ k = 1 K ∣ C k ∣ ∣ D ∣ l o g 2 C k D H(D)=-\sum_{k=1}^K\frac{|C_k|}{|D|}log_2\frac{C_k}{D} H(D)=k=1KDCklog2DCk
H ( D ∣ A ) = ∑ i = 1 n ∣ D i ∣ ∣ D ∣ H ( D i ) H(D|A)=\sum_{i=1}^n\frac{|D_i|}{|D|}H(D_i) H(DA)=i=1nDDiH(Di)

最终结果:

信息增益大的就是最优特征

信息增益比

信息增益比细节待研究

基尼指数

G i n i ( p ) = ∑ k = 1 K ( ∣ C k ∣ ∣ D ∣ ) 2 Gini(p)=\sum_{k=1}^K(\frac{|C_k|}{|D|})^2 Gini(p)=k=1K(DCk)2
与熵类似,值越大,表示不确定性越大。

2.决策树生成

1.ID3算法 2.c4.5算法 3.CART算法

ID3算法

  1. 算出经验熵
  2. 根据一个条件算出最大信息增益(g(D,A))
  3. 选定一个条件,算出该条件下的各个状态下的各自的熵。
  4. 不断迭代,直至最后一个条件。

因为只有树生成,所以容易过拟合。

C4.5算法

与ID3类似使用信息增益比来代替。由于如果在某一条件下会产生条件熵为0的情况,所以不是很可靠。

3.决策树剪枝

对未知的分类不准确,所以会生成过拟合现象。

7.隐马尔可夫模型

https://www.cnblogs.com/vpegasus/p/hmm.html

P:图像深度学习入门:

1. k-近邻(不可用K近邻用于图像分类)

定义:根据附近元素的类别决定自己的类别

概述:

  1. 简单:lazy-learning 算法
  2. 不需要训练集
  3. 与元素是数据相关

最近邻

超参数:

L1 (Manhattan)distance:
d 1 ( I 1 , I 2 ) = ∑ p ∣ I 1 p − I 2 p ∣ d_1(I_1,I_2)=\sum_p{|I_1^p -I_2^p| } d1(I1,I2)=pI1pI2p

L2(Euclidean,欧式)distance:
d 1 ( I 1 , I 2 ) = ∑ p ( I 1 p − I 2 p ) 2 d_1(I_1,I_2)=\sqrt{\sum_p{(I_1^p -I_2^p)^2 }} d1(I1,I2)=p(I1pI2p)2

实现方法:

距离计算
两矩阵元素分别相减再相加

交叉验证:

使用的原因:

训练集再次切分,将一份作为验证,其他作为训练。
验证集用来调节参数消除偏高或偏低效果

2. 神经网络

线性分类:

得分函数:

f ( x , W ) = W x + b f(x,W)=Wx+b f(x,W)=Wx+b

举例:

假设有一个图片(32x32x3),要分为10种类别中的一个,将图片变换为[3072x1]的矩阵,权重系数为[10x3072]。即:图像中的每个像素点在这10个类别中所占的权重。(可以将图片任意切分。例如可以首先对图片进行4等分)。最后可以得到各个分类的数值,得到的数值哪个大就是哪个种类。

SVM损失函数

L i = ∑ j ≠ y max ⁡ ( 0 , s j − s y i + Δ ) L_i=\sum_{j\ne y} { \max (0,s_j-s_{y_i}+\Delta )} Li=j=ymax(0,sjsyi+Δ)

其中:
S j S_j Sj为其他类别得分值;
S y i S_yi Syi为正确分类的得分值;
Δ \Delta Δ为容忍程度(例如: Δ = 1 \Delta=1 Δ=1意思是,如果数值小于1,都可以接受)

举例

损失函数举例

损失函数

L i = 1 / N ∑ i = 1 N ∑ j ≠ y max ⁡ ( 0 , s j − s y i + Δ ) L_i= 1/N \sum_{i=1}^N\sum_{j\ne y} { \max (0,s_j-s_{y_i}+\Delta )} Li=1/Ni=1Nj=ymax(0,sjsyi+Δ)

将所有的样本进行求平均值。

正则化

增加了正则化惩罚项: λ R ( W ) \lambda R(W) λR(W)

L i = 1 / N ∑ i = 1 N ∑ j ≠ y max ⁡ ( 0 , s j − s y i + Δ ) + λ R ( W ) L_i= 1/N \sum_{i=1}^N\sum_{j\ne y} { \max (0,s_j-s_{y_i}+\Delta )}+\lambda R(W) Li=1/Ni=1Nj=ymax(0,sjsyi+Δ)+λR(W)

sofmax 分类器:

通过概率值代替得分值

sigmoid 函数:

g ( z ) = 1 / ( 1 + e − z ) g(z)=1/(1+e^{-z}) g(z)=1/(1+ez)

在这里插入图片描述

第一步: e x e^x ex 将大的数变的很大,小的数变的很小,负数变为0.xx。
第二步:归一化,将所有数相加作为分母,各部分作为分子,映射到(0,1)区间。
第三步:使用正确类别求- l o g log log,由下图可知,log函数可以表达出我们的目的,当x趋近于1时,y趋近于0,当x离0近时,y趋近于无穷,为了好计算,将数据取负号。
在这里插入图片描述

机器学习的优化

使用梯度下降的方法使 J ( θ ) J(\theta) J(θ)最小,即求梯度的反方向。(下山)

梯度下降可能会出现浮动,只要趋势是下降。(以万为单位)

最优化

s = f ( x ; W ) = W x s=f(x;W)=Wx s=f(x;W)=Wx
softmax: L I = − l o g ( e s y i ∑ j e s j ) L_I=-log(\frac{e^sy_i}{\sum_je^sj}) LI=log(jesjesyi)
SVM: L i = ∑ j ≠ y max ⁡ ( 0 , s j − s y i + Δ ) L_i=\sum_{j\ne y} { \max (0,s_j-s_{y_i}+\Delta )} Li=j=ymax(0,sjsyi+Δ)
FULL LOSS: L i = 1 N ∑ i = 1 N L i + R ( W ) L_i=\frac{1}{N}\sum_{i=1}^N L_i+R(W) Li=N1i=1NLi+R(W)

找到最好的权重函数W,让loss最小

前向传播:

x*weight ->s->loss

反向传播:(链式法则)

更新权重参数,使loss减少
loss-> weight

学习率(learning rate)

即步长,学习率过大会到导致loss过大。一般为小的学习率,多次迭代。

BP算法

batch: 一次取的数据
batchsize:2的整数倍( 2 n 2^n 2n),例:32,64,128

sigmoid function

δ ( x ) = 1 / ( 1 + e − x ) \delta (x)=1/(1+e^{-x}) δ(x)=1/(1+ex)

随着层数的增加会产生梯度消失,无法进行求导,无法做反向传播,永远无法收敛
在这里插入图片描述

reLU函数

首选
m a x ( 0 , x ) max(0,x) max(0,x)

神经网络

https://cs.stanford.edu/people/karpathy/convnetjs/demo/classify2d.html

神经元的数量就像切刀,一个就是一刀(线性函数),多了会导致过拟合。

输入->隐层1->隐层2->输出

隐层1与隐层2就是权重系数的计算结果。
输出= w 3 [ w 2 ( w 1 ∗ x ) ] w_3[w_2(w_1*x)] w3[w2(w1x)] (x 为输出)

为什么要隐层?

加更多的激活函数,可以将神经网络效果更好。

线性方程: f = W x f=Wx f=Wx

线性函数不够灵活

非线性方程:

f = W 2 max ⁡ ( 0 , W 1 x ) f=W_2\max(0,W_1x) f=W2max(0,W1x), 其中:
max ⁡ ( 0 , W 1 x ) \max(0,W_1x) max(0,W1x)为激活函数。神经网络中需要加入激活函数使其变为非线性。

单层神经网络

f = W 2 m a x ( 0 , W 1 x ) f=W_2max(0,W_1x) f=W2max(0,W1x)

多层神经网络

f = W 3 m a x ( 0 , W 2 m a x ( 0 , W 1 x ) ) f=W_3max(0,W_2max(0,W_1x)) f=W3max(0,W2max(0,W1x))

正则化项(过拟化方案)

有错误点,异常点,离群点。
λ w 2 \lambda w^2 λw2 正则化项可以减少过拟合现象

在这里插入图片描述
随着 λ \lambda λ 越大,泛化能力就越强。
越多的神经元(权重参数)可以表达越复杂的模型

数据预处理

将数据处理到0~1之间。
减mean,再除以标准差

权重初始化

w:随机(高斯初始化),不可是0值或者相同的值。
b:用1(使用常值初始化)。

drop out

当对神经网络进行迭代的时候(训练),可以不对某些神经元进行更新,不进行前向传播后向传播,随机筛选,可减少过拟合的风险(减小大小),还可以减少计算量。

附(数据库样例:CIFAR-10)

10类标签
50000个训练数据
100000个测试数据
大小均为32 × \times × 32


To Be Continued

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值