【神经网络与深度学习】1.线性分类与感知机
线性分类与感知机
- 线性分类
- 线性回归
- 线性二分类
- 多分类回归
- 多层感知机
- 神经元模型
- 感知机模型
作为机器学习的一类,深度学习通常基于神经网络模型逐级表示越来越抽象的概念或模式。
这里从线性回归和softmax回归这两种单层神经网络入手。进一步从单层神经网络延伸到多层神经网络,并通过多层感知机引入深度学习模型。
线性分类
具体讨论之前首先说明回归问题与分类问题的差别。
- 回归问题:输出是连续值,如预测房价、气温等,使用线性回归;
- 分类问题:输出是离散值,如图像分类、垃圾邮件识别等,使用softmax回归。
线性回归
基本要素
以房屋价格预测为例解释线性回归的基本要素,假设价格只取决于两个因素,即面积和房龄。
模型
设房屋的⾯积为 x 1 x_{1} x1,房龄为 x 2 x_{2} x2,售出价格为 y y y。我们需要建⽴基于输⼊ x 1 x_{1} x1和 x 2 x_{2} x2来计算输出 y y y的表达式,也就是模型(model)。顾名思义,线性回归假设输出与各个输⼊之间是线性关系:
y ^ = x 1 w 1 + x 2 w 2 + b \hat{y}=x_{1} w_{1}+x_{2} w_{2}+b y^=x1w1+x2w2+b
其中 w 1 w_{1} w1和 w 2 w_{2} w2是权重(weight), b b b是偏差(bias),且均为标量。它们是线性回归模型的参数(parameter)。模型输出 y ^ \hat{y} y^是线性回归对真实价格 y y y的预测或估计。我们通常允许它们之间有⼀定误差。模型训练
训练数据
这里的训练数据可以是多栋房屋的真实售出价格和它们对应的⾯积和房龄。在机器学习术语⾥,该数据集被称为训练集(training set),⼀栋房屋被称为⼀个样本(sample),其真实售出价格叫作标签(label),⽤来预测标签的两个因素叫作特征(feature)。特征⽤来表征样本的特点。
假设我们采集的样本数为n,线性回归模型的房屋价格预测表达式为
y ^ ( i ) = x 1 ( i ) w 1 + x 2 ( i ) w 2 + b \hat{y}^{(i)}=x_{1}^{(i)} w_{1}+x_{2}^{(i)} w_{2}+b y^(i)=x1(i)w1+x2(i)w2+b损失函数
也称为代价函数或者误差函数,用来衡量格预测值与真实值之间的误差。常常选择平方函数:
ℓ ( i ) ( w 1 , w 2 , b ) = 1 2 ( y ^ ( i ) − y ( i ) ) 2 \ell^{(i)}\left(w_{1}, w_{2}, b\right)=\frac{1}{2}\left(\hat{y}^{(i)}-y^{(i)}\right)^{2} ℓ(i)(w1,w2,b)=21(y^(i)−y(i))2
在模型训练中,我们希望找出⼀组模型参数来使训练样本平均损失最小:
w 1 ∗ , w 2 ∗ , b ∗ = argmin w 1 , w 2 , b ℓ ( w 1 , w 2 , b ) w_{1}^{*}, w_{2}^{*}, b^{*}=\underset{w_{1}, w_{2}, b}{\operatorname{argmin}} \ell\left(w_{1}, w_{2}, b\right) w1∗,w2∗,b∗=w1,w2,bargminℓ(w1,w2,b)优化算法
当模型和损失函数形式较为简单时,上⾯的误差最小化问题的解可以直接⽤公式表达出来。这类
解叫作解析解(analytical solution)。然而,⼤多数深度学习模型并没有解析解,只能通过优化算法有限次迭代模型参数来尽可能降低损失函数的值。这类解叫作数值解(numerical solution)。
在求数值解的优化算法中,小批量随机梯度下降在深度学习中被广泛使用。后续再作介绍。
模型预测
模型训练完成后,将模型参数在优化算法停⽌时的值分别记作 w ^ 1 \hat{w}_{1} w^1, w ^ 2 \hat{w}_{2} w^2, b ^ \hat{b} b^。这⾥得到的并不⼀定是最小化损失函数的最优解 w 1 ∗ , w 2 ∗ , b ∗ w_{1}^{*}, w_{2}^{*}, b^{*} w1∗,w2∗,b∗,而是对最优解的⼀个近似。
得到线性回归模型 x 1 w ^ 1 + x 2 w ^ 2 + b ^ x_{1} \hat{w}_{1}+x_{2} \hat{w}_{2}+\hat{b} x1w^1+x2w^2+b^,便可以用来估算训练数据集以外任意⼀栋已知⾯积和房龄的房屋价格了。这⾥的估算也叫作模型预测、模型推断或模型测试。
表示方法——神经网络图
神经网络图可以直观表现线性回归模型结构。隐去模型参数权重和偏差后如图所示: 由于输出层中的神经元和输入层中各个输入完全连接,这里可以称输出层为全连接层(fully-connected layer)或稠密层(dense layer)。
线性二分类
不同于线性回归,线性分类器透过特征的线性组合来做出分类决定。也就是说,样本通过直线(或超平面)可分。
线性分类与线性回归的差别如下
– | 输出意义 | 参数意义 |
---|---|---|
线性分类 | 属于某类的概率 | 回归具体值 |
线性回归 | 最佳分类直线 | 最佳拟合直线 |
二分类问题输出的可以是0或者1,也可以是0-1之间的数,代表属于某类的概率。此时需要用Sigmoid函数对值做一个变换。
y = 1 1 + e − z y=\frac{1}{1+e^{-z}} y=1+e−z1
其中 z = θ 1 x 1 + θ 2 x 2 + θ 0 z=\theta_{1} x_{1}+\theta_{2} x_{2}+\theta_{0} z=θ1x1+θ2x2+θ0
多分类回归
- softmax回归模型
softmax回归跟线性回归一样将输⼊特征与权重做线性叠加。与线性回归的⼀个主要不同在于,softmax回归的输出值个数等于标签⾥的类别数。
softmax回归同线性回归⼀样,也是⼀个单层神经⽹络,输出层也是一个全连接层。 - softmax运算
softmax运算符可以直接将输出值变成值为正且和为1的概率分布:
y ^ 1 , y ^ 2 , y ^ 3 = s o f t m a x ( o 1 , o 2 , o 3 ) \hat{y}_{1}, \hat{y}_{2}, \hat{y}_{3} = softmax(o_{1}, o_{2}, o_{3}) y^1,y^2,y^3=softmax(o1,o2,o3)
多层感知机
进一步从单层神经网络延伸到多层神经网络。此处以多层感知机(multilayer perceptron,MLP)为例,介绍多层神经⽹络的概念。
神经元模型
- 神经元模型
- 作用函数
非对称型Sigmoid函数(Log Sigmoid)
f ( x ) = 1 1 + e − x f(x)=\frac{1}{1+e^{-x}} f(x)=1+e−x1
对称型Sigmoid函数(Tangent Sigmoid)
f ( x ) = 1 − e − x 1 + e − x f(x)=\frac{1-e^{-x}}{1+e^{-x}} f(x)=1+e−x1−e−x对称型跳跃函数
具有阶跃作用函数的神经元,称为阈值逻辑单元。
f ( x ) = { + 1 , x ≥ 0 − 1 , x < 0 f(x)= \begin{cases} +1, x\ge 0\\ -1, x< 0 \end{cases} f(x)={+1,x≥0−1,x<0
- Hebb规则
连接权值的调整量与输入和输出的乘积成正比:
△ w = α ⋅ x ⋅ y \bigtriangleup w = \alpha \cdot x\cdot y △w=α⋅x⋅y
感知机模型
感知机(Perceptron)是1957年,由Rosenblatt提出,是神经网络和支持向量机的基础。感知机用于解决线性分类问题。
如图所示,假设分类直线方程为 a x + b y + c = 0 ax+by+c=0 ax+by+c=0,任意一点 ( x 0 , y 0 ) (x_{0}, y_{0}) (x0,y0)到直线的距离为:
d = a x 0 + b y 0 + c a 2 + b 2 d=\frac{ax_{0}+by_{0}+c}{\sqrt{a^2+b^2} } d=a2+b2 ax0+by0+c
如果是高纬情况,分类面为超平面,则有
d = w T x ∥ w ∥ d=\frac{ \textbf{w}^T\textbf{x}}{\left \| \textbf{w} \right \| } d=∥w∥wTx
其中 w 0 = b \textbf{w}_{0}=b w0=b
多层感知机(multilayer perceptron,MLP)
本文参考《动手深度学习》
【神经网络与深度学习】1.线性分类与感知机相关推荐
- 神经网络与深度学习(五)前馈神经网络(3)鸢尾花分类
目录 4.5实践:基于前馈神经网络完成鸢尾花分类 深入研究鸢尾花数据集 4.5.1 小批量梯度下降法 4.5.1.1 数据分组 4.5.2 数据处理 4.5.2.2 用DataLoader进行封装 4 ...
- 吴恩达《神经网络与深度学习》精炼笔记(4)-- 浅层神经网络
上节课我们主要介绍了向量化.矩阵计算的方法和python编程的相关技巧.并以逻辑回归为例,将其算法流程包括梯度下降转换为向量化的形式,从而大大提高了程序运算速度.本节课我们将从浅层神经网络入手,开始真 ...
- Coursera吴恩达《神经网络与深度学习》课程笔记(3)-- 神经网络基础之Python与向量化
红色石头的个人网站:redstonewill.com 上节课我们主要介绍了逻辑回归,以输出概率的形式来处理二分类问题.我们介绍了逻辑回归的Cost function表达式,并使用梯度下降算法来计算最小 ...
- 神经网络与深度学习(邱锡鹏)-学习笔记
神经网络与深度学习 第一章 绪论 第二章 机器学习概述 第三章 线性模型 深度学习是机器学习的一个分支,是指一类问题以及解决这类问题的方法.人工神经网络,也简称神经网络,是一种受人脑神经系统的工作方式 ...
- 01.神经网络和深度学习 W3.浅层神经网络
文章目录 1. 神经网络概览 2. 神经网络的表示 3. 神经网络的输出 4. 多样本向量化 5. 激活函数 6. 为什么需要 非线性激活函数 7. 激活函数的导数 8. 随机初始化 作业 参考: 吴 ...
- 前馈神经网络_深度学习基础理解:以前馈神经网络为例
区别于传统统计机器学习的各类算法,我们从本篇开始探索深度学习模型.深度学习在应用上的重要性现如今已毋庸置疑,从2012年燃爆ImageNet,到2016年的AlphaGo战胜李世石,再到2018年的B ...
- 【神经网络与深度学习摘要】第1章 绪论
[神经网络与深度学习摘要]第1章 绪论 文章目录 [神经网络与深度学习摘要]第1章 绪论 1.人工智能 1.1 图灵测试 1.2 人工智能的主要领域 1.3人工智能的发展历史 1.4 人工智能的流派 ...
- 深入理解吴恩达老师深度学习课程(01神经网络和深度学习 第二周)
深入理解吴恩达深度学习(01神经网络和深度学习 第二周) 1引言 2.1 二分类(Binary Classification) 2.1.1 符号定义(视频给出的) 2.2 逻辑回归(Logistic ...
- 机器学习笔记——神经网络与深度学习
机器学习笔记--神经网络与深度学习 一.神经网络引言 二.神经元模型与激活函数 2.1 神经元模型 2.2 激活函数 2.2.1 sigmoid & tanh 2.2.2 ReLU激活函数 2 ...
最新文章
- OpenCV 贝叶斯分类器示例
- ubuntu中使用apt命令安装ipython失败解决方案
- 从程序媛到启明星辰集团云安全总经理,郭春梅博士揭秘云时代安全攻防之道...
- [原创]微软拼音输入法2007(含64位版)
- oracle登录错误:ORA-28000: the account is locked 解决方法
- ssl1222-矩形【图论,并查集】
- 第34课 生命周期与素数 《小学生C++趣味编程》
- (数据库系统概论|王珊)第四章数据库安全性-第一节:数据库安全性概述
- R语言之——字符串处理函数
- Unity多个场景叠加或大场景处理方法小结
- 第八周 4.18 --- 4.24
- Ubantu指令收藏
- 软件测试之兼容性测试
- JavaEE企业级实战项目 智牛股第一天 概要分析和环境搭建
- wireshark找不到捕获接口问题和net start npf 服务器名无效、拒绝访问的解决办法
- BZOJ 4698 Sdoi2008 Sandy的卡片
- 如何将exe添加到windows本地服务
- AutoJs学习-录制手指动作
- js中将从ajax获得的时间戳数字串转换成理解的时间格式
- JS获取当前时间是否为节假日,周末