一、 一元线性回归
背景引申
回归分析中,如果只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析;如果回归分析中包括两个或两个以上的自变量,且因变量和自变量之间是线性关系,则称为多元线性回归分析。
一元线性回归即为从一堆数据集合中算出一条直线,使得数据集合到直线的距离最小
推导
给你n个点,用这n个点求出最优的直线且使得数据集合到直线的距离最小
首先,假设一条直线 h Θ ( x ) = Θ 0 + Θ 1 ∗ x h_Θ(x)=Θ_0+Θ_1*x hΘ(x)=Θ0+Θ1∗x
即 y = a x + b y=ax+b y=ax+b a与b会不断的被更新逼近最优方案
构造损失函数(loss):$J(θ_0,θ_1)=\frac{1}{2m}\sum_{i=1}m(h(x_i)−y_i)2 $
1.求导:
- $\frac{α}{αθ_0}J(θ_0,θ_1)=\frac{1}{m}\sum_{i=1}^m(h(x_i)−y_i) $
- $\frac{α}{αθ_1}J(θ_0,θ_1)=\frac{1}{m}\sum_{i=1}^m(h(x_i)−y_i)*x_i $
2.更新 θ 0 θ_0 θ0和 θ 1 θ_1 θ1
- θ 0 = θ 0 − α α θ 0 J ( θ 0 , θ 1 ) = θ 0 − 1 m ∑ i = 1 m ( h ( x i ) − y i ) θ_0=θ_0-\frac{α}{αθ_0}J(θ_0,θ_1)=θ_0-\frac{1}{m}\sum_{i=1}^m(h(x_i)−y_i) θ0=θ0−αθ0αJ(θ0,θ1)=θ0−m1∑i=1m(h(xi)−yi)
- θ 1 = θ 1 − α α θ 1 J ( θ 0 , θ 1 ) = θ 1 − 1 m ∑ i = 1 m ( h ( x i ) − y i ) ∗ x i θ_1=θ_1-\frac{α}{αθ_1}J(θ_0,θ_1)=θ_1-\frac{1}{m}\sum_{i=1}^m(h(x_i)−y_i)*x_i θ1=θ1−αθ1αJ(θ0,θ1)=θ1−m1∑i=1m(h(xi)−yi)∗xi
3.将 θ 0 θ_0 θ0和 θ 1 θ_1 θ1带入到损失函数中如果损失函数小于精度值退出,否则重复执行2
手写推演:
梯度下降算法部分详解见link
二、鸢尾花数据集
Iris 鸢尾花数据集内包含 3 类,分别为山鸢尾(Iris-setosa)、变色鸢尾(Iris-versicolor)和维吉尼亚鸢尾(Iris-virginica),共 150 条记录,每类各 50 个数据,每条记录都有 4 项特征:花萼长度、花萼宽度、花瓣长度、花瓣宽度,可以通过这 4 个特征预测鸢尾花卉属于哪一品种。
sl:花萼长度
sw:花萼宽度
pl:花瓣长度
pw:花瓣宽度
type:类别:(Iris-setosa、Iris-versicolor、Iris-virginica 三类)
例如,我们可以使用某些机器学习算法(如决策树、K近邻、神经网络等)对鸢尾花数据集进行训练,生成一个分类模型,然后使用该模型对新的、未知的鸢尾花进行预测,从而判断它属于哪个亚属种类。这个过程可以帮助我们更好地理解机器学习中的分类问题,并为实际应用提供指导。