多元线性回归 机器学习基础(1)
2016-01-25 15:23
417 查看
多元线性回归
1 多元线性回归
1.1 猜想
1.2 代价函数
1.3 梯度下降法
1.3.1 特征缩放
椭圆空间变为圆形空间:
1.3.2 均值归一化
1.3.3 参数 α 的选取
为了加快收敛速度;避免发散。采用多次实验的方法,一般遵循的思路为
Repeat{小 –> 大}
1.4 特征与多项式回归
寻找合适的多项式模型,例如hθ(x)=θ0+θ1xhθ(x)=θ0+θ1x+θ2x2hθ(x)=θ0+θ1x+x√hθ(x)=θ0+θ1x+θ2x2+θ3x3...
2 正规方程
2.1 正规方程不可逆性
正规方程提供了一种求 θ 的解析解法。Xθ=y→XTXθ=XTy→θ=(XTX)−1XTy
例如
x0 | a | b | y |
---|---|---|---|
1 | 4 | 5 | 3 |
1 | 1 | 2 | 1 |
1 | 3 | 2 | 2 |
X=⎡⎣⎢111413521⎤⎦⎥,y=⎡⎣⎢312⎤⎦⎥
梯度法和正规方程方法对比
梯度法 | 正规方程 |
---|---|
1) 取 α | 1) 求矩阵逆 (XTX)−1 |
2) 多次迭代 | 特征数 n 大时,效率低 |
3) 处理特征数 n 很大的情况 |
3 Octave/MATLAB 入门
3.1 基本命令
PS1(‘>>’); 在 Command 命令中disp(sprint(‘6 decimals: %0.6f’, a));
hist(x, 50); % x 变量的分布图
3.2 数据传递
路径 pwd改变路径 cd ‘path’
ls 当前路径下的对象
load(‘filename’); 或者 load filename
who 变量信息
whos 变量详细信息
save filename varname 将 varname 保存至 filename
3.3 数据处理
flipud 矩阵左右翻转3.4 数据绘图
imagesc 矩阵可视化实现3.5 控制语句 for while if
搜索路径 addpath3.6 向量化
MATLAB, python, Java, C, C++ 都有线性运算库θ0=θ1=θ2=θ0−α1m∑i=1m(hθ(x(i))−y(i))x(i)0θ1−α1m∑i=1m(hθ(x(i))−y(i))x(i)1θ2−α1m∑i=1m(hθ(x(i))−y(i))x(i)2⎫⎭⎬⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪→θ=θ−αδwhereδ=1m(hθ(x)−y)Tx
相关文章推荐
- 解析在main函数之前调用函数以及对设计的作用详解
- java和matlab画多边形闭合折线图示例讲解
- C#调用Matlab生成的dll方法的详细说明
- 从java中调用matlab详细介绍
- 用Python从零实现贝叶斯分类器的机器学习的教程
- My Machine Learning
- 机器学习---学习首页 3ff0
- 反向传播(Backpropagation)算法的数学原理
- 稀疏自动编码器 (Sparse Autoencoder)
- 也谈 机器学习到底有没有用 ?
- 量子计算机编程原理简介 和 机器学习
- VC++与Matlab混合编程的快速实现
- Matlab 矩阵运算
- matlab与opencv部分函数的对照
- matlab神经网络工具箱创建神经网络
- Matlab
- MATLAB 入门教程
- matlab函数_连通区域
- MATLAB中函数模式和命令模式的区别
- 初识机器学习算法有哪些?