Task01:线性回归;Softmax与分类模型、多层感知机

本文介绍了MXNet中的函数用法,如nd.concat、反向传播等,并详细讲解了线性回归模型、Softmax在分类问题中的应用,以及多层感知机的原理和实现。线性回归通过随机梯度下降找到最优解,Softmax用于概率输出,多层感知机则通过非线性激活函数增强表达能力。
摘要由CSDN通过智能技术生成

一、mxnet相关函数用法

mxnet.nd用法对标numpy库

(1) nd.concat

from mxnet import nd
nd.concat(X, Y ,dim=0)
nd.concat(X, Y, dim=1)

X, Y为两个矩阵nd.concat为连接矩阵,dim表示连接的维度,若原来两个矩阵为(4,3),dim=0就表示 新生成矩阵为(8,3)
dim=1表示 新生成矩阵为(4,6)

(2) y += x

y = y + x
这样的算法会新开内存
y += x
而这种算法就可以减少运算的内存开销, 与上面那个式子的含义是一样的都是对y用x进行累加

(3) x.aumpy()

通过 .asumpy() 用法可以使得nd实例转换为 numpy实例
X.asumpy() 就使得X变为 numpy实例

(4) y.backward() xu 修正

若果函数为 y = 2 * x
先设定x
x = nd.array([2])
再调⽤attach_grad函数来申请存储梯度所需要的内存
x.attcach_grad()
调⽤record函数来要求MXNet记录与求梯度有关的计算
with autograd.record():
y = 2 * x
y.backward()则是对其进行反向传播算梯度
x.grad 就是 梯度的值
注意:要先对y进行y.backward(), 才会有x.grad

(5)x.asscalar()

X.asscalar()
将向量X转换成标量,且向量X只能为一维含单个元素的向量

(6)nd.random.normal(0, 1, shape=)

nd.random.normal(0, 1, shape=(3, 4))
是创建⼀个形状为(3,4)的NDArray。它的每个元素都随机采样于均值为0、标准差为1的正态分布。

(7) 查阅文档

http://mxnet.apache.org/ 访问MXNet网站,点击网页顶部的下拉菜单“API”可查阅各个前端语言的接口。此外,也可以在网页右上方含“Search”字样的搜索框中直接搜索函数或类名称。

二、线性回归

线性回归输出是⼀个连续值,因此适⽤于回归问题。回归问题在实际中很常见,如预测房屋价格、气温、销售额等连续值的问题。
简单的来说 就是一个 多元多次方程 , 每一个元 代表一种特征。
我们举个拿房价模型举个例子就是 假设 y(房价) = w1x1(第一种特征,面积) + w2x2(第二种特征,房龄) + b
也就是我们假设,房价可能受 房屋面积和 房龄 的影响, w1 ,w2 都为系数,也就是影响程度,b表示偏差

然后 我们手上有一组 真实的数据集(包含房价,面积和房龄),我们将每组的面积和房龄代入到我们设定的模型当中,得出y_hat(也就是预测值)
y_hat(i)(预测值) = x(i)1 w1 + x(i)2 w2 + b
然后 对 y_hat 和 y(真实的房价,我们也叫做标签)进行误差估计,
这时候,我们会引入 损失函数,来代表 误差的大小, 这次我们使用平方误差函数
误差 = 0.5 * (y - y_hat) ** 2
最后对所有误差进行加总 然后除以 样本个数n
我们最终的目的就是希望通过不变改变 w1, w2以及 b的值 ,来使得 这个误差最小
这样我们就可以得到一个 置信度比较高的房价模型, 对其他房子的价值进行估计。

简单看来 我们这个就像是 一组 多元多次方程 ,可以直接用公式求解。然而很多情况 我们并没有办法求解,所以这里我们又引入一个 **随机梯度下降(批量,小批量,单个)**的方法 来求近似解,就是通过多次对 系数值的 迭代使其逼近最优解。
也就是对 每个方程进行求导,然后让系数值往 导数值相反的方向 (负梯度) 进行一定大小的缩减,最终使其逼近极值点。(这里会有局部最优,也就是有多个极值点的情况,涉及到凸优化,不展开)

注意:这里我们推荐对标签和 特征值都放到矩阵中, 进行矩阵运算, 会大大加快运算速度

引用来源:动手学深度学习
图片引用来源:动手学深度学习

以下是从零实现线性回归:

%matplotlib inline
fro
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值