Python学习
一、学前花絮
我们总是听到“AI”、“算法”、“神经网络”、“深度学习”等名词,感觉这个时代都是他们引领的。那么他们到底是什么呢?
你可以把 AI(人工智能) 看作是一座宏伟的“大厦”,而 算法 则是建造这座大厦的“砖瓦”和“设计图纸”。
l核心工具与整体领域:算法是解决特定问题的有限步骤(如排序、搜索),而AI是一个庞大的学科,旨在让机器模拟人类的智能行为(如看懂图片、听懂语言)。算法是AI实现智能的基础工具。
l血液与身体:如果说数据是AI的“燃料”,那么算法就是AI的“发动机”。AI系统依赖算法来处理数据、学习规律并做出决策。
l包含关系:AI不仅仅只有算法,它还涉及数据、算力(硬件)、应用场景等。但没有算法,AI就无法存在。
算法和AI(人工智能)的关系见下表:

那么,神经网络和深度学习又是什么呢?
神经网络(Neural Network) 是AI领域中深度学习分支的核心算法模型。它的灵感来源于人脑的神经元结构。
l基本原理:我们可以把它想象成一个由多层“神经元”组成的黑盒。它通过模拟人脑神经元的工作方式,通过调整神经元之间的连接权重,从大量数据中自动提取特征并学习规律。
l核心结构:
输入层:接收外部数据(如一张图片的像素)。
隐藏层:进行复杂的计算和特征提取(可能有成百上千层,这就是“深度”学习的由来)。
输出层:给出最终结果(如:这张图片是“猫”的概率为95%)。
l工作流程:
前向传播:数据从输入层流向输出层,得到一个预测结果。
计算损失:比较预测结果和真实答案,计算误差。
反向传播:根据误差,通过“梯度下降”等算法,自动调整网络中每一层的参数(权重),让下一次预测更准确。
有了以上的认识,我们尝试用python编写算法。
二、Python编写算法
Python是目前AI领域的“通用语言”,因为它语法简洁且拥有极其丰富的库。要开始编写AI算法,我建议你按照以下“三部曲”进行:
2.1 基础准备(环境与语法)
在写复杂的AI算法前,你需要先配置好环境并掌握基础语法。
安装环境:推荐安装 Anaconda或Pycharm,它自带了Python解释器和绝大多数科学计算库。
学习基础:掌握Python的基本语法、循环、函数以及面向对象编程。
核心库:
NumPy:用于高效的矩阵运算(这是神经网络计算的核心)。
Pandas:用于数据处理和分析。
2.2 从经典算法入手(机器学习)
不要一上来就啃神经网络,先从经典的机器学习算法开始,比如线性回归。这能帮你理解“数据 -> 模型 -> 训练 -> 预测”的流程。
下面是一个线性回归算法示例,感受一下Python写算法的逻辑。
2.2.1 线性回归算法程序
安装依赖模块:
程序如下:

输出结果:
预测6小时学习后的成绩: 75.00

从上面的图形看出,横坐标代表学习时间,纵坐标代表学习成绩。图形找那个的蓝点来源于我们设置的两组数:

也就是说学习1小时获得50分,2小时55分……,这种关系是比较明确的线性关系,预测一下学习6小时获得多少分?答案是75分,并画出这两组数字组成的线性图。
2.2.2 进阶到神经网络(深度学习)
当熟悉了基础,就可以使用专业的深度学习框架,如 TensorFlow 或 PyTorch。它们封装了复杂的微积分运算,让你可以像搭积木一样构建神经网络。
这里是一个使用TensorFlow构建简单神经网络识别手写数字(MNIST)的极简示例:

上面的代码需要数据集mnist.npz,提前下载数据集到本地保存:

运行程序后,输出测试集准确率:

这个准确率数字的含义:
l测试集准确率 0.9759:这意味着神经网络在从未见过的 10,000 张手写数字图片上,正确识别出了 97.59% 的数字。
l评价:对于一个简单的全连接网络(MLP),这个准确率是非常不错的成绩。虽然不是 100%,但考虑到手写数字可能存在潦草、变形等情况,97%+ 的准确率说明模型已经学到了数字的特征。
2.2.3 python编写算法总结
以上成功走通了深度学习的全流程:
① 准备数据(下载 MNIST)。
② 构建模型(定义神经网络结构)。
③ 训练模型(喂数据,调整参数)。
④ 评估模型(得到 97.59% 的准确率)。
下一步如果想继续探索,可以尝试:
可视化预测:写代码随机抽取几张测试图片,用模型预测并显示“这张图是数字几”,看看预测结果是否正确。
改进模型:尝试将现在的全连接层(Dense)换成卷积层(Conv2D),准确率通常能提升到 99% 以上。
三、小结
通过学习python对于AI算法的程序编写,了解到AI算法是一个不断迭代的过程。在实际工程中,算法的准确率与测试数据集的采集相关,也与算法模型相关。
让我们保持学习热情,多做练习。我们下期再见!