您的位置:首页 > 编程语言 > MATLAB

多元线性回归 机器学习基础(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

例如

x0aby
1453
1121
1322


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

搜索路径 addpath

3.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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息