机器学习从入门到入土之回归算法


活动地址:CSDN21天学习挑战赛

机器学习从入门到入土之回归算法

案例来源

GoatGui大佬

回归算法

概念

回归是一对一个或多个自变量和因变量之间的关系进行建模,求解的一种统计方法

简单案例

我们从R自带数据集中获取到了1920年汽车速度与刹车距的数据,现在,我们想研究速度与刹车距离之 间到底有什么样的关系。注:数据集为data/data/cars.csv

请添加图片描述

代码
import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
data_cars = pd.read_csv("data/data/cars.csv",usecols = ["speed", "dist"])
data_cars.head(10)
进行一个关系的简单的可视化

首先,我们想对这个数据集有一个直观的认识,所以我们先对其进行可视化,即绘制车速与刹车距离散 点图

代码
#section/example01.py
#绘制散点图
speed = data_cars["speed"]
dist = data_cars["dist"]
plt.scatter(speed, dist)
plt.title("Scatter plot of vehicle speed and braking distance")
plt.show()
图示

请添加图片描述

X为车速度 Y为刹车距离

观察可视化散点图可以看见车速和刹车距离之间貌似呈现出一种线性相关关系,数据点在一条看不见的 直线上下随机散落,因而,我们可以考虑用下面的公式来描述他们之间的关系:

y=a+bX  y为刹车距离,x为车速,a和b为回归系数

请添加图片描述

请添加图片描述

注:图片来源于GoatGui大佬的机器学习模型及案例分析part1

二范数

上面图片所用二范数解释:

二范数指矩阵A的2范数,就是A的转置共轭矩阵与矩阵A的积的最大特征根的平方根值,是指空间上两个向量矩阵的直线距离。类似于求棋盘上两点间的直线距离。(我也不懂)

除了矩阵之外,向量和函数均有范数,其中:

矩阵范数:矩阵A的2范数就是 A的转置乘以A矩阵的结果的特征根最大值的开根号;

向量范数:向量x的2范数是x中各个元素平方之和再开根号;

函数范数:函数f(x)的2范数是x在区间(a,b)上f(x)的平方的积分再开根号。

请添加图片描述

注:来源百度百科 以及案例所用公式是二范数的平方和的1/2

求解使损失函数最小的回归系数方法
  • 直接法迭代法
直接法

直接法,就是直接给出优化问题的最优解,并不是所有的优化问题都可以用直接法得到最优解,如果要 使用直接法,损失函数需要满足两个条件:

  • 损失函数为凸函数;

  • 损失函数为解析解,即通过严格的公式所求得的解。

迭代法

我们知道,并不是所有的损失函数都可以使用直接法对损失函数进行优化的,很多情况中,我们的损失 函数为非凸函数,或者方程过于复杂难以求出其解析解,因此,在有些实际问题中,我们可以选择使用 迭代法求解。迭代法是一种不断用变量的旧值递推新值的过程,即迭代的用旧值修正对最优解的估计。 这里,我们使用迭代法中的小批量梯度下降法解决问题。

结束语与预告

就先学到这里 下期为大家带来直接法和迭代法更加具体的理论和实际应用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玉江仙。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值