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的更多相关文章

  1. 《30天自制操作系统》笔记(06)——CPU的32位模式

    <30天自制操作系统>笔记(06)——CPU的32位模式 进度回顾 上一篇中实现了启用鼠标.键盘的功能.屏幕上会显示出用户按键.点击鼠标的情况.这是通过设置硬件的中断函数实现的,可以说硬件 ...

  2. 强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning)

    强化学习读书笔记 - 06~07 - 时序差分学习(Temporal-Difference Learning) 学习笔记: Reinforcement Learning: An Introductio ...

  3. JAVA自学笔记06

    JAVA自学笔记06 1.二维数组 1)格式: ①数据类型[][]数组名 = new 数据类型[m][n]; 或 数据类型[]数组名[]=new 数据类型[m][n]; m表示这个二维数组有多少个一维 ...

  4. 机器学习实战(Machine Learning in Action)学习笔记————06.k-均值聚类算法(kMeans)学习笔记

    机器学习实战(Machine Learning in Action)学习笔记————06.k-均值聚类算法(kMeans)学习笔记 关键字:k-均值.kMeans.聚类.非监督学习作者:米仓山下时间: ...

  5. CS229 笔记08

    CS229 笔记08 Kernel 回顾之前的优化问题 原始问题为: \[ \min_{w,b} \frac{1}{2}||w||^2\\[1.5em] {\text{s.t.}}y^{(i)}\le ...

  6. CS229 笔记07

    CS229 笔记07 Optimal Margin Classifier 回顾SVM \[ \begin{eqnarray*} h_{w,b}&=&g(w^{\rm T}x+b)\\[ ...

  7. CS229 笔记05

    CS229 笔记05 生成学习方法 判别学习方法的主要思想是假设属于不同target的样本,服从不同的分布. 例如 \(P(x|y=0) \sim {\scr N}(\mu_1,\sigma_1^2) ...

  8. CS229 笔记04

    CS229 笔记04 Logistic Regression Newton's Method 根据之前的讨论,在Logistic Regression中的一些符号有: \[ \begin{eqnarr ...

  9. CS229 笔记03

    CS229 笔记03 局部加权线性回归 Non-Parametric Learning Algorithm (非参数学习方法) Number of parameters grows with the ...

随机推荐

  1. 4、c++ Arx二次开发创建多段线

    一.本节课程 c++ Arx二次开发创建多段线 二.本节要讲解的知识点 如何应用C++ ARX二次开发创建多段线(AcDbPolyline.AcDb2dPolyLine.AcDb3dPolyline的 ...

  2. 【LeetCode】数组--合并区间(56)

    写在前面   老粉丝可能知道现阶段的LeetCode刷题将按照某一个特定的专题进行,之前的[贪心算法]已经结束,虽然只有三个题却包含了简单,中等,困难这三个维度,今天介绍的是第二个专题[数组] 数组( ...

  3. yocto-sumo源码解析(三):oe-setup-builddir

    该脚本的主要功能就是创建构建目录并准备一些配置文件,比如conf/local.conf,conf/bblayer.conf 1. 检测BUILDDIR环境变量是否设置好(在本系列分享第二节已经知道:B ...

  4. Notes of Daily Scrum Meeting(12.5)

    最近各种大作业催的比较紧,而且也因为Beta阶段刚刚开始,大家的进展很缓慢,周四因为课业的原因大部分队员 没有做我们的项目,所以就在今天一起总结,我们的问题反馈给学姐之后,学姐也还在看,目前还没有回复 ...

  5. Linux内核学习总结(final)

    Linux内核学习总结 符钰婧 原创作品转载请注明出处 <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ...

  6. 构建之法——Team & Scrum & MSF

        第五章(团队和流程)83-99  这一章主要介绍的是团队精神 那是不是说只要能组合在一起的就是组成了一个团队了?其实不然,软件团队有各种形式,适用于不同的人员和需求.适合自己的团队才能共赢! ...

  7. Github作为图床的一个小坑

    Github作为图床的一个小坑 前言 听了少铭同学建议把github作为图床,结果遇到了一个小坑,总是显示不出来图片. 问题描述与解决 形如下的链接是显示不出来的: https://github.co ...

  8. php redis 的基本操作

    前言: 断断续续的接触了redis的使用.但是也就简单的记住了几个set.get方法,用的还是太少了吧.所以来做个笔记,记录下一些常用的命令. 内容: 首先是php连接redis. $redis = ...

  9. du 显示 前面以及或者两级的目录大小的方法

    mark 一下 du -h --max-depth=

  10. K8S 使用简单的NFS 作为 持久存储的 StorageClass 的简单测试.

    Study From https://jimmysong.io/kubernetes-handbook/practice/using-nfs-for-persistent-storage.html 1 ...