机器学习算法——线性回归

简介: 最近一直在学机器学习,但感觉学习效率低,理解不深入,所以想通过写博客总结来加深自己的理解,写一下我的理解过程, 也希望能帮到其他人。

最近一直在学机器学习,但感觉学习效率低,理解不深入,所以想通过写博客总结来加深自己的理解,写一下我的理解过程, 也希望能帮到其他人。

 现在过头来看,线性回归其实是机器学习最简单的算法了,所以大部分机器学习的课程都拿它开刀。为什么之前一直都觉得机器学习算法比数据结构什么的那些算法难很多呢,我觉得是机器学习算法背后涉及的数学知识比较多,就比如线性回归,涉及到矩阵乘法、求逆,函数求导,其他算法再加上一个概率论。如果你觉得机器学习算法学起来比较吃力,建议还是回顾下数学。

 线性回归的用途我就不再多说了,直接开始。其实整个算法都围绕下面这一个公式,我们其实是想用一条线来表示出X和y之间的变化关系。我们有测试数据X,和其对应的结果y,其实就是想知道theta。假设X,y不是一个向量,只是一个数,theta就很好求了,直接y/X就得到theta了。但在机器学习中,theta不是简单的一个值,而是由多个值组成的向量。

y=hθ(x)

y=hθ(x)


 求解线性回归,多用的是最小二乘法。想想看,我们什么时候能确定我们求到的theta值是正确的? 是不是相当于 theta*x 和y 差值最小的时候,这里为了后面计算方便,我们取差值的平方。这里我们构造出一个关于theta的凸函数。 其实当这个函数值虽小的时候,我们得到的theta是最准确的,因为函数值和实际值差值最小嘛。

J(θ)=∑i=1m(hθ(xi)−yi)2

J(θ)=∑i=1m(hθ(xi)−yi)2


 如何计算呢? 在上式子中,我们已知x和y,这里就变成一个单纯关于theta 的函数,我们可以用梯度下降来求theta的值。

 首先求

y=θTX

y=θTX


 其实我们也可以用y/x的方式来求解theta的值,但这个时候用的除法就不是小学学的那种除法,而是矩阵的除法。不过一般矩阵都不说除法的,都是乘以逆矩阵来表示除法,于是可能想当然的得到下下面这个 错误 公式,因为这个不符合矩阵的运算法则。。

θT=y∗X−1

θT=y∗X−1


 其实真正的解析解计算公式是下面这个,但在其计算过程中需要求逆矩阵,效率会比较低, 有可能矩阵不可逆。

θ=(XTX)−1XTy

目录
相关文章
|
15天前
|
机器学习/深度学习 算法 TensorFlow
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
交通标志识别系统。本系统使用Python作为主要编程语言,在交通标志图像识别功能实现中,基于TensorFlow搭建卷积神经网络算法模型,通过对收集到的58种常见的交通标志图像作为数据集,进行迭代训练最后得到一个识别精度较高的模型文件,然后保存为本地的h5格式文件。再使用Django开发Web网页端操作界面,实现用户上传一张交通标志图片,识别其名称。
44 6
交通标志识别系统Python+卷积神经网络算法+深度学习人工智能+TensorFlow模型训练+计算机课设项目+Django网页界面
|
2月前
|
机器学习/深度学习 算法 数据挖掘
8个常见的机器学习算法的计算复杂度总结
8个常见的机器学习算法的计算复杂度总结
8个常见的机器学习算法的计算复杂度总结
|
16天前
|
机器学习/深度学习 存储 人工智能
文本情感识别分析系统Python+SVM分类算法+机器学习人工智能+计算机毕业设计
使用Python作为开发语言,基于文本数据集(一个积极的xls文本格式和一个消极的xls文本格式文件),使用Word2vec对文本进行处理。通过支持向量机SVM算法训练情绪分类模型。实现对文本消极情感和文本积极情感的识别。并基于Django框架开发网页平台实现对用户的可视化操作和数据存储。
20 0
文本情感识别分析系统Python+SVM分类算法+机器学习人工智能+计算机毕业设计
|
24天前
|
存储 算法 测试技术
预见未来?Python线性回归算法:数据中的秘密预言家
【9月更文挑战第11天】在数据的海洋中,线性回归算法犹如智慧的预言家,助我们揭示未知。本案例通过收集房屋面积、距市中心距离等数据,利用Python的pandas和scikit-learn库构建房价预测模型。经过训练与测试,模型展现出较好的预测能力,均方根误差(RMSE)低,帮助房地产投资者做出更明智决策。尽管现实关系复杂多变,线性回归仍提供了有效工具,引领我们在数据世界中自信前行。
45 5
|
29天前
|
机器学习/深度学习 数据采集 算法
数据挖掘和机器学习算法
数据挖掘和机器学习算法
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
探索机器学习:从线性回归到深度学习
【9月更文挑战第4天】在这篇文章中,我们将深入探讨机器学习的世界,从基础的线性回归模型开始,逐步深入到复杂的深度学习网络。我们将通过实际的代码示例,揭示这些模型背后的数学原理,以及如何在现实世界的问题中应用它们。无论你是初学者还是有经验的数据科学家,这篇文章都将为你提供新的视角和深入的理解。
|
1月前
|
机器学习/深度学习 数据采集 存储
一文读懂蒙特卡洛算法:从概率模拟到机器学习模型优化的全方位解析
蒙特卡洛方法起源于1945年科学家斯坦尼斯劳·乌拉姆对纸牌游戏中概率问题的思考,与约翰·冯·诺依曼共同奠定了该方法的理论基础。该方法通过模拟大量随机场景来近似复杂问题的解,因命名灵感源自蒙特卡洛赌场。如今,蒙特卡洛方法广泛应用于机器学习领域,尤其在超参数调优、贝叶斯滤波等方面表现出色。通过随机采样超参数空间,蒙特卡洛方法能够高效地找到优质组合,适用于处理高维度、非线性问题。本文通过实例展示了蒙特卡洛方法在估算圆周率π和优化机器学习模型中的应用,并对比了其与网格搜索方法的性能。
165 1
|
2月前
|
机器学习/深度学习 算法 数据挖掘
机器学习必知必会10大算法
机器学习必知必会10大算法
|
2月前
|
机器学习/深度学习 算法 数据挖掘
【白话机器学习】算法理论+实战之决策树
【白话机器学习】算法理论+实战之决策树
|
2月前
|
机器学习/深度学习 存储 算法
图解最常用的 10 个机器学习算法!
图解最常用的 10 个机器学习算法!
下一篇
无影云桌面