首页 > 编程知识 正文

线性回归算法的基本原理,线性回归算法代码

时间:2023-05-04 02:18:58 阅读:26464 作者:192

机器学习的入门算法:线性回归

人可以通过问题和经验得到规律,利用学习方法,然后预测未来发展的可能性。

人工智能可以从数据中得到数据模型,利用算法,然后预测未来的发展,其实和人的学习很相似。

人工智能数据模型是函数的表达式,机器学习通过训练不断调整,最终得到最好的表达,表达理想的数据模型

基本概念:

可以根据样品中的特征预测样品的结果。 由多个特征组成的一个数据可以用向量表示,多个数据可以用矩阵表示。 人工智能从数据中获得模型的主要载体是向量或矩阵。

机器学习:

有教师学习(也称为分类和回归)有标签学习,利用已知类的样本训练学习以达到所要求的性能,利用该训练得到的模型,将所有输入映射到对应的输出,简单地判断输出例如,如果x1和x2以某种方式获得了y,则y是可以标记的结果。

无监督学习(也称为无标签学习,包括聚类)。对于没有标签的样本,学习算法直接对输入数据集进行建模。 例如,聚类就是“物以类聚,人以群分”。 我们把相似度高的东西放在一起,对新来的样品,计算相似度后,按照相似度进行分类就可以了。

无监督和有监督的区别在于是否有外标签的设定,无监督的学习也是比较落后的学习。

存在监督中的分类和回归的差异。 通过分类得到的标签是离散型的,通过回归得到的标签是连续型的。

离散和连续的区别:能否列出所有结果

数据集分割:培训集、验证集、测试集

在同一验证集中进行评估时,模型可能在验证集中工作良好。 要实际评价

这个最佳模型将在未来的样本中表现出来。 也就是说,必须将第三个子集中的测试集保留在一侧

原因(小风险)。

企业容易丢失验证集。 因为测试集是没有“污染”的数据,所以综合考虑训练

误差和测试误差同样能够起到模型评价作用,这样分割数据集的优点是工序的削减

实施的时间成本。

用线性回归表示数据集,回归是算法,得到的模型是连续型

回归算法是一种监控算法

回归算法是一种比较常用的机器学习算法,用于建立进行特征向量到标签映射的模型。 算法

的学习过程中,试图寻找模型,最大限度地拟合训练数据。

回归算法在使用时,接收n维特征向量,输出连续的数据值

算法流程:

数据通过算法,然后进行调整得到数据模型。 这个调整的过程是重新运行数据通过算法得到新模型的过程。 其中必须经过一次尝试,一次拟合。

经过以上流程,一旦确定数据模型已经完成并通过,使用它的过程也将不断学习和更新数据模型。

函数为线性:导出x得到常数,是线性问题。 一维特征中图像是一条直线,多维特征中图像是一个平面。

迭代优化过程:通过算法流程,继续学习训练得到最佳数据模型时,函数形象最为理想,今后学习还可以继续提高。

由回归算法获得的图像呈直线的图像是表示这种数据的合理公式(数据模型),虽然不一定真实,但很接近,可以用于预测。

单变量线性回归模型:

为了获得对函数图像更改的最佳数据模型,必须将其替换为最高函数进行求解。 y=kx b这里改变k和b就相当于改变函数。

回归是统计学的重要概念,它意在根据过去的数据预测准确的输出值。

最小二乘法:以直线到各采样点的距离最接近为目的,是一种数学优化的技术。

一、计算所有样本误差的均值(成本函数)

二、采用优化方法查找数据的最优函数匹配(抽象) ) ) ) ) ) ) ) ) )。

最小二乘法是抽象的,具体优化方法有正规方程法、梯度下降法、pcdggx法、伪pcdggx法等多种

成本函数的定义:估计误差的平方和后再求出平均值。 越大越不合理。 越小越合理。

角色:用于数据模型和数据的性能比较

估计误差:从采样点到直线的距离

理解成本函数:在j()中是权重值,所有样本点在图像上时世代价值为0,这里的权重必须与数据模型中的函数相同。 无论原始函数如何变化,对于与成本函数对应的一个点,所有原始函数都聚集到成本函数中的图像就是抛物线图像。 因此,找出成本函数最小值的对应点就能得到最佳的元函数,最小值的求导为0。

坡降定义(一种算法) :

梯度下降是求成本函数最小值的算法,用梯度下降算法求成本函数j(0,1 )的最小值。

坡度下降背后的想法是首先随机选择参数组合(0,1 )计算成本函数,然后寻找使成本函数值最小的参数组合。

坡度下降原理:

j :=j - aj (这里的)=是赋值的意思) ) ) ) )

是学习率,大于0

一个很小经验值,它决定沿着能让代价函数下降的程度有多大。

​ 每一次都同时让所有的参数减去学习速率乘以代价函数的导数,每次调整的跨度取决于a学习率,当某次调整刚好使得a学习率乘以到了最小值,然后得到0,那么θj的赋值就是他本身,此时就得到最优解。

学习率调参:

​ 如果学习率比较大,就容易在某次调整的时候和最优解擦肩而过,甚至一直都无法收敛产生偏差,所以小。

​ 如果学习率太小,梯度下降就会变慢

​ 学习率不好调动的时候就可以进行学习率调参了

​ 参数调整模型的精度就越高,调整不好甚至会出现模型没有精度

参数更新方程(调整完之后就要进行的操作):

​ 当参数不止一个的时候,可以用来当作多维度代入向量,此时多个参数求导数就要用到偏导(保持其中一个参数改变,其他参数不变)。计算偏导就要用到

代价函数Python语言实现代码:

J=(1.0/(2*m))*np.sum(np.square(X.dot(theta)-y))

J = (1.0/(2*m))*(X.dot(theta)-y).T.dot(X.dot(theta)-y)

底层算法:

​ 线性回归的真实运算过程(像执行for循环一样直到出现最合理的模型):

​ 1、随机取权重来设定一个数据模型

​ 2、计算代价函数cost mse 均方差

​ 3、计算梯度下降过程(在代价函数执行后,发现有损失值)

​ (1)计算θ的导数

​ (2)更新θ的值

以上涉及的最优化方法的各种调节,都是线性回归模型中算法的特点

数据越多不一定能让数据模型越好,但是数据越多差异又越大,才能通过调整得到更好的数据模型

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。