大模型的发展如历史的滚滚车轮,轰隆隆往前。一个前前端不想被时代的车轮碾压,于是决定开始学点AI.看了如何学习的攻略,最终还是决定从基础学起。
Machine Learning可以说是机器学习入门的最热门课程,绝大部分初学者是看这门课入门机器学习的。
最早的机器学习应该是2012年上线,2022年关闭的。今天我看的《Machine Learning Specialization》则是2022年重新上线的。而如今是2025年,深感自己起步太晚了。晚到我都不好意思和别说人我在学这门课。
但是还是开始学习这门课了。这是第一次系统的接触机器学习。大概花了一个月学完了这门课的系列1:有监督的机器学习。这个系列官方推荐时间是三周。
不愧是机器学习入门教程,听了之后受益匪浅。Andrew Ng 教授讲课非常细致,每一个概念都有很详细的解释,人也特别温和。每个视频的时间也非常短,从3分钟到十分钟都有,大部分在8分钟左右。听着毫无压力,没有大的心理负担。时间允许的话,学的还是挺快的。
线性回归
线性回归经典例子:房价预测。当你知道一个房屋的面积时,你可以用线性回归模型来预测它的价格。前提是你已经有了一个房屋面积和价格的数据集。
线性回归模型:
损失函数:
其中, 是数据集的样本数量, 是第 个样本的实际价格, 是第 个样本的预测价格。1/2m 是为了归一化损失函数,使它的单位与 相同。
我们的目标是最小化损失函数 。这可以通过梯度下降等优化算法来实现。
什么是梯度下降呢,假设你在一个小山顶山顶,你要走到山谷。你可以选择向左走还是向右走。如果向左走,你会到达一个更高的地方;如果向右走,你会到达一个更低的地方。你需要选择一个方向,使你到达山谷的距离最短。 这就是梯度下降的思想。你需要选择一个方向,使损失函数 减少的最快。这个方向就是通过对 和 分别求偏导,得到的梯度向量。
梯度下降算法:
其中, 是学习率,控制每次更新的步长。 对 和 分别求偏导,带入上述公式,得到:
怎么用梯度下降求 和 的最优值?
我们可以重复执行梯度下降算法,直到损失函数 收敛。即, 的值不再显著改变。
代码:
def gradient_descent(X, y, w, b, alpha, num_iterations):
m = len(y)
for i in range(num_iterations):
y_pred = X.dot(w) + b
w = w - alpha * (1/m) * X.T.dot(y_pred - y)
b = b - alpha * (1/m) * np.sum(y_pred - y)
return w, b
接下来,我们可以用这个模型来预测房价。假设我们有一个房屋面积为 1000 平方米的房屋,我们可以用模型来预测它的价格。
假设 ,,则:
所以,这个房屋的价格预测为 1010000 美元。 这就是线性回归模型的基本思想。通过对数据进行拟合,我们可以用模型来预测未知数据的结果。