【Machine Learning】【Andrew Ng】- notes(Week 2: Computing Parameters Analytically)

本文讨论了两种最小化成本函数J的方法:梯度下降法与Normal方程法。梯度下降法通过迭代更新参数来寻找最优解,而Normal方程法则直接求解参数的闭式解。文章对比了这两种方法的优缺点,并探讨了Normal方程在特征数量较大时可能遇到的问题及解决策略。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Normal Equation

Gradient descent gives one way of minimizing J. Let’s discuss a second way of doing so, this time performing the minimization explicitly and without resorting to an iterative algorithm. In the “Normal Equation” method, we will minimize J by explicitly taking its derivatives with respect to the θj ’s, and setting them to zero. This allows us to find the optimum theta without iteration. The normal equation formula is given below:
θ=(XTX)1XTyθ=(XTX)−1XTy
这里写图片描述
There is no need to do feature scaling with the normal equation.
The following is a comparison of gradient descent and the normal equation:

Gradient DescentNormal Equation
Need to choose alphaNo need to choose alpha
Needs many iterationsNo need to iterate
O(kn2)O(kn2)O(kn3)O(kn3),need to calculate inverse of XTXXTX
Works well when n is largeSlow if n is very large

With the normal equation, computing the inversion has complexity O(n3)O(n3). So if we have a very large number of features, the normal equation will be slow. In practice, when n exceeds 10,000 it might be a good time to go from a normal solution to an iterative process.

Normal Equation Noninvertibility

When implementing the normal equation in octave we want to use the ‘pinv’ function rather than ‘inv.’ The ‘pinv’ function will give you a value of θθ even if XTXXTX is not invertible.
If XTXXTX is noninvertible, the common causes might be having :
- Redundant features, where two features are very closely related (i.e. they are linearly dependent)
- Too many features (e.g. m ≤ n). In this case, delete some features or use “regularization” (to be explained in a later lesson)
Solutions to the above problems include deleting a feature that is linearly dependent with another or deleting one or more features when there are too many features.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值