2021.1.21线性回归算法的原理及参数优化方案

只需要知道用什么样的算法能够解决什么样的需求,不同的算法怎么去调参、调优

出去面试的时候可能会问一些公式的推导,经常问的都会去推导

复习:

核心:总结了机器学习的套路

1.随机产生w参数
2.把w参数与样本数据带入到误差函数中(最小二重法,损失函数,目标函数,误差函数都是这同一个公式)求解误差值
3.误差值与用户指定的误差阈值比较,
4.如果大于用户指定的误差阈值,继续调整w参数,
(2,3,4)
5.如果误差小于用户指定的误差阈值,那么此时的w参数就是最佳的w参数

问题:
怎么调整w参数?

比如现在w=10 越往大调误差越小,结果往小调就乱调,今天的重点,怎么去调整w参数。

使用一个简单的算法:
梯度下降法:

在这里插入图片描述

看图我们知道w1往小调,w0往大调整,但是机器怎么知道,
我们可以把一张图拆成两张图
刚才的w点拆解完之后,w0 和 w1 都是往大调

先验知识:
从凹函数最低点分开,虚线的左半部分导数为负数,导数<0
右半部分导数为正数,导数>0

可以通过导数来指导我们怎么调整w参数
如果 导数<0 ,w参数应该往大调
如果 导数>0 ,w参数应该往小调

现在通过导数可以决定w参数的调整方向,同样道理,再来看这张图,求这个点在w1方向和w0方向上的偏导数。

在这里插入图片描述

w0调整就是减去它的导数,当我的导数<0 w应该往大调整
因为导数能指导w参数的调整方向,如果w在虚线的左边,应该往大调整,应该加上一个正数,而此时的导数是负数,w0减去一个负数,就是往大调整
如果w在虚线的右边,w应该往小调整,此时的导数是一个正数,w减去一个正数,就是往小调整。
通过这个公式让我们的导数来决定我们w参数的调整方向。

这个α是学习率,导数是给我们决定w参数调整方向的,调整多大,每次调整的幅度是多少,由α学习率来决定的,就是这个公式。

下面的公式就是对上面公式的导函数的展开,对w0求偏导带入,结果是下面的公式。

就好像我在悬崖上要往山谷里走,走的方向就是导数,走几步路就是α学习率。

结论:
导数的正负,决定了w参数的调整方向,α决定了每次w调整的步长,这个α就是调参工程师需要去调整的,调α是很有学问的。

刚才说的是w0怎么调整,w1也是一样的,求w1的偏导

在这里插入图片描述这是关于上一节课抛出来的问题,w怎么去调整,
现在机器学习的套路需要再细化一下

在这里插入图片描述

调整w参数的方法,称之为梯度下降法。
梯度的方向总是正向的,函数变大的方向,我们调整w参数应该沿着它梯度的负方向来调整,所以叫梯度下降法。

----------------------------------用python写一个梯度下降法-------------------------------------

这个代码就是实现了梯度下降法,机器学习的套路:

import numpy as np   # 是python中的一个模块用于做矩阵计算的
import matplotlib.pyplot as plt

# 定义一个函数h(x) 返回 w0 + w1 * x
def h(x):
    return w0 + w1 * x

# main函数
if
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值