机器学习笔记一【线性回归】
来源:互联网 发布:网络作家怎样赚钱 编辑:程序博客网 时间:2024/05/22 04:56
基本认识:
线性回归是基本的机器学习方法。
线性回归是回归问题,其所求的值为连续值。分类问题求的值为离散的值。
线性回归问题 ,简而言之就是求一个函数 ‘f’ 使输入的自变量 X 通过 f得到比较接近真实的 Y 的 Y* 。
举例:
比如这个X可以是今天的风力,湿度等 (超过一维的自变量我们设为矩阵或向量)
如 X=[x1,x2,x3,x4,x5,......] Xi=(i=0,1,2,3.....n)
f(X)=20 ( 设Y为 明天的温度 ),这也就达到了预测的作用
这也是线性回归的其中一个作用
一般来说(一般方程):
我们给出的直线 Y = w'x+e
w,x 均为向量,而我们要求的是这个最佳的w*,让 f对 X 的预测总体上最准
为此我们就定义误差(也叫代价函数) J(W)=(Y-Y*)^2 这里我们采取的是方差来作为衡量我们的 W是否优秀的依据如此假设我们有 m 个数据 Xi
(图一)(注明其中的 θ 就是我们的 W 向量,下面均为如此)
即最小化 通过某种方法得到的 W 使得 J(W) 最小 ,为此我们引入优化方法
优化方法+训练模型:
我们可以采用梯度下降法(gradient descent )来作为我们的优化方法,梯度 顾名思义,就是函数上升最快的方向
我们要做的就是利用梯度找到 J(W) 梯度的反方向走下去,走到底部就会得到一个极小值,我们的优化就完成,此时我们所得到的 W 就会大体上预测到不错的结果
下图为误差 J(W) 对于W 向量中参数的分布图(途中 θ就是上面讲的向量 W)
(图二)就像当你站在一个山坡上,你上升最快的方向就是你的梯度,而你想做的是走到山底。
而你要做的就像下面这样。
(图三)通过不断的修正向量 W 的各个项使得误差走到山底。
那么我们该怎么做呢?
上面我们讲到了梯度就是J(W)对向量W的导数,式子如下:
(图四)
很容易由 图一 求导数得到 图四 的式子
得到的梯度我们又可以这样表示:
(图五)这样显得直观。倒三角形表示梯度,按这种方式来表示会大大的简化数学的描述。
然后呢,相信你们已经察觉到,我上面讲到,梯度是 J(W) 上升最快的方向,而我们的目的时间小误差,所以我们接下来给出式子:
(图六),
为了方便控制,我们引入 α 学习率(learning rate)来限制梯度下降的速度,α 一般都是人为根据具体情况设置(通常小于1)。
这样我们就能一步步从图二的山坡上迭代 一步一步向下走(更新 W 向量),直到达到我们设置的阀值推出迭代。
阀值 ε使得 | Y-Y* | < ε时退出迭代,得到最佳的W(注意,此时的W只是一个极小值而不是最小值,就像图二中不止一个山底一样)
训练好我们的模型,我们就可以开始预测了。
- 机器学习笔记一【线性回归】
- 机器学习笔记一:线性回归
- 《机器学习》学习笔记(一):线性回归、逻辑回归
- 机器学习笔记(一) 线性回归和logistic回归
- 机器学习笔记-线性回归
- 机器学习笔记:线性回归
- 机器学习笔记(一)——线性回归算法
- CSDN机器学习笔记一 概述、线性回归
- 机器学习算法学习一:线性回归
- 机器学习总结(一):线性回归、岭回归、Lasso回归
- 机器学习实战线性回归局部加权线性回归笔记
- 【机器学习之学习笔记】线性回归
- 机器学习基础(一)线性回归
- 机器学习(一)线性回归
- 机器学习(一):线性回归
- 机器学习(一)线性回归
- 机器学习(一):线性回归_python
- 机器学习练习一:简单线性回归
- Water problem HDU
- hadoop实例 wordcount——StringTokenizer:字符串分隔解析类型
- Pascal's Triangle II
- Android中的Carema(相机操作)
- C语言中可变参数的用法
- 机器学习笔记一【线性回归】
- TCP、UDP、HTTP的区别
- Water problem HDU
- 判定Java源文件名称
- Eclipse Project Explorer中不显示工程下目录
- LC 28
- css的权重(二)
- POJ3041Asteroids(二分图最大匹配)
- 常见线程池和启动定时器线程池-笔记整理7