多元线性回归 机器学习基础(1)

多元线性回归

1 多元线性回归

1.1 猜想

多元线性回归 机器学习基础(1)_第1张图片

1.2 代价函数

多元线性回归 机器学习基础(1)_第2张图片

1.3 梯度下降法

多元线性回归 机器学习基础(1)_第3张图片

1.3.1 特征缩放

多元线性回归 机器学习基础(1)_第4张图片
椭圆空间变为圆形空间:
多元线性回归 机器学习基础(1)_第5张图片

1.3.2 均值归一化

多元线性回归 机器学习基础(1)_第6张图片

1.3.3 参数 α 的选取

为了加快收敛速度;避免发散。
采用多次实验的方法,一般遵循的思路为
Repeat{小 –> 大}

1.4 特征与多项式回归

寻找合适的多项式模型,例如

hθ(x)=θ0+θ1xhθ(x)=θ0+θ1x+θ2x2hθ(x)=θ0+θ1x+xhθ(x)=θ0+θ1x+θ2x2+θ3x3...

2 正规方程

2.1 正规方程不可逆性

正规方程提供了一种求 θ 的解析解法。

Xθ=yXTXθ=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

搜索路径 addpath

3.6 向量化

MATLAB, python, Java, C, C++ 都有线性运算库

θ0=θ1=θ2=θ0α1mi=1m(hθ(x(i))y(i))x(i)0θ1α1mi=1m(hθ(x(i))y(i))x(i)1θ2α1mi=1m(hθ(x(i))y(i))x(i)2θ=θαδwhereδ=1m(hθ(x)y)Tx

你可能感兴趣的:(算法,机器学习,机器学习,Octave,MATLAB,多元线性回归)