课程目录
以下是关于 Python 基础、机器学习算法、深度学习神经网络的相关学习内容:

Python 基础

  • 语法基础:学习变量、数据类型(如整数、浮点数、字符串、列表、字典、元组等)、运算符、控制流语句(if - else、for 循环、while 循环等)、函数定义与调用等基础语法知识。可以参考《Python 编程:从入门到实践》这本书3

  • 数据结构与算法:了解常见的数据结构,如栈、队列、链表、树、图等,以及相关的算法操作,如排序、搜索算法等。这有助于提高编程效率和解决复杂问题的能力。

  • 文件操作与异常处理:掌握文件的读取、写入、关闭等操作,以及如何处理程序运行过程中可能出现的异常情况,使程序更加健壮。

  • 模块与包:学会使用 Python 的模块和包来组织代码,提高代码的可维护性和可复用性。了解一些常用的标准模块,如ossysdatetime等。

  • 常用库:NumPy 是科学计算的基础库,提供了高效的多维数组操作;pandas 用于数据处理和分析,能方便地进行数据清洗、转换、统计等操作;Matplotlib 用于数据可视化,可将数据以图表的形式直观地展示出来2

机器学习算法

  • 监督学习算法2

    • 线性回归:用于预测连续数值,通过拟合数据点与线性函数之间的最佳拟合线来建立模型。

    • 逻辑回归:广泛用于二分类问题,将线性输出通过逻辑函数映射到概率值,以此判断类别。

    • 决策树:基于树状结构,根据特征条件分割数据,用于分类和回归任务。

    • 支持向量机(SVM):寻找最佳超平面分割数据,使不同类别数据点离超平面最远,以提高分类性能。

    • 集成算法:如随机森林和梯度提升树,组合多个基本模型来提高预测性能,降低过拟合风险。

  • 无监督学习算法2

    • K 均值聚类(K - means):将数据分成 K 个簇,使每个数据点与其所属簇的聚类中心距离最小化。

    • DBSCAN(密度聚类):基于数据点密度分割簇,能识别不同密度的簇,将稀疏区域数据点标记为噪声点。

    • 主成分分析(PCA):常用的降维技术,通过找到数据的主要方差方向,将数据投影到新坐标系,实现数据压缩和去除冗余信息。

    • 线性判别分析(LDA):用于降维,与分类问题结合,寻找能最大化不同类别距离、最小化同一类别内部距离的特征空间。

深度学习神经网络

  • 神经网络基础:了解神经元的结构和工作原理,以及神经网络如何通过神经元之间的连接和权重来学习和处理信息。学习激活函数(如 ReLU、Sigmoid、Tanh 等)的作用和特点。

  • 前向传播与反向传播:掌握神经网络的前向传播过程,即输入数据如何在网络中逐层传递并产生输出;以及反向传播算法,用于计算损失函数关于网络参数的梯度,以便通过优化算法更新参数。

  • 常见的神经网络架构

    • 多层感知机(MLP):由多个全连接层组成的神经网络,适用于简单的分类和回归问题。

    • 卷积神经网络(CNN):主要用于图像和视频处理等领域,通过卷积层、池化层和全连接层等结构,自动提取数据的特征。

    • 循环神经网络(RNN):包括简单的 RNN、长短期记忆网络(LSTM)和门控循环单元(GRU)等,适用于处理序列数据,如自然语言处理中的文本序列。

  • 深度学习框架:如 PyTorch 和 TensorFlow,掌握这些框架的基本操作,如创建模型、定义损失函数、选择优化器、训练模型和评估模型等。以 PyTorch 为例,要熟悉张量(Tensor)的操作、模型的定义和封装、数据加载器(DataLoader)的使用等1


在学习过程中,可以结合在线课程、开源项目和实际案例进行实践。例如,国家高等教育智慧教育平台上的相关课程,以及 GitHub 上的开源 AI 资源项目等14。同时,参与 Kaggle 竞赛等实战项目,能更好地提升应用能力。

          课程目录
第一章:Python开发环境搭建 1-下载Miniconda运行环境
2-Miniconda安装和测试
3-Pycharm安装和代码运行
4-Jupyter安装和代码运行
5-Jupyter常用快捷键
6-Conda虚拟环境创建与Python模块安装
7-关联虚拟环境运行代码
第二章:Python基础语法 1-Python是强类型的动态脚本语言
2-Python_控制语句_单双分支
3-Python_控制语句_多分支_三元条件运算符
4-Python_控制语句_while循环
5-Python_控制语句_for循环
6-Python_控制语句_嵌套循环
7-Python_控制语句_break_continue
8-Python_切片操作
9-Python_数据类型
10-Python_集合操作_列表
11-Python_集合操作_列表的基本操作
12-Python_集合操作_列表的常用方法
13-Python_集合操作_元组
14-Python_集合操作_字典和常见操作
15-Python_集合操作_字典keys方法_enumerate函数
16-Python_os模块_shutil模块
17-Python_打开并读取文件_中文编码问题
18-Python_函数_定义_调用_返回值_注释
19-Python_函数_局部变量_全局变量
20-Python_函数_默认参数_可变参数
21-Python_函数_递归
22-Python_函数式编程_高阶函数
23-Python_函数式编程_map_reduce_filter_匿名函数
24-Python_函数_闭包
25-Python_函数_装饰器
26-Python_类对象_定义与实例化对象
27-Python_类对象_实例属性和方法_类属性和方法
28-Python_类对象_内置方法
29-Python_类对象_运算符重载_私有对象方法_isinstance函数
30-Python_类对象_面向对象三大特性_类的继承
31-Python_类对象_子类复用父类构造器和方法_方法重写
第三章:机器学习-线性回归 1-理解简单线性回归
2-最优解_损失函数_MSE
3-扩展到多元线性回归
4-理解多元线性回归表达式几种写法的原因
5-理解维度这个概念
6-理解回归一词_中心极限定理_正太分布和做预测
7-假设误差服从正太分布_最大似然估计MLE
8-引入正太分布的概率密度函数
9-明确目标通过最大总似然求解θ
10-对数似然函数_推导出损失函数MSE
11-把目标函数按照线性代数的方式去表达
12-推导出目标函数的导函数形式
13-θ解析解的公式_是否要考虑损失函数是凸函数
14-Python开发环境版本的选择及下载
15-Anaconda环境安装_Pycharm环境安装
16-Pycharm创建脚本并测试python开发环境
17-解析解的方式求解多元线性回归_数据Xy
18-解析解的方式求解多元线性回归_求解模型_使用模型_绘制图形
19-解析解的方式求解多元线性回归_扩展随机种子概念_增加维度代码的变换
20-Scikit-learn模块的介绍
21-调用Scikit-learn中的多元线性回归求解模型(上)
22-调用Scikit-learn中的多元线性回归求解模型(下)
1-梯度下降法产生的目的和原因以及思想
2-梯度下降法公式
3-学习率设置的学问_全局最优解
4-梯度下降法迭代流程总结
5-多元线性回归下的梯度下降法
6-全量梯度下降
7-随机梯度下降_小批量梯度下降
8-对应梯度下降法的问题和挑战
9-轮次和批次
10-代码实现全量梯度下降第1步和第2步
11-代码实现全量梯度下降第3步和第4步
12-代码实现随机梯度下降
13-代码实现小批量梯度下降
14-代码改进保证训练数据全都能被随机取到
15-代码改进实现随着迭代增加动态调整学习率
1-归一化的目的_维度之间数量级不同产生的矛盾
2-归一化的目的_举例子来理解做归一化和不做归一化的区别
3-归一化的副产品_有可能会提高模型的精度
4-最大值最小值归一化
5-标准归一化
6-代码完成标准归一化
1-正则化的目的防止过拟合
2-正则化通过损失函数加入惩罚项使得W越小越好
3-常用的L1和L2正则项以及数学意义
4-L1稀疏性和L2平滑性
5-通过L1和L2的导函数理解区别的本质原因
1-代码调用Ridge岭回归
2-代码调用Lasso回归
3-代码调用ElasticNet回归
4-升维的意义_多项式回归
5-多项式升维代码实战_传入不同超参数对比
6-多项式升维代码实战_训练模型和评估
7-实战保险花销预测_数据介绍和加载数据
8-实战保险花销预测_数据预处理
9-实战保险花销预测_模型训练和评估_选择非线性算法改进
10-实战保险花销预测_特征选择思路
11-实战保险花销预测_特征工程
12-实战保险花销预测_模型训练和评估
第四章:机器学习-逻辑回归 1-逻辑回归_Sigmoid函数
2-sigmoid函数作用
3-逻辑回归为什么用sigmoid函数_预备知识
4-证明伯努利分布是指数族分布_推导出逻辑回归公式
5-回想多元线性回归公式其实也是从广义线性回归推导出来的
6-推导逻辑回归损失函数_得到总似然的公式
7-推导逻辑回归损失函数_得到最终形式
8-绘制逻辑回归损失函数_读入数据计算最优解模型_实现逻辑回归预测_实现逻辑回归损失函数
9-绘制逻辑回归损失函数_探索单个参数和损失的关系
10-绘制逻辑回归损失函数_探索两个参数和损失函数变换关系
11-绘制逻辑回归损失函数_绘制3D的图形_分析X1X2两个维度的重要度
12-对逻辑回归函数进行求导_结论在后面会用到
13-对逻辑回归的损失函数求导_推导出导函数的形式
14-实战逻辑回归对鸢尾花数据集进行二分类
15-OneVsRest将多分类问题转化成多个二分类问题
16-实战逻辑回归对鸢尾花数据集进行多分类
第五章:机器学习-无监督学习 1-KMeans聚类流程_距离测度欧式距离和余弦距离
2-距离测度欧式距离和余弦距离的场景_TFIDF
3-KMeans的一些变形_KMeans的损失函数推导及假设
4-mini-batchKMeans_Canopy聚类_聚类评估指标
5-KMeans代码测试不同情况下的聚类效果
6-层次聚类_密度聚类_谱聚类
第六章:机器学习-决策树与随机森林1-决策树模型的特点
2-决策树的数学表达
3-如何构建一颗决策树
4-什么是更好的一次划分
5-Gini系数
6-信息增益
7-熵与Gini系数关系_信息增益率
8-预剪枝以及相关超参数
9-代码实战决策树对鸢尾花数据集分类
10-绘制决策树模型_寻找最优树深度
11-代码训练回归树拟合SineWave
12-后剪枝的意义
13-CCP代价复杂度后剪枝
14-CCP代价复杂度剪枝_α超参数设定
1-不同聚合方式_生成不同弱学习器方式
2-Bagging_Boosting_Stacking
3-随机森林
4-代码实战随机森林对鸢尾花数据集分类
5-OOB袋外数据
6-Adaboost算法思路
7-调整数据权重让权重正确率达到50%
8-Adaboost如何调整样本权重和求基模型权重
第七章:机器学习与大数据-Kaggle竞赛实战1-Rossmann药店销量预测_kaggle的介绍
2-对数据字段的介绍_导包
3-自定义损失函数
4-对数据里面的目标变量sales的一个分析
5-数据的预处理
6-模型的训练_评估
7-kaggle竞赛网站学习
第八章:深度学习与神经网络 1-神经网络是有监督的算法_生物神经元到人工神经元
2-三种常见的激活函数_网络拓扑介绍_优化算法
3-单层神经网络正向传播计算过程_用神经网络理解逻辑回归做多分类
4-用神经网络理解Softmax回归
5-隐藏层的意义_隐藏层相当于去做预处理_升维降维
6-多节点网络输出_sklearn中NN模块的介绍
7-sklearn中NN模型的代码使用
8-隐藏层激活函数必须是非线性的
9-tensorflow概要_conda创建虚拟环境_CPU版本的tensorflow安装
第九章:计算机视觉图像识别原理 1-图像识别任务_古典目标检测
2-使用OpenCV调用分类器找到目标框
3-IOU以及python计算的代码
4-R-CNN和SPP-net
5-从FastRCNN引入FasterRCNN
1-回顾RCNN_SPPnet_Fast-RCNN
2-FasterRNN的核心RPN_正向传播的框过滤_NMS
3-NMS代码实现流程_mAP目标检测平均指标
4-FasterRCNN论文讲解_从介绍到RPN的loss
5-FasterRCNN论文讲解_从RPN损失到评估指标对比
1-基于CascadeClassifier来提取目标框做车牌识别代码详解_01
2-基于CascadeClassifier来提取目标框做车牌识别代码详解_02
3-基于CascadeClassifier来提取目标框做车牌识别代码详解_03
4-基于CascadeClassifier来提取目标框做车牌识别代码详解_04
5-车牌识别项目关于目标检测的问题
1-图片风格融合项目_架构_代码实现要点_1
2-图片风格融合项目_架构_代码实现要点_2
3-图片风格融合项目_架构_代码实现要点_3
4-图片风格融合项目_架构_代码实现要点_4
第十章:NLP自然语言处理原理和进阶 1-N-gram语言模型
2-NPLM神经网络语言模型
3-词向量的作用
4-CBOW模型思想和计算过程
5-Skip-gram模型思想和计算过程
6-Huffman树_分层Softmax的思想
7-分层Softmax应用到CBOW模型上
8-负采样和负采样应用到CBOW模型上
1-理解RNN循环神经网络拓扑结构
2-理解RNN循环神经网络计算流程
3-利用RNN循环神经网络对MNIST手写数字识别
4-理解LSTM长短时记忆_记住Topo和公式
5-VanillaRNN的回顾复习
6-补充讲一下为什么RNN中链越长越容易梯度消失
7-LSTM的回顾复习_LSTM手写数字识别
8-双向RNN_LSTM
9-RNN里面应用的Topology结构
1-从AI写唐诗到Seq2Seq再到Encoder-Decoder
2-Seq2Seq版Chatbot的数据预处理
3-Seq2Seq版Chatbot训练和模型使用
GPT2闲聊机器人
1-BERT新浪新闻10分类项目

邮箱
huangbenjincv@163.com