一、Linear Regression
Linear Regression用于解决连续的线性回归问题,代价函数为
梯度为
通过迭代,我们利用梯度下降法使得目标函数收敛到一个最小的值,得到我们的模型。
二、Logistic Regression
Logistic Regression 用于解决二分类问题,利用sigmoid function来表示概率
此时的代价函数为
梯度同为
用向量形式表示为
三、向量化
向量化有助于提高计算机的运算速度,尤其在 matlab 当中。
以下也是 matlab 当中的一个小技巧。
1.利用 bsxfun() 可以加速一些矩阵运算,作用相当于将两个矩阵 reshape 成相同大小,再进行点对点的运算。
如:
X_norm = sqrt( sum(X.^2,1) );
Y = bsxfun(@rdivide, X, X_norm);
四、梯度检查
利用以下数学式,检查自己编写的计算梯度的代码是否正确。如果算法计算的值和以下数学方法计算的值相近,则说明代码正确。