《统计学习方法》阅读笔记——第4章-朴素贝叶斯法
统计学习方法笔记——第4章-朴素贝叶斯法
朴素贝叶斯(naive Baye)法
朴素贝叶斯法是基于贝叶斯定理与特征条件独立假设的分类方法,与贝叶斯估计(Bayesian estimation)是不同的概念。
先基于特征条件独立假设,学习输入输出的联合概率分布\(P(X,Y)\)(是一种生成方法);
计算先验概率\(P(Y)\)和条件概率\(P(X|Y)\);
根据给定的实例,利用贝叶斯公式计算\(P(X,Y)=P(Y)P(X|Y)\);
然后基于此模型,对给定的输入\(x\),利用贝叶斯定理求出后验概率最大的输出\(y\)。
根据\(P(X,Y)\),利用贝叶斯公式计算输入的\(P(Y|X)=\frac{P(X,Y)}{P(X)}\);
取最大的\(y\)为输入的类别:\(y=\arg \max P(Y|X)\)。
接下来介绍朴素贝叶斯方法中如何求解\(P(X|Y),P(X)\) .
生成式模型generative models和判别式模型discriminative models
判别式模型
给定\(\mathbf x\) ,直接建模\ ...
《统计学习方法》阅读笔记——第3章-k近邻法
统计学习方法笔记——第3章-k近邻法
k 近邻法(k-nearest neighbor,k-NN)是一种基本分类与回归方法。《统计学习方法》一书中讨论分类问题中的 k 近邻法。
k 近邻算法
用k 近邻法分类时,对新的实例,根据给定的距离度量,找出其 k 个最近邻的训练实例,根据最邻近 k 个实例的类别,通过多数表决等方式对该实例的类别进行预测(这 k 个实例的多数属于某个类,就把该输入实例分为这个类)。
有以下特点:
k 近邻法不具有显式的学习过程。
k 近邻法实际上利用训练数据集对特征向量空间进行划分,并作为其分类的“模型”。
k值的选择、距离度量及分类决策规则是k 近邻法的三个基本要素。当训练集、距离度量、 k 值及分类决策规则确定后,k临近法的结果唯一确定。
特别的,当$ k=1\(时,称为**最近邻算法**:对于输入的实例点(特征向量)\) x$ ,最近邻法将训练数据集中与$ x \(最邻近点的类作为\) x$ 的类。
k 近邻模型
模型
k 近邻法使用的模型实际上是对特征空间的划分。
模型由三个基本要素:距离度量、 k 值的选择和分类决策 ...
《统计学习方法》阅读笔记——第2章-感知机
统计学习方法笔记——第2章-感知机
感知机(perceptron)是二分类的线性分类模型。其输入为实例的特征向量,输出为实例的类别,取+1 和–1 二值。
感知机模型:对应于输入空间(特征空间)中将实例划分为正负两类的分离超平面,属于判别模型;
感知机学习策略:基于误分类的损失函数;
感知机算法:利用梯度下降法对损失函数进行极小化(包括原始形式和对偶形式)。
感知机模型对线性可分的数据集比较有效。
数据集的线性可分性
给定一个数据集,如果存在某个超平面\(S\)能够将数据集的正、负实例点完全正确地划分到超平面两侧,即对所有\(y_i=+1\)的实例\(i\) ,有\(w·x+b>0\),对所有 \(y_i=-1\)的实例\(i\) ,有则称 数据集\(w·x+b<0\),则数据集是线性可分地(linearly separable data set);否则,称数据集线性不可分。
感知机模型
输入\(x\):输入空间(特征空间)\(\mathcal X \subseteq-\mathbf R^n\)中的点\(x \in \mathcal X\)。
输出\(y ...
《统计学习方法》阅读笔记——第1章-统计学习方法概论
统计学习方法笔记——第1章-统计学习方法概论
统计学习方法三要素
从给定的、有限的、用于学习的训练数据(training data)集合出发,假设数据是独立同分布产生的;并且假设要学习的模型属于某个函数的集合,称为假设空间(hypothesis space);应用某个评价准则(evaluation criterion),从假设空间中选取一个最优的模型,使它对已知训练数据及未知测试数据(test data)在给定的评价准则下有最优的预测;最优模型的选取由算法实现。
这样,统计学习方法包括模型的假设空间、模型选择的准则以及模型学习的算法,称其为统计学习方法的三要素,简称为模型(model)、策略(strategy)和算法(algorithm)。 \[
方法=模型+策略+算法
\] 实现统计学习方法的步骤如下:
得到一个有限的训练数据集合;
确定包含所有可能的模型的假设空间,即学习模型的集合;
确定模型选择的准则,即学习的策略;
实现求解最优模型的算法,即学习的算法;
通过学习方法选择最优模型;
利用学习的最优模型对新数据进行预测或分析。
模型
在监督学习过 ...
西瓜书阅读笔记——第9章-聚类
西瓜书阅读笔记——第9章-聚类
什么是聚类
无监督学习,通过对无标记对无标记训练样本的学习来揭示数据的内在性质及规律,为进一步的数据分析提供基础。
两个基本问题:
性能度量;
距离计算。
聚类性能度量
有效性指标,评估聚类结果的好坏,可以作为聚类过程的优化目标,以达到符合要求的聚类结果。
希望聚类结果的:"簇内相似度"(intra-cluster similarity)高,且"簇间相似度"(inter-cluster similarity)低。
根据是否有参考模型,可以将聚类性能度量分为两类:
外部指标external index:将聚类结果与某个"参考模型"(reference model)进行比较;
内部指标internal index:直接考察聚类结果而不利用任何参考模型。
外部指标external index
聚类划分的簇划分集合\(C={C_1,C_2...C_k}\),参考模型的簇划分集合\(C^*={C^*_1,C^*_2...C^*_s}\),一个样本属于\(C_i\) ...
Pytorch与视觉竞赛入门5-PyTorch搭建对抗生成网络
Pytorch与视觉竞赛入门5-PyTorch搭建对抗生成网络
对抗生成网络原理
对抗生成网络通过框架中(至少)两个模块:生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。
生成模型和判别模型的区别
判别式模型求得P(Y|X),对未见示例X,根据P(Y|X)可以求得标记Y;
生成式模型求得P(Y,X),对于未见示例X,要求出X与不同标记之间的联合概率分布,然后大的获胜。
GAN组成
GAN有两个网络,G(Generator)和D(Discriminator)。G是一个生成图片的网络,它接收一个随机的噪声z,通过这个噪声生成图片,记做G(z);D是一个判别网络,判别一张图片是不是“真实的”。它的输入参数是x,x代表一张图片,输出D(x)代表x为真实图片的概率,如果为1,就代表100%是真实的图片,而输出为0,就代表不可能是真实的图片。
在训练过程中,生成网络G的目标就是尽量生成真实的图片去欺骗判别网络D。而D的目标就是尽量把G生成的图片和真实的图片分别开来。这样,G和D构成了一个动态的“博弈过 ...
Pytorch与视觉竞赛入门4-PyTorch完成Fashion-MNIST分类
Pytorch与视觉竞赛入门4-PyTorch完成Fashion-MNIST分类
基本配置
import torchimport numpy as npimport pandas as pdimport matplotlib.pyplot as pltfrom torch import nn, optim # optim here allow us to get optimizersfrom torchvision import datasets, transformsimport torchvisionfrom torch.utils.data import Dataset, DataLoaderimport torch.nn.functional as F # let us to use ReLU and log softmaximport helperfrom sklearn.metrics import confusion_matrixdevice=torch.device("cuda:0" if torch.cuda.is_available() el ...
Pytorch与视觉竞赛入门3.2-使用Pytorch搭建ResNet
Pytorch与视觉竞赛入门3.2-使用Pytorch搭建ResNet
ResNet
原理
原理部分主要摘自:ResNet详解与分析
残差结构有什么作用可以查看之前的博客:Transformer相关——残差模块
残差模块结构图示
\(F(x)+x\)构成的block称之为Residual Block,即残差块,如下图所示,多个相似的Residual Block串联构成ResNet。
一个残差块有2条路径\(F(x)\)和\(x\),\(F(x)\)路径拟合残差,不妨称之为残差路径,\(x\)路径为identity mapping恒等映射,称之为”shortcut”。图中的\(⊕\)为element-wise addition,要求参与运算的\(F(x)\)和\(x\)的尺寸要相同。所以,随之而来的问题是:
残差路径如何设计?
shortcut路径如何设计?
Residual Block之间怎么连接?(也就是残差网络的结构)
残差路径如何设计?
在原论文中,残差路径可以大致分成2种,一种有bottleneck结构,即下图右中的1×1卷积层,用于先降 ...
Pytorch与视觉竞赛入门3.1-使用Pytorch搭建VGG
Pytorch与视觉竞赛入门3.1-使用Pytorch搭建VGG
VGG
原理
VGG16的结构图如下:
LRN模块
AlexNet中提出的局部响应归一化(LRN)(Krizhevsky等,2012),VGG的实验结果表明LRN对性能提升并没有什么帮助,而且还浪费了内存的计算的损耗。
特点
VGG16的突出特点是简单,体现在:
卷积层均采用相同的卷积核参数
卷积层均表示为conv3-XXX,其中conv3说明该卷积层采用的卷积核的尺寸(kernel size)是3,即宽(width)和高(height)均为3,3*3是很小的卷积核尺寸,结合其它参数(步幅stride=1,填充方式padding=same),这样就能够使得每一个卷积层(张量)与前一层(张量)保持相同的宽和高。XXX代表卷积层的通道数。
池化层均采用相同的池化核参数
池化层的参数均为2××2,步幅stride=2,max的池化方式,这样就能够使得每一个池化层(张量)的宽和高是前一层(张量)的1212。
模型是由若干卷积层和池化层堆叠(stack)的方式构成,比较容易形成较深的网络结构 ...
Linux基础使用4-后台运行应用程序
Linux基础使用4-后台运行应用程序
后台运行应用程序指的是退出当前terminal以后,程序仍然在运行而不会随着terminal关闭而终止。
后台执行脚本命令功能介绍
&:将当前命令以后台的形式运行;ctrl+z:将前台任务转后台并冻结;bg:将后台冻结的任务再次运行起来;fg:将后台任务重新转前台执行;nohup:隔离终端挂断信号,是命令的前缀;disown:隔离终端挂断信号,事后使用;setsid:重新创建一个会话进程来执行任务;(cmd):创建一个独立shell来执行命令;jobs:查看在后台运行的任务列表;ps:查看正在运行的进程信息;kill:杀掉某个进程;
后台运行应用程序步骤
创建脚本
#创建脚本文件sudo gedit hzqtest8.sh
#输入脚本内容#!/bin/bashfor ((i = 0; i < 10; i++)); do sleep 2 echo $(date)done#保存退出。
为脚本文件赋予执行权限
sudo chmod 755 hzqtest8.sh
后台运行应用程序常用方法
&配合c ...