机器学习_线性回归,梯度下降算法与正规方程
来源:互联网 发布:angela baby 知乎 编辑:程序博客网 时间:2024/04/30 12:22
个人对这方面的理解,文字纯手打,图片来自于coursera的课件
1.线性回归的定义:给出若干的训练集(训练集中
不妨先看一个例子,拿课程中的例子,卖房
现在已经知道了若干的房子的大小以及卖出去的价格,现在跟着这些信息,来推断一些房子的价格
我们的任务,就是把图中的点尽可能为拟合成一条”花费最小”的直线
2.”花费”怎么定义呢?使用的是最小二乘法
简单点儿说,就是所有的点到直线上x值相等的点的距离的平方,求平均,就是对应的花费
3.花费的最小怎么求呢,可以想到,这个函数肯定是连续的,那么就可以通过求偏倒解决
这就是梯度下降算法
- 对于例子,迭代方法如下
θ0=θ0−α∗1m∑mi=1(h(x(i))−y(i)) θ1=θ1−α∗1m∑mi=1(h(x(i))−y(i))∗x(i) α 被称为learning rate,需要被选择为一个合适的值,如果太大的话,可能会越过最佳的值,然后越变越大,如果太小的话,需要迭代的次数太多- 通常的做法就是,先任取一个
θ0θ1 然后通过多次的迭代,就可以找到一个局部最小值,可以取多组初始的θ0θ1 ,然后找到其中最好的解,那么有一个很有意思的问题,怎么确定,找到的解肯定就是全局最好的呢 - 还有一个问题,就是更新时候必须得同步更新,简单点儿说,就是计算出的新的
θi ,先保存起来,待这一次所有的θj 都计算完后,再同时更新所有的θi
4.接下来考虑多feature的情况,首先梯度下降算法是肯定成立的
- 如果x1与x2相差很多,但
α 是固定的,那么可能会出现θ1 在最优值附近摆动很大,而θ2 却迭代的很慢,这种情况下,通常会对数据做一个初步的处理,先转换为-1~1之间的数,处理方式如下
这种方法也会加快寻到最优的速度
5.最后介绍一个更强大Normal Equation(正规方程),直接用矩阵运算就可以得到最优解(证明还没有看)
θ=(XT⋅X)(−1)⋅XT⋅Y ,其中X 是一个矩阵,每一行都是1+各特征值,Y 就是所有的结果值,来分析一下,X 是m*(n+1)的矩阵,所以复杂度就是O(n^3)- 很强大!但也有弊端,那就是比较慢,如果n=100 0000,那将慢到不可忍受,所以还得用梯度下降算法,但如果处理1000内的数据,将十分的方便
先说这么多,想到接着补充
0 0
- 机器学习_线性回归,梯度下降算法与正规方程
- 机器学习——线性回归(梯度下降和正规方程)
- 机器学习1_线性回归梯度下降算法
- 斯坦福机器学习课程:第二讲,线性回归、梯度下降与正规方程组
- 【机器学习】线性回归与梯度下降
- 机器学习(四)正规方程求解线性回归问题、正规方法与梯度法的优劣
- 机器学习笔记(一):梯度下降算法,随机梯度下降,正规方程
- 线性回归的正规方程解法与梯度下降解法的代码
- MLNG_线性回归_梯度下降_正规方程组
- 机器学习-线性回归-正规方程
- 梯度下降与正规方程
- 【机器学习入门】Andrew NG《Machine Learning》课程笔记之三:多元线性回归的梯度下降、特征缩放和正规方程
- 梯度下降与线性回归--《机器学习》课程学习笔记
- 机器学习公开课-笔记2-线性回归、梯度下降和正规方程组
- 斯坦福机器学习3:线性回归、梯度下降和正规方程组的matlab实现
- 机器学习之线性回归与梯度下降
- 机器学习(线性回归&梯度下降)
- 机器学习02线性回归、多项式回归、正规方程
- springboot与敏捷开发
- 内存安全的 Lua api 调用
- 用Scrapy与Django一起搭建一个简单的爬虫框架
- [编程题]图片整理
- ExecuteScalar()方法
- 机器学习_线性回归,梯度下降算法与正规方程
- 字符串同构问题——leetcode205/leetcode290
- python的魔法方法
- poj2104
- 微信小程序
- LBP(四)
- Hrbust 1688 数论中的异或【思维+数论异或】好题~
- bzoj 3223 splay模板 【pascal】
- 欢迎使用CSDN-markdown编辑器