神经网络与深度学习课程笔记(一)

本文介绍了神经网络与深度学习的基础,包括线性回归、线性二分类问题、对数回归和多分类回归。讲解了线性回归的代价函数和求解方法,以及线性分类器与线性回归的区别。接着引入了Sigmoid函数在二分类问题中的应用,并概述了多层感知机和BP算法在解决线性不可分问题上的作用。
摘要由CSDN通过智能技术生成

线性回归

线性回归要素:训练集、输出数据和模型。

输入数据
机器学习方法
估计函数h
新数据
新估计

假设线性函数可表示为:

y = h θ ( x ) = θ T x θ = [ θ 1 , θ 2 , . . . θ n ] T , x = [ x 1 , x 2 , . . . x n ] T y=h_{\theta}(x)=\theta^T x\\\theta=[\theta_1,\theta_2,...\theta_n]^T,x=[x_1,x_2,...x_n]^T y=hθ(x)=θTxθ=[θ1,θ2,...θn]T,x=[x1,x2,...xn]T

给定样本 ( x ( i ) , y ( i ) ) (x^{(i)},y^{(i)}) (x(i),y(i)),构造代价(误差、损失)函数为:

J ( θ ) = 1 2 ∑ i = 1 m ( y ( i ) − h θ ( x ( i ) ) ) 2 J(\theta)=\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-h_{\theta}(x^{(i)}))^{2} J(θ)=21i=1m(y(i)hθ(x(i)))2

线性回归的目标是找到超平面参数 θ \theta θ,使 J ( θ ) J(\theta) J(θ)最小,即求解 m i n θ J ( θ ) min_{\theta}J(\theta) minθJ(θ)

∂ J ( θ ) ∂ θ = 0 \frac{\partial J( \theta ) } { \partial \theta } = 0 θJ(θ)=0,即可得到: θ = ( X T X ) − 1 X T y \theta = ( X ^ { T } X ) ^ { - 1 } X ^ { T } y θ=(XTX)1XTy,其中:

X = [ ( x ( 1 ) ) T ( x ( 2 ) ) T . . . ( x ( N ) ) T ] , y = [ y ( 1 ) y ( 2 ) . . . y ( N ) ] X = \left[ \begin{array} { l } { ( x ^ { ( 1 ) } ) ^ { T } } \\ { ( x ^ { ( 2 ) } ) ^ { T } } \\...\\ { ( x ^ { ( N ) } ) ^ { T } } \end{array} \right] , y = \left[ \begin{array} { l } { y ^ { ( 1 ) } } \\ { y ^ { ( 2 ) } } \\ ... \\{ y ^ { ( N ) } } \end{array} \right] X= (x(1))T(x(2))T...(x(N))T ,y= y(1)y(2)...y(N)

线性二分类问题

线性分类器的输入是特征向量,输出是哪一类。如果是二分类问题,则为0和1,或者是属于某类的概率,即0-1之间的数。

与线性回归差别:

  1. 输出意义不同

    属于某类的概率<->回归具体值

  2. 参数意义不同

    最佳分类直线<->最佳拟合直线

  3. 维度不同

对于线性二分类问题,我们最终需要概率,结果在0-1之间,因此需要对值做一个变换:

y = 1 1 + e − z z = θ T x y = \frac { 1 } { 1 + e ^ { - z } }\\z=\theta^T x y=1+ez1z=θTx

此函数称为Sigmoid函数。

同样地,可构造代价(误差)函数:

J ( θ ) = 1 2 ∑ i = 1 m ( y ( i ) − 1 1 + e − θ T x ( i ) ) 2 J(\theta)=\frac{1}{2}\sum_{i=1}^{m}(y^{(i)}-\frac{1}{1+e^{-\theta^Tx^{(i)}}})^{2} J(θ)=21i=1m(y(i)1+eθTx(i)1)2

和回归方程一致,只是加了S函数,因此又称作softmax回归。

目标仍然是找到超平面参数 θ \theta θ,使 J ( θ ) J(\theta) J(θ)最小,但是这里 J J J变成了非线性, ∂ J ( θ ) ∂ θ = 0 \frac{\partial J( \theta ) } { \partial \theta } = 0 θJ(θ)=0无法求解。

采用迭代的方法,让 J ( θ ) → 0 J ( \theta ) \rightarrow 0 J(θ)0,即构建一个序列,使 θ 1 , θ 2 , ⋯ θ k → θ ∗ \theta _ { 1 } , \theta _ { 2 } , \cdots \theta _ { k } \rightarrow \theta ^ { * } θ1,θ2,θkθ,最简单的方式为:

θ k + 1 = θ k + Δ θ k \theta _ { k + 1 } = \theta _ { k } + \Delta \theta _ { k } θk+1=θk+Δθk

由于:

J ( θ k + 1 ) = J ( θ k ) + [ d J d θ ] T Δ θ k J ( \theta _ { k + 1 } ) = J ( \theta _ { k } ) + [ \frac { d J } { d \theta } ] ^ { T } \Delta \theta _ { k } J(θk+1)=J(θk)+[dθdJ]TΔθk

若令:

Δ θ k = − α d J d θ = − α ▽ θ J \Delta \theta _ { k } = - \alpha \frac { d J } { d \theta } = - \alpha \triangledown _ { \theta } J Δθk=αdθdJ=αθJ

则必然有 J ( θ k + 1 ) ≤ J ( θ k ) J ( \theta _ { k + 1 } ) \leq J ( \theta _ { k } ) J(θk+1)J(θk)

在这里插入图片描述

对数回归与多分类回归

从概率角度看问题。二分类问题可使用条件概率描述:

在这里插入图片描述
假设输出为{0,1}。重新修改指标函数:

在这里插入图片描述
在这里插入图片描述

神经元模型


在这里插入图片描述
单神经元模型

在这里插入图片描述

多层感知机

线性不可分问题:无法进行线性分类,解决方法为使用多层感知机:在输入和输出层间加一或多层隐单元。

在这里插入图片描述

多层前馈网络

多层前馈网络的反向传播 (BP)学习算法,简称BP算法,是有导师的学习,它是梯度下降法在多层前馈网中的应用。网络结构见下图:

在这里插入图片描述

  • 已知网络的输入/输出样本,即导师信号
  • BP学习算法由正向传播和反向传播组成

BP算法

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值