CS229 笔记06
CS229 笔记06
朴素贝叶斯
事件模型
事件模型与普通的朴素贝叶斯算法不同的是,在事件模型中,假设文本词典一共有 \(k\) 个词,训练集一共有 \(m\) 封邮件,第 \(i\) 封邮件的词的个数为 \(n_i\) ,则 \(x^{(i)} \in \{1,2,\cdots,k\}^{n_i}\) 。
此时模型的参数为:
\[
\begin{eqnarray*}
\phi_{k|y=0}&=&P(x_j=k|y=0)\\[1em]
\phi_{k|y=1}&=&P(x_j=k|y=1)\\[1em]
\phi_{y=0}&=&P(y=0)\\[1em]
\phi_{y=1}&=&P(y=1)\\[1em]
P(x,y)&=&\left(\prod_{j=1}^nP(x_j|y)\right)P(y)
\end{eqnarray*}
\]
神经网络
简介
这部分并没有详细讲。
支持向量机
记号的声明
\[
\begin{eqnarray*}
x,W&\in&{\Bbb R}^n\\[1em]
y&\in&\{-1,1\}\\[1em]
b&\in&{\Bbb R}\\[1em]
g(z)&=&\begin{cases}1&z\geq0\\[1em]-1&z<0\end{cases}\\[1em]
h_{W,b}(x)&=&g(W^{\rm T}x+b)
\end{eqnarray*}
\]超平面 \((W,b)\) 与一个样本 \((x^{(i)},y^{(i)})\) 的Functional Margin(函数间隔) \(\hat{\gamma}^{(i)}\) 定义为:
\[
\hat\gamma^{(i)}\xlongequal{def}y^{(i)}\left(W^{\rm T}x+b\right)
\]超平面 \((W,b)\) 与整个训练集的函数间隔 \(\hat{\gamma}\) 定义为:
\[
\hat\gamma\xlongequal{def}\min_i\hat\gamma^{(i)}
\]超平面 \((W,b)\) 与一个样本 \((x^{(i)},y^{(i)})\) 的Geometric Margin(几何间隔) \(\gamma^{(i)}\) 定义为样本 \((x^{(i)},y^{(i)})\) 与超平面 \((W,b)\) 之间的距离,则样本在超平面上的投影为:
\[
x^{(i)}-\frac{W}{||W||}\gamma^{(i)}
\]该点满足:
\[
\begin{eqnarray*}
W^{\rm T}\left(x^{(i)}-\frac{W}{||W||}\gamma^{(i)}\right)+b&=&0\\[1em]
W^{\rm T}x^{(i)}+b&=&\frac{W^{\rm T}W}{||W||}\gamma^{(i)}\\[1em]
W^{\rm T}x^{(i)}+b&=&||W||\gamma^{(i)}\\[1em]
\gamma^{(i)}&=&\left(\frac{W}{||W||}\right)^{\rm T}x^{(i)}+\frac{b}{||W||}\\[1em]
\end{eqnarray*}
\]更一般地(为了考虑分类结果的正误),将几何间隔 \(\hat\gamma^{(i)}\) 定义为:
\[
\gamma^{(i)}\xlongequal{def}y^{(i)}\left[\left(\frac{W}{||W||}\right)^{\rm T}x^{(i)}+\frac{b}{||W||}\right]
\]而一般会将参数 \(||W||\) 归一化使其等于1,此时几何等于函数间隔:
\[
\gamma^{(i)}\xlongequal{def}y^{(i)}\left(W^{\rm T}x+b\right)
\]超平面 \((W,b)\) 与整个训练集的几何间隔 \(\gamma\) 定义为:
\[
\gamma\xlongequal{def}\min_i\gamma^{(i)}
\]学习算法的目的就是最大化几何间隔。
CS229 笔记06的更多相关文章
- 《30天自制操作系统》笔记(06)——CPU的32位模式
<30天自制操作系统>笔记(06)——CPU的32位模式 进度回顾 上一篇中实现了启用鼠标.键盘的功能.屏幕上会显示出用户按键.点击鼠标的情况.这是通过设置硬件的中断函数实现的,可以说硬件 ...
- 强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning)
强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning) 学习笔记: Reinforcement Learning: An Introductio ...
- JAVA自学笔记06
JAVA自学笔记06 1.二维数组 1)格式: ①数据类型[][]数组名 = new 数据类型[m][n]; 或 数据类型[]数组名[]=new 数据类型[m][n]; m表示这个二维数组有多少个一维 ...
- 机器学习实战(Machine Learning in Action)学习笔记————06.k-均值聚类算法(kMeans)学习笔记
机器学习实战(Machine Learning in Action)学习笔记————06.k-均值聚类算法(kMeans)学习笔记 关键字:k-均值.kMeans.聚类.非监督学习作者:米仓山下时间: ...
- CS229 笔记08
CS229 笔记08 Kernel 回顾之前的优化问题 原始问题为: \[ \min_{w,b} \frac{1}{2}||w||^2\\[1.5em] {\text{s.t.}}y^{(i)}\le ...
- CS229 笔记07
CS229 笔记07 Optimal Margin Classifier 回顾SVM \[ \begin{eqnarray*} h_{w,b}&=&g(w^{\rm T}x+b)\\[ ...
- CS229 笔记05
CS229 笔记05 生成学习方法 判别学习方法的主要思想是假设属于不同target的样本,服从不同的分布. 例如 \(P(x|y=0) \sim {\scr N}(\mu_1,\sigma_1^2) ...
- CS229 笔记04
CS229 笔记04 Logistic Regression Newton's Method 根据之前的讨论,在Logistic Regression中的一些符号有: \[ \begin{eqnarr ...
- CS229 笔记03
CS229 笔记03 局部加权线性回归 Non-Parametric Learning Algorithm (非参数学习方法) Number of parameters grows with the ...
随机推荐
- 关于InfiniBand几个基本知识点解释
文章出处: https://blog.csdn.net/BtB5e6Nsu1g511Eg5XEg/article/details/83629279 公众号 https://blog.csdn.net/ ...
- 启动Tomcat 卡在 Initializing Spring FrameworkServlet 'SpringMVC'
使用Myeclipse进行项目开发时莫名其妙启动项目卡在 Initializing Spring FrameworkServlet 'SpringMVC' ,然后等待几分钟后项目才启动起来. 在之前也 ...
- 在 Ubuntu16.04 中搭建 Spark 单机开发环境 (JDK + Scala + Spark)
1.准备 本文主要讲述如何在Ubuntu 16.04 中搭建 Spark 2.11 单机开发环境,主要分为 3 部分:JDK 安装,Scala 安装和 Spark 安装. JDK 1.8:jdk-8u ...
- 小学生二元四则运算(F)
整体功能简介: 1.题目不重复: 2.可以定制数量: 3.可以自己选择输入范围: 4.可以选择是否添加乘除法: 5.可以选择除法结果是取整或商加余数形式表示或小数方式(默认小数点后两位)表示: 6 ...
- 设置macbook休眠模式
前言: macbook默认合上盖默认是进入混合休眠模式模式(mode 3),此时电脑还会供电.不想耗电的话关机的话当前的工作状态就丢失了. macbook实际上是可以进入休眠模式的,只是没开放出来,我 ...
- Django如何安装指定版本
Django默认安装最新版本:pip install django Django后面接版本号就可以了:pip install django==1.11.7 如果使用pip install安装库比较 ...
- Win2008r2 由ESXi 转换到 HyperV的处理过程
1. 大部分2008r2 采取了 windows loader的方式激活 这种方式 会导致hyperV 启动失败 因为他家在了错误的bios类型 所以第一步建议 使用windows loader 卸载 ...
- Windows 创建计划任务 实现自动同步文件.
0 感觉自己还是缺乏让计算机去工作的思维, 缺少编程和算法的想法与实践做法. 0x1 打开计划任务 方法: 运行-> 输入 control -> 大图标->管理工具 打开任务计划程序 ...
- kubectl 命令记录 转帖自: https://www.kubernetes.org.cn/doc-45
kubectl annotate – 更新资源的注解. kubectl api-versions – 以“组/版本”的格式输出服务端支持的API版本. kubectl apply – 通过文件名或控制 ...
- OneZero团队Beta发布剧透
统计界面暂不透露,尽请期待.