什么是机器学习?

作为一名 Java 开发者,我第一次接触机器学习时,最大的困惑是:这和我写的业务代码有什么区别?

传统编程 vs 机器学习

传统编程机器学习
人写规则,机器执行机器从数据中学习规则
if (温度 > 30) { 开空调() }输入历史数据,自动学会何时开空调
逻辑明确、可预测结果有概率性、需要验证

核心概念

1. 监督学习(Supervised Learning)

就像教小孩认动物:

  • 给很多张猫的图片,告诉它”这是猫”
  • 给很多张狗的图片,告诉它”这是狗”
  • 最后让它自己判断新图片是猫还是狗
# 伪代码示意
model.train(cat_images, label="猫")
model.train(dog_images, label="狗")
result = model.predict(new_image)  # "猫" 或 "狗"

2. 无监督学习(Unsupervised Learning)

不给标签,让机器自己发现规律:

  • 把一堆新闻自动分类(机器自己决定分几类)
  • 把用户自动分成不同群体

3. 强化学习(Reinforcement Learning)

像训练宠物:

  • 做对了给奖励,做错了给惩罚
  • AlphaGo 就是这么学会下围棋的

学习资源

推荐资源

下一步

接下来了解 Transformer →