机器学习--线性回归
2017-07-17 22:06
190 查看
机器学习–线性回归
如有错误或者疑问,欢迎交流,转载请注明出处线性回归定义
h(x)=∑i=1nθixi=θTx上式中n是特征维度,目标是使损失函数J最小,其中m是训练样本数目
J(θ)=∑i=1m12m(h(x(i))−y(i))2
梯度下降
∂J(θ)∂θj==1m∑i=1m(h(x(i))−y(i))⋅∂h(x(i))∂θj1m∑i=1m(h(x(i))−y(i))⋅x(i)jbatch gradient descent
对每个j:
θj:=θj−α1m∑mi=1(h(x(i))−y(i))⋅x(i)j
def batch_gradient_descent(X, y, theta, alpha, num_iters): ''' X: (m,n) ndarray, m是训练样本数目,n是特征维度 y: (m,) ndarray ''' m = y.size J_history = np.zeros(num_iters) for i in range(num_iters): predictions = np.dot(X,theta) updates = X.T.dot(predictions - y) theta = theta - alpha * (1.0/m) * updates J_history[i] = compute_cost(X,y,theta) retrun theta, J_history
stochastic gradient descent
训练样本过多时,训练一轮的代价比较大,一个一个样本来,一批一批的来叫mini_batch~~
for i=1:m{
for j = 1:n{
θj:=θj−α(h(x(i))−y(i))⋅x(i)j}
}
def stochastic_gradient_descent(X, y, theta, alpha, num_iters): ''' X: (m,n) ndarray, m是训练样本数目,n是特征维度 y: (m,) ndarray ''' m = y.size J_history = np.zeros(num_iters) for i in range(num_iters): predictions = np.dot(X,theta) for j in range(m): updates = X[j,:]*(predictions[j] - y[i]) theta = theta - alpha*updates J_history[i] = compute_cost(X, y, theta) return theta, J_history
最小二乘法
将损失函数写成矩阵形式12(Xθ−y)T(Xθ−y)==12∑i=1m(h(x(i))−y(i))2J(θ)
对θ求导得 ∇θJ(θ)=XTXθ−XTy,极值处导数为0得
θ=(XTX)−1Xy
最小化J(θ)的θ由闭式解(closed form)一步求得
def normal_eqn(X,y): theta = np.zeros((X.shape[1], 1)) X_temp = np.mat(X.T.dot(X))#转成mat矩阵,后面才能求逆 X_pinv = np.array(X_temp.I) theta = (X_pinv.dot(X.T)).dot(y) return theta
相关文章推荐
- 机器学习之线性回归
- 机器学习:线性回归与Python代码实现
- 【机器学习入门】线性回归的概率解释
- 机器学习常见的几个误区--逻辑回归的变量之间如果线性相关
- 机器学习门户网站——单变量线性回归
- 机器学习笔记 - 线性模型与线形回归
- 【学习笔记】斯坦福大学公开课(机器学习) 之一:线性回归、梯度下降
- 机器学习--线性回归 综述
- 吴恩达《机器学习》--- 线性回归
- 机器学习总结(二):线性回归、逻辑斯谛回归(LR)、softmax回归、过拟合
- 机器学习系列之线性回归
- 机器学习笔记:线性回归
- 机器学习推导笔记1--机器学习的任务、步骤、线性回归、误差、梯度下降
- 机器学习之线性回归(Linear Regission) 、 Logistic Regission
- 机器学习与算法(1)---线性回归
- 机器学习:线性回归(Linear Regression)小项目
- 【机器学习--线性回归01】线性回归模型
- 机器学习相关内容介绍,包括有监督、无监督学习,线性回归分类问题等
- 写文章 数据嗨客 | 第2期:线性回归 数据嗨客 | 第2期:线性回归 泊数 泊数 1 年前 普林大数据学院——“机器学习”系列 普林大数据学院依托北京大数据研究院和北京大学,为有需求的企业
- 机器学习入门(6)--(单变量)梯度下降与线性回归