深度学习

线性回归

2019-09-27  本文已影响0人  zidea
mxnet.jpg

回归问题

线性回归可以应用在股票预测,房价预测,无人车驾驶、还就就是推荐系统,淘宝或者京东,用户A购买商品 B 可能性也是。李宏毅老师是以预测宝可梦进化为例来讲的线性回归,所谓线性回归就是可以暂时理解根据以往经验(数据)总结出规律来预测未来。

抛出问题

f(x) = 2 \cdot x + 0.5
我们先估计第一个特征方程
然后在估计一个两个特征的特征
f(x_1,x_2) = 2 x_1 + 3 x_2 + 5
今天我们是通过学习来找到这么方程然后,用方程来预测一些值,那么我们如何通过学习来找到这个函数呢。这也就是今天我们今天主要要学习的。

1.定义模型

什么是模型,所谓模型我们认为是一组函数的集合,
y = wx + b
这里我们定义函数
f(x) = w \cdot x + b
在这个函数的参数 w 和 b 可能是任意数值,

f_1 = 0.1x + 2
f_2 = 0.8x + 1
f_3 = 0.75x - 2

这是一个线性模型
y = \sum x_iw_i

收集数据

(x^1,\hat{y}^1) (x^2,\hat{y}^2) \cdots (x^i,\hat{y}^i)

import numpy as np
from matplotlib import pyplot as plt
from mpl_toolkits.mplot3d import Axes3D

# create train data
X1 = np.random.uniform(50,100,100)
X2 = np.random.uniform(100,200,100)

fig = plt.figure()
ax1 = plt.axes(projection='3d')

fig=plt.figure()

Y = np.dot(X1,2) + np.dot(X2,3) + 5

print(Y)

ax1.scatter3D(X1,X2,Y, cmap='Blues')  
plt.show()

评估

评估我们函数好坏,这里定义一个损失函数(用L表示),损失函数是接受我们一个模型一个函数作为参数,那么学过函数编程都知道这就是所谓高阶函数,我们f(x) 是 L的参数。这个函数输出就是通过数值表示这个函数有多好,和多不好。

L(f(x))= L(b,w)
因为我们这里 f(x) 是 b 和 w 决定的,所以我们就可以用 L(b,w)

L(f) = \sum_{i=1}^n(\hat{y}^n = (b + w \cdot x^n ))^2

上一篇下一篇

猜你喜欢

热点阅读