深度学习笔记——线性回归
深度学习通过基于神经网络模型逐级表示越来越抽象的概念或模式
单层神经网络:线性回归、Softmax回归
线性回归输出是一个连续值,适用于回归问题。
如:预测房屋价格、气温、销售额等连续值问题
Softmax回归适用于分类问题,分类问题中的模型最终输出是一个离散值。
如:图像分类、垃圾邮件识别、疾病检测等输出离散值
线性回归
线性回归基本要素
以房屋价格预测为例:假设价格只取决于 面积(平方米) 和房龄(年)
模型
设房屋面积为x1 ,房龄为x2 , 售出价格为y 。建立基于输入x1, x2来计算输出y的表达式,即——模型(Model)
线性回归假设输出与各个输入之间的线性关系:
y‘ = x1w1 + x2w2 + b;
其中w1;w2 是权重(weight),b 是偏差(bias),且均为标量;是线性回归模型的参数(parameter);模型输出y'是线性回归对真实价格y的预测/估计
模型训练
模型训练(model training):通过数据寻找特定的模型参数值,使得模型在数据上误差尽可能小。
训练数据
训练数据集(training data set )/ 训练集(training set)
多栋房屋数据,真实出售价格 、面积、房龄
样本(sample)
一栋房屋
标签(label)
真实出售价格
特征(feature)
预测标签的两个因素叫做特征;(面积、房龄)
特征用来表征样本的特点
损失函数
- 衡量价格测量值与真实值之间的误差
- 通常选取一个非负数作为误差,且数值越小表示误差越小
优化算法
- 解析解(analytical solution)
- 当模型和损失函数较为简单时,误差最小化问题的解可直接用公式表达出来
- 数值解(numerical solution)
- 大多数深度学习模型没有解析解,只能通过优化算法有限次迭代模型参数 来尽可能降低损失函数的值
- 常用:小批量随机梯度下降( mini-batch stochastic gradient descent)
- 选取一组模型参数的初始值
- 对参数进行多次迭代,使得每次迭代都可能降低损失函数的值
- 每次迭代流程
- 先随机均匀采样 一个由固定数目训练数据样本所组成的小批量(mini-batch)B
- 求小批量中数据样本的平均损失有关模型参数的导数(梯度)
- 用此结果与 预先设定的一个 正数的乘积 作为模型参数在本次迭代的减小量
模型预测
模型预测、模型推断或模型测试
模型训练完成后,将模型参数w1;w2; b 在优化算法停⽌时的值分别记作^ w1; ^ w2;^b 。注意这⾥我们并不⼀定得到了最小化损失函数的最优解w1;w2; b ,而是对最优解的⼀个近似。
然后,就可以使⽤学出的线性回归模型x1 ^ w1 +x2 ^ w2 +^b 来估算训练数据集以外任意⼀栋⾯积(平⽅⽶)房屋的价格了。
线性回归的表示方法
线性回归与神经⽹络的联系,以及线性回归的⽮量计算表达式。
神经网络图
矢量计算表达式
About ME
👋 读书城南,🤔 在未来面前,我们都是孩子~
- 📙 一个热衷于探索学习新方向、新事物的智能产品经理,闲暇时间喜欢coding💻、画图🎨、音乐🎵、学习ing~
👋 Social Media
🛠️ Blog: http://oceaneyes.top
⚡ PM导航: https://pmhub.oceangzy.top
☘️ CNBLOG: https://www.cnblogs.com/oceaneyes-gzy/
🌱 AI PRJ自己部署的一些算法demo: http://ai.oceangzy.top/
📫 Email: 1450136519@qq.com
💬 WeChat: OCEANGZY
💬 公众号: UncleJoker-GZY
👋 加入小组~
👋 感谢打赏~