分类用图形来解释,把他想象为有大小有方向带箭头的向量。
设权重向量为\(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\)
感知机
感知机是接受多个输入后将每个值与各自的权重相乘,最后输出总和的模型。是神经网络和深度学习的基础模型。人们常用这样的图来表示它。
训练数据的准备
\(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,做向量的加法和减法去旋转直线。
线性可分
感知机只能解决线性可分问题。
无法解决下图情况
之前提到的感知机也被称为简单感知机或单层感知机,实际上多层感知机就是神经网络。
逻辑回归
sigmoid函数
\(f_\theta(x)=\frac{1}{1+exp(-\theta^Tx)}\) (\(exp(x)=e^x\))
图形如下:
\(\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}\)
我们将\(\boldsymbol{\theta}^T\boldsymbol{x}=0\)这条直线作为边界线,把数据分类为横向和纵向,这种用于数据分类的直线称为决策边界。
为了求正确的参数\(\theta\)而定义目标函数,进行微分,然后求参数的更新表达式。这种算法就称为逻辑回归
似然函数
开始求参数的更新表达式。
\(P(y=1|x)\)是图像为横向的概率,\(P(y=0|x)\)是图像为纵向的概率。
我们期待的概率是这样的
假定所有的训练数据都是互不影响、独立发生的,这种情况下整体的概率就可以用下面的联合概率来表示。
\(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是单调递增函数,如图
\(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)} \]线性不可分
将逻辑回归应用于线性不可分问题
不能用直接分类,但是用曲线可以分类
向训练数据中加入\(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\)如下图
现在决策边界是曲线了,参数\(\theta\)可以再调整。如果再增加\(x_2^2\)就会有圆形得决策边界。
这就是逻辑回归,还有SVM(支持向量机得分类算法)也有很名。
标签:begin,limits,白话,sum,boldsymbol,笔记,学习,bmatrix,theta From: https://www.cnblogs.com/dongdong25800/p/17566501.html