本栏目(Machine learning)包括单参数的线性回归、多参数的线性回归、Octave Tutorial、Logistic Regression、Regularization、神经网络、机器学习系统设计、SVM(Support Vector Machines 支持向量机)、聚类、降维、异常检测、大规模机器学习等章节。所有内容均来自Standford公开课machine learning中Andrew老师的讲解。
Linear Regression with multiple variables – 多变量线性回归
1. 假设函数
hθ(x)=θ0+θ1x1+θ2x2+θ3x3
模型表示:
参数 | 含义 |
---|---|
n | 特征的个数 |
m | 训练集的个数 |
x(i) | 第i个训练集实例,矩阵中的第i列,是一个向量 |
x(i)j | 第i个训练实例的第j个值 |
假设
x0=1
,则假设函数公式可简化为:
hθ(x)=θTX=θ0x0+θ1x1+...+θnxn
其中 θT 表示矩阵的转置
2. 多变量梯度下降
2.1 代价函数
J(θ0θ1,...,θn)=12m∑i=1m(hθ(x(i))−y(i))2
2.2 梯度下降算法求导
θj:=θj−α1m∑i=1m((hθ(x(i))−y(i))∗x(i)j),j=0,1,2,...,n
注意: 必须同时更新 θj 的值
3. 特征缩放
在面对多维特征问题时,需要保证这些特征都有相近的尺度,这样能使梯度下降算法能更快的收敛。
尝试将所有的特征尺度缩放到-1~1之间,使用如下公式:其中
μn
为平均值,
sn
为标准差
xn=xn−μnsn
4. 学习率
4.1 如何合理设置 α 的值
可以选择 α=0.001,0.003,0.01,0.03,0.1,0.3
4.2 通过画出迭代次数和代价函数图来观察算法何时收敛
5. 正规方程(Normal Equation Noninvertibility)
通过求解 θ=(XTX)−1XTy ,其中X为训练集特征,y为训练集结果,求出代价函数最小的参数 θ 。注意:对于不可逆的矩阵,正规方程是不可用的。
梯度下降和正规方程的比较
梯度下降 | 正规方程 |
---|---|
需要选择 α | 不需要 |
需要多次迭代 | 一次运算求出结果 |
当特征量n特别大时也适用 | 时间复杂度为 O(n3) ,当n<1000时可以接受 |
适用于各种模型 | 只适用于线性模型 |