机器学习大师课 第 1 课:什么是机器学习?写出你的第一个 AI 程序

课程承诺:每节课只讲 1 个核心概念、1 个核心思想、1 段可运行代码。学完立刻能用,绝不讲听不懂的废话。

本节课目标:彻底搞懂机器学习和普通编程的本质区别,亲手写出人生第一个机器学习程序,5 分钟内看到 AI 预测结果。


🧠 第一个核心概念:机器学习到底是什么?

先忘掉所有你听过的 "人工智能"、"神经网络"、"大模型" 这些高大上的词。我用一句话给你讲明白:

普通编程:人写规则,计算机执行规则得到结果 机器学习:人给数据和结果,计算机自己学会规则

最通俗的例子:区分苹果和橘子

  • 普通程序员的做法:写一万条 if-else 规则:

    plaintext

    python 复制代码
    if 颜色是红色 and 形状是圆形 and 直径<10cm:
        return "苹果"
    elif 颜色是橙色 and 表皮有坑:
        return "橘子"
    ...

    结果:遇到青苹果就错了,遇到黄苹果也错了,永远写不完所有规则。

  • 机器学习工程师的做法:给计算机 1000 张苹果的照片,标上 "苹果"。给计算机 1000 张橘子的照片,标上 "橘子"计算机自己学会区分苹果和橘子的规则。

核心区别:普通编程是 "人教计算机做事",机器学习是 "计算机自己从数据中学习做事"。


💡 第一个核心思想:机器学习就是 "找规律"

所有机器学习算法,本质上都在做同一件事:从一堆数据中找到隐藏的规律,然后用这个规律去预测未知的事情

就像你小时候学数学:

  • 老师给你例题(数据):1+1=2,2+2=4,3+3=6
  • 你找到规律:一个数加它自己等于它的 2 倍
  • 你用规律做新题(预测):100+100=200

机器学习也是一模一样的过程:

  1. 给它历史数据(例题)
  2. 它找到数据之间的规律(公式 / 模型)
  3. 用这个规律预测未来(做新题)

本节课我们要解决的问题

预测:房子的面积和房价的关系

  • 已知:5 套房子的面积和对应的价格
  • 目标:让 AI 学会这个规律,然后预测一套 120 平米的房子值多少钱

💻 第一个可运行代码:5 行代码写一个房价预测 AI

前置要求:你已经安装了 Python 和 scikit-learn 库如果没安装,先在命令行运行这一行:

bash

运行

python 复制代码
pip install scikit-learn numpy

完整代码(复制粘贴就能运行)

python

运行

python 复制代码
# 1. 导入我们需要的工具
from sklearn.linear_model import LinearRegression  # 从scikit-learn库导入线性回归模型类,
该模型实现普通最小二乘法(OLS)线性回归算法,用于建立特征与目标变量间的线性关系
import numpy as np  # 导入NumPy科学计算库,提供高效的多维数组操作和数学函数,
是机器学习数据处理的基础依赖

# 2. 准备历史数据(例题)
# X:特征矩阵,必须是二维数组结构(n_samples × n_features)
# 此处表示5个训练样本,每个样本包含1个特征(房屋面积,单位:平米)
# 双括号[[50],...]表示列向量格式,符合scikit-learn要求的输入规范(即使单特征也需保持二维结构)
X = np.array([[50], [60], [70], [80], [90]])  

# y:目标向量,一维数组结构(n_samples,)
# 对应5个样本的真实房价标签(单位:万元)
# 注意:此处数据呈现完美的线性关系(y = 2x),实际业务中数据通常包含噪声
y = np.array([100, 120, 140, 160, 180])  

# 3. 创建一个AI模型(就像一个刚出生的学生)
# 初始化线性回归模型实例,normalize=False表示不进行特征标准化(默认使用原始尺度)
# fit_intercept=True(默认)表示模型将计算截距项(即y = wx + b中的b)
# 此时模型参数(权重w和截距b)尚未确定,处于未训练状态
model = LinearRegression()  

# 4. 让AI学习数据(给它讲课,让它找规律)
# 执行模型拟合过程:通过最小化残差平方和(RSS)计算最优参数
# 数学原理:求解正规方程 (X^T X)^{-1} X^T y 或使用梯度下降法
# 训练完成后,model.coef_ = [2.0](斜率w),model.intercept_ = 0.0(截距b)
model.fit(X, y)  

# 5. 用学会的规律预测新数据(做新题)
area = 120  # 定义待预测的新样本特征值(120平米房屋)

# 将单个预测值转换为模型要求的二维输入格式[[120]]
# 调用predict方法执行前向传播:y_pred = w * x + b = 2.0 * 120 + 0.0 = 240.0
predicted_price = model.predict([[area]])  

# 格式化输出预测结果,保留两位小数
# 注意:实际业务中需进行预测区间计算和置信度评估,此处简化处理
print(f"预测{area}平米的房子价格为:{predicted_price[0]:.2f}万元")

运行结果

plaintext

复制代码
预测120平米的房子价格为:240.00万元

🔍 逐行拆解代码,彻底搞懂每一步在做什么

我保证,这 5 行代码包含了所有机器学习程序的基本结构,以后你写的再复杂的 AI,都是这个套路。

  1. 导入工具

    python

    运行

    python 复制代码
    from sklearn.linear_model import LinearRegression

    我们不用自己从零写算法,scikit-learn 这个库已经帮我们写好了所有经典算法。这里我们导入 "线性回归" 算法,它是最简单、最常用的机器学习算法。

  2. 准备数据

    python

    运行

    python 复制代码
    X = np.array([[50], [60], [70], [80], [90]])
    y = np.array([100, 120, 140, 160, 180])
    • X 叫 "特征":就是我们用来预测的依据(房子面积)
    • y 叫 "标签":就是我们想要预测的结果(房价)
    • 这就是我们给 AI 的 "例题"
  3. 创建模型

    python

    运行

    python 复制代码
    model = LinearRegression()

    这一步就像你招了一个什么都不会的新员工,他现在脑子里一片空白。

  4. 训练模型(核心步骤)

    python

    运行

    复制代码
    model.fit(X, y)

    这是最神奇的一步!fit就是 "学习" 的意思。当你运行这行代码时,AI 会自动分析 X 和 y 之间的关系,找到那个隐藏的规律。在这个例子中,它找到了规律:房价 = 面积 × 2

  5. 预测

    python

    运行

    复制代码
    predicted_price = model.predict([[area]])

    AI 学会了规律之后,你给它一个新的面积,它就会用刚才找到的规律算出对应的房价。


✨ 神奇的实验:让 AI 自己发现新规律

现在请你动手修改一下代码,看看会发生什么:

把房价数据改成:

python

运行

复制代码
y = np.array([150, 170, 190, 210, 230])

再运行一次,看看 120 平米的房子预测价格是多少?

你会发现:AI 自动发现了新的规律 "房价 = 面积 × 2 + 50",预测结果变成了 290.00 万元!

你没有修改任何算法,没有写任何新的规则,只是给了它不同的数据,它就自己学会了不同的规律。这就是机器学习的魔力!


📝 本节课总结

  1. 核心概念:机器学习是让计算机从数据中自己学习规则,而不是人写规则
  2. 核心思想:所有机器学习都是 "从数据中找规律,用规律做预测"
  3. 核心代码结构:导入工具 → 准备数据 → 创建模型 → 训练模型 → 预测
  4. 你已经做到了:写出了一个真正的机器学习程序,它能根据历史数据预测未来!

🎯 课后作业(必须做,否则等于白学)

  1. 运行上面的代码,确保你能得到正确的结果
  2. 自己造一组新的数据,比如预测 "学习时间和考试分数" 的关系:
    • 学习时间(小时):[1, 2, 3, 4, 5]
    • 考试分数(分):[60, 70, 80, 90, 100]
    • 预测学习 8 小时能考多少分?
  3. 思考一个问题:如果数据不是这么完美的直线关系,比如有一个数据点是 "学习 5 小时考了 95 分",AI 会怎么预测?你可以改改代码试试。
相关推荐
浪客川1 小时前
UniFFI 网络接口实战:从阿里云 AI 到移动端集成
人工智能·阿里云·云计算
一只数据集1 小时前
水稻叶片图像与SPAD值标注数据集-140张高质量图像-精准农业机器学习训练数据集
人工智能·深度学习·机器学习
数据牧羊人的成长笔记1 小时前
SVM与朴素贝叶斯算法+Kaggle竞赛+智能推荐系统+关联规则分析与Apriori算法+Gensim与LDA主题模型
算法·机器学习·支持向量机
AI技术增长1 小时前
Pytorch图像去噪实战(一):从0复现DnCNN并解决训练不收敛问题(附完整工程+踩坑总结)
人工智能·pytorch·python
AIminminHu1 小时前
(AI篇)OpenGL渲染与几何内核那点事-(二-1-(12):给AI一副“身体”有多难?从“缸中之脑”到R2-D2,一文看透具身智能60年进化血泪史
人工智能·具身智能
zs宝来了1 小时前
Ray 分布式计算:Actor 模型与任务调度
机器学习·ai·基础设施
三克的油1 小时前
YOLOV5数据学习
人工智能·学习·yolo
海兰1 小时前
【第22篇】Evaluation Example
人工智能·spring boot·log4j·alibaba·spring ai
喵叔哟1 小时前
大模型蒸馏全栈实战:从Claude黑盒克隆到开源模型轻量化落地--目录
人工智能