机器学习笔记第2周

第2课 Multivariate Linear Regression 多元线性回归




特征缩放(feature scaling):一般把xi缩放到-1到1的范围内

均值归一化(mean normalization):减去平均值再除范围(最大值与最小值之差)


确定梯度下降是否正常工作:画出J(θ)根据梯度下降迭代次数的变化图,看是否是递减的。也可根据下降幅度来判断是否已收敛

如果J(θ)非递减,则α过大。如果α过小,太慢。

如何选择学习率α:尝试一系列α,选择最大值,或比最大值稍小的一个合适值。如间隔3倍:…0.001,0.003,0.01,0.03,0.1,0.3,1,…

特征选择:如房价预测,不要选长宽两个特征,把它们合成一个特征:面积。

多项式回归:用x1,x2,x3代替x,x^2,x^3,化为线性回归(特征缩放非常重要):


模型选择:以面积预测房价为例,不应该用二次模型,因为二次模型是抛物线形状,涨到一定程度后会下降。这时,除了三次模型外,还可以用平方根模型,同样可以满足条件:

第2课 Computing Parameters Analytically

1.正规方程:不用梯度下降,用求导的方法直接一次求得θ


用矩阵的方法,例:


梯度下降与正规方程优缺点比较

梯度下降:优点:当n(特征个数)非常大时也能好好地工作

    缺点:需要选择合适的α;需要多次迭代

正规方程:优点:不用选择α,不用迭代

    缺点:需要计算XTX的逆(O(n^3)),当n(特征个数)非常大时速度很慢

如果n<10000用正规方程,n为10000左右时需考虑,n远大于10000时,用梯度下降

一些复杂的算法,如分类算法,像逻辑回归算法(以后讲),并不能用正规方程的方法,只能用梯度下降法

2.正规方程的可逆性

如果XTX不可逆。

Octave中有两个求逆函数:pinv和inv,其中pinv是伪逆函数,即使不可逆,也能求出结果

XTX不可逆通常有两个原因

1.有多余的特征,如以英寸计算的面积和以平方米计算的面积两个重复的特征。解决方法:删除重复的特征

2.特征的数量过多,大于训练集长度(m<=n)。解决方法:删除一些特征,或使用正规化的方法(以后讲)


### 吴恩达机器学习课程第十笔记概览 在吴恩达老师的机器学习课程中,第十的内容主要集中在大规模机器学习方面。这一部分探讨了如何处理大数据集以及提高训练效率的方法[^3]。 #### 大规模机器学习的特点 当面对海量的数据时,传统的批梯度下降法可能变得低效甚至不可行。为了应对这个问题,在线学习方法被引入到模型训练过程之中。在线学习允许算法随着新样本的到来逐步更新参数,而不是等待整个数据集加载完毕后再做调整[^2]。 #### 随机梯度下降 (SGD) 随机梯度下降是一种用于优化神经网络权重的有效技术。相比于批量梯度下降每次迭代都需要遍历全部训练样本来计算损失函数导数的做法不同的是,SGD仅取单一样本或少量样本作为估计依据来近似真实梯度方向,从而大大加快收敛速度并减少内存占用量。 ```python import numpy as np def stochastic_gradient_descent(X, y, theta, alpha=0.01, num_iters=1000): m = len(y) for _ in range(num_iters): indices = list(range(m)) np.random.shuffle(indices) for i in indices: xi = X[i:i+1] yi = y[i] error = hypothesis(theta, xi) - yi # Update parameters using only one training example at a time. theta -= alpha * error.T.dot(xi).T return theta ``` #### MapReduce框架下的分布式计算 对于极其庞大的数据集而言,即使采用SGD也可能难以满足实时性需求。此时可以考虑利用MapReduce这样的分布式计算平台来进行更高效的并行化操作。通过合理分配子任务给集群中的各个节点执行,并最终汇总结果完成全局同步更新,可以在较短时间内获得满意的解决方案。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值