吴恩达机器学习(线性回归)

1.线性回归

(1)单变量线性回归

线性回归才是真正用于回归的,而不像logistic回归是用于分类,其基本思想是用梯度下降法对最小二乘法形式的误差函数进行优化。

假设函数:


代价函数:
即每一个点的预测值和真实值的差距都要小,故可用求方差的方法,将每一个点的预测值与真实值的差求平方和后再除以数据样本的个数。值越小说明方程越能反映真实情况,把这个方程中的参数看做未知数,则变成了参数的方程,求方程最小值J时,两个变量θ0和θ1参数即可确定。
在这里插入图片描述

梯度下降:
用梯度下降法找到让代价函数最小的参数θ值。在单变量线性回归中,只存在两个变量θ0和θ1,因此用梯度下降公式求出两个变量θ0和θ1。

在这里插入图片描述

在这里插入图片描述
最后选定一个起点,如θ0=0,θ1=0,带入上式迭代即可

(2)多变量线性回归

假设函数:
有多个变量,其中x0=1,
在这里插入图片描述

代价函数
和单变量的代价函数格式一样
在这里插入图片描述

def cost(X, theta, y):#损失函数/代价函数
    m = X.shape[0]
    temp = X.dot(theta) - y
    return temp.T.dot(temp) / (2 * m)

多变量梯度下降:
找出来求θ的通用表达形式
在这里插入图片描述在这里插入图片描述

def gradient_descent(X, theta, y, alpha, iterations):#梯度下降函数
    m = X.shape[0]#X.shape=(47,3)
    c = []  # 存储计算损失值
    for i in range(iterations):
        theta -= (alpha / m) * X.T.dot(X.dot(theta) - y)
        c.append(cost(X, theta, y))
    return theta, c

归一化
归一化是一种无量纲处理手段,使物理系统数值的绝对值变成某种相对值关系,也就是变成一种比例关系。
①线性归一化,也称min-max标准化、离差标准化;是对原始数据的线性变换,使得结果值映射到[0,1]之间。转换函数如下:
在这里插入图片描述

②均值归一化。
μ—训练集中x的平均值,
σ-------该特征值x的范围,即最大值减去最小值。
转化函数为:
在这里插入图片描述

正规方程法

在线性回归中,正规方程法是比梯度下降更快的方法,但是不适用于样本属性特别多的场合,一般认为超过10000就要考虑使用梯度下降,因为正规方程法要计算逆矩阵,就会导致计算量大。另外在一些其他模型中,正规方程法也可能不适用
在这里插入图片描述

def normal_equation(X, y):#正规方程
    return np.linalg.pinv(X.T.dot(X)).dot(X.T).dot(y)
  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值