首页 > 其他分享 >白话机器学习笔记(二)学习分类

白话机器学习笔记(二)学习分类

时间:2023-07-19 19:12:33浏览次数:37  
标签:begin limits 白话 sum boldsymbol 笔记 学习 bmatrix theta

image-20230719111307639

分类用图形来解释,把他想象为有大小有方向带箭头的向量。

设权重向量为\(w\),虚线为使权重向量称为法线向量的直线。

直线的表达式为:\(w\cdot x=0\) (两个向量的内积)

也可写为:\(w\cdot x=\sum\limits_{i=1}^nw_ix_i=w_1x_1+w_2x_2=0\)

\(w\cdot x=|w|\cdot|x|\cdot cos\theta\) 要使内积0,\(\theta=90\degree\)或\(\theta=270\degree\)

感知机

感知机是接受多个输入后将每个值与各自的权重相乘,最后输出总和的模型。是神经网络和深度学习的基础模型。人们常用这样的图来表示它。

image-20230719114303128

训练数据的准备

image-20230719114444309

\(f_w(x)\):根据参数向量\(x\)来判断图像是横向还是纵向的函数,即返回1或者-1的函数,这个函数被称为判别函数。

\(\begin{equation} f_w(x)= \begin{cases} 1& {(w\cdot x\ge0)}\\ -1&{(w\cdot x<0)} \end{cases} \end{equation}\)

根据内积正负来分割区域

权重向量的更新表达式

\(w:=\begin{equation} \begin{cases}w+y^{(i)}x^{(i)}&(f_w(x^{(i)})\not=y^{(i)})\\w&(f_w(x^{(i)})=y^{(i)}) \end{cases}\end{equation}\)

分类正确不动,分类失败更新权重向量,\(y^{(i)}\)为1或-1,做向量的加法和减法去旋转直线。

线性可分

感知机只能解决线性可分问题

无法解决下图情况

image-20230719121624546

之前提到的感知机也被称为简单感知机或单层感知机,实际上多层感知机就是神经网络。

逻辑回归

sigmoid函数

\(f_\theta(x)=\frac{1}{1+exp(-\theta^Tx)}\) (\(exp(x)=e^x\))

图形如下:

image-20230719122033385

\(\theta^Tx=0\)时\(f_\theta(x)=0.5\),\(0<f_\theta(x)<1\)是sigmoid函数的两个特征。

决策边界

把位置数据\(x\)是横向图像的概率作为\(f_\theta(x)\),表达式如下

\(P(y=1|x)=f_\theta(x)\)

这是在给出\(x\)的数据时\(y=1\),即图像为横向的概率。

\(y=\begin{cases}1&(f_\theta(x)\ge0.5)\\0&(f_\theta(x)<0.5) \end{cases}\)

可以改写为:

\(y=\begin{cases}1&(\boldsymbol{\theta}^T\boldsymbol{x}\ge0)\\0&(\boldsymbol{\theta}^T\boldsymbol{x}<0)\end{cases}\)

image-20230719124539740

image-20230719124550170

我们将\(\boldsymbol{\theta}^T\boldsymbol{x}=0\)这条直线作为边界线,把数据分类为横向和纵向,这种用于数据分类的直线称为决策边界

为了求正确的参数\(\theta\)而定义目标函数,进行微分,然后求参数的更新表达式。这种算法就称为逻辑回归

似然函数

开始求参数的更新表达式。

\(P(y=1|x)\)是图像为横向的概率,\(P(y=0|x)\)是图像为纵向的概率。

我们期待的概率是这样的

image-20230719125101271

假定所有的训练数据都是互不影响、独立发生的,这种情况下整体的概率就可以用下面的联合概率来表示。

\(L(\theta)=P(y^{(1)}=0|x^{(1)})P(y^{(2)}=0|x^{(2)})\cdots P(y^{(6)}=1|x^{(6)})\)

将其一般化,写法如下:

\(L(\theta)=\prod\limits_{i=1}^nP(y^{(i)}=1|x^{(i)})^{y^{(i)}}P(y^{(i)}=0|x^{(i)})^{1-y^{(i)}}\)

考虑使目标函数最大化的参数\(\theta\),可以认为似然函数\(L(\theta)\)中,使其值最大的参数\(\theta\)能够最近似地说明训练数据。

对数似然函数

取似然函数的对数

\(logL(\theta)=log\prod\limits_{i=1}^nP(y^{(i)}=1|x^{(i)})^{y^{(i)}}P(y^{(i)}=0|x^{(i)})^{1-y^{(i)}}\)

log是单调递增函数,如图

image-20230719155041679

\(L(\theta)\)最大化等价于\(logL(\theta)\)最大化

\(logL(\theta)=log\prod\limits_{i=1}^nP(y^{(i)}=1|x^{(i)})^{y^{(i)}}P(y^{(i)}=0|x^{(i)})^{1-y^{(i)}}\)函数变形如下

\[\begin{aligned} logL(\theta)&=log\prod\limits_{i=1}^nP(y^{(i)}=1|x^{(i)})^{y^{(i)}}P(y^{(i)}=0|x^{(i)})^{1-y^{(i)}}\\&= \sum\limits_{i=1}^n(logP(y^{(i)}=1|x^{(i)})^{y^{(i)}}+logP(y^{(i)}=0|x^{(i)})^{1-y^{(i)}})\\&= \sum\limits_{i=1}^n(y^{(i)}logP(y^{(i)}=1|x^{(i)})+({1-y^{(i)}})logP(y^{(i)}=0|x^{(i)}))\\&= \sum\limits_{i=1}^n(y^{(i)}logP(y^{(i)}=1|x^{(i)})+({1-y^{(i)}})log(1-P(y^{(i)}=1|x^{(i)})))\\&= \sum\limits_{i=1}^n(y^{(i)}logf_\theta(x^{i}) +({1-y^{(i)}})log(1-f_\theta(x^{(i)}))) \end{aligned} \]

接下来对各个参数\(\theta_j\)求微分

\[\begin{aligned} \frac{\partial logL(\theta)}{\partial\theta_j}&= \frac{\partial}{\partial\theta_j}\sum\limits_{i=1}^n(y^{(i)}logP(y^{(i)}=1|x^{(i)})+({1-y^{(i)}})log(1-f_\theta(x^{(i)}))) \end{aligned} \]

\(f_\theta(x)=\frac{1}{1+exp(-\theta^Tx)}\)

过程省略得

\[\frac{\partial logL(\theta)}{\partial\theta_j}= \sum\limits_{i=1}^n(y^{(i)}-f_\theta(x^{(i)}))x_j^{(i)} \]

最大化为目标,与微分结果符号相同得方向移动,更新表达式如下

\[\theta_j:=\theta_j+\eta\sum\limits_{i=1}^n(y^{(i)}-f_\theta(x^{(i)}))x_j^{(i)} \]

也可以调整为下面这样

\[\theta_j:=\theta_j-\eta\sum\limits_{i=1}^n(f_\theta(x^{(i)})-y^{(i)})x_j^{(i)} \]

线性不可分

将逻辑回归应用于线性不可分问题

image-20230719164128363

不能用直接分类,但是用曲线可以分类

向训练数据中加入\(x_1^2\)

\[\boldsymbol{\theta}= \begin{bmatrix} \theta_0\\\theta_1\\\theta_2\\\theta_3 \end{bmatrix} , \boldsymbol{x}= \begin{bmatrix} 1\\x_1\\x_2\\x_1^2 \end{bmatrix} \]

\[\boldsymbol{\theta}^T\boldsymbol{x}= \theta_0+\theta_1x_1+\theta_2x_2+\theta_3x_1^2 \]

\[\boldsymbol{\theta}= \begin{bmatrix} \theta_0\\\theta_1\\\theta_2\\\theta_3 \end{bmatrix} = \begin{bmatrix} 0\\0\\1\\-1 \end{bmatrix} \]

\(\boldsymbol{\theta}^T\boldsymbol{x}=x_2-x_1^2\ge0\)如下图

image-20230719165445489

现在决策边界是曲线了,参数\(\theta\)可以再调整。如果再增加\(x_2^2\)就会有圆形得决策边界。

这就是逻辑回归,还有SVM(支持向量机得分类算法)也有很名。

标签:begin,limits,白话,sum,boldsymbol,笔记,学习,bmatrix,theta
From: https://www.cnblogs.com/dongdong25800/p/17566501.html

相关文章

  • 白话机器学习笔记(一)学习回归
    最小二乘法定义模型表达式:\(f_\theta(x)=\theta_0+\theta_1x\)(常用\(\theta\)表示未知数、\(f_\theta(x)\)表示含有参数\(\theta\)并且和变量\(x\)相关的函数)目标函数假设有\(n\)个训练数据,那么它们的误差之和可以这样表示,这个表达式称为目标函数。\(E(\theta)=\frac12\sum......
  • 白话机器学习笔记(三)评估模型
    模型评估在进行回归和分类时,为了进行预测,我们定义了函数\(f_\theta(x)\),然后根据训练数据求出了函数的参数\(\theta\)。如何预测函数\(f_\theta(x)\)的精度?看它能否很好的拟合训练数据?我们需要能够定量的表示机器学习模型的精度,这就是模型的评估。交叉验证回归问题的验证把......
  • 箱型图读取python.csv,nosql.csv,机器学习.csv,数据预处理.csv四门成绩的数据
    箱型图在数据分析中的应用箱型图(Boxplot),也称为盒须图、盒式图,是一种常用的数据可视化方法,用于展示一组数据的分布情况。箱型图主要包含了数据的五个统计量:最小值、下四分位数(Q1)、中位数(Q2)、上四分位数(Q3)和最大值。通过箱型图,我们可以直观地了解数据的中心位置、离散程度、异常值......
  • KMP算法笔记
    1.概念解析前置:将原串称之为文本串,匹配串称之为模式串。KMP的实质其实就是:利用已经匹配的信息,来加速查找的过程。对于暴力解法而言,当我进行模式串匹配时,遇到一个不匹配的字符,那么只能一步一步往下滑动,然后重新匹配。但是对于KMP算法而言,利用到了前缀子......
  • 异常处理学习
    在学习DWARFExpression这个概念的时候,我们需要知道异常处理、栈展开等概念异常处理所谓的异常就是在应用程序正常执行过程中的发生的不正常的事件,如溢出,除数为0等不正常程序的之星,就会引发异常。由CPU引发,而不是程序员自己定义的异常叫做硬件异常,例如用指针指向一个非法地址,就......
  • 7.17-软件指令学习
      ......
  • 【学习记录】2023年暑期ACM训练
    学习记录7月16日集训正式开始前一天,搬东西到了机房,在我的老古董笔记本上配置好了环境。这半个月来基本没有写代码,目前非常生疏。晚上在VJudge上拉了个热身赛,做了些简单的签到题,稍微找回了些手感。有一道计算几何的题目有思路,但是卡在了代码实现上,毕竟还没有系统学过。7月17日&......
  • 【安全学习之路】Day35
    ......
  • Java学习day05~06: 面向对象
    我在B站上大学......
  • html 学习 day3 css 的层叠 父子size 的继承
    今天遇到一个问题,css的父子继承关系在一种case下不生效。:子节点无法继承父节点的 width和height的设定下面代码的原始版本img无法继承div的宽和高的设定。当 img的css设定为:img{height:100%;width:100%;margin-right:1......