Skip to content

hekrxe/ml

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

source: https://www.bilibili.com/video/BV1dKfyBAENQ

机器学习就是喂给计算机一堆数据,让计算机自己学习,然后根据学习到的知识(模型、函数权重参数)对新的数据进行预测.

知识体系

基本概念

  1. 人工智能
  2. 核心方法: 符号、机器、深度学习
  3. 学习方式: 监督学习、无监督学习、半监督学习、强化学习

核心知识

机器学习

  1. 回归: 线性回归、非线性回归
  2. 分类: KNN、决策树、逻辑回归、多项式回归
  3. 聚类: K-means、mean shift
  4. 其它技术: 异常检测、PCA

深度学习

  1. 多层感知器MLP
  2. 卷积神经网络CNN, MLP+Cov
  3. 循环神经网络RNN, MLP+Recycle
  4. 深度学习框架Keras

能力提升

  1. 监督+无监督的混合算法
  2. 迁移学习

问题解决流程

  1. 数据加载及展示
  2. 数据预处理
  3. 模型选择与训练
  4. 模型预测与解释
  5. 模型评估与优化

线性回归

  1. 定义: 用于预测连续数值的监督学习算法
  2. 公式:

$$ y = w_0 + w_1 x_1 + w_2 x_2 + \cdots + w_n x_n $$

  1. 损失函数: 均方误差MSE

$$ MSE = \frac{1}{n} \sum_{i=1}^{n} (y_i - \hat{y}_i)^2 $$

  1. 搜索方法: 梯度下降

$$ w = w - \alpha \frac{\partial MSE}{\partial w} $$

$\alpha$ 是学习率, 用于控制每次更新的步长

逻辑回归

  1. 定义: 用于预测二分类问题的监督学习算法
  2. 公式: sigmoid函数

$$ p = \frac{1}{1 + e^{-z}} $$

  1. 损失函数: 交叉熵损失

$$ L = - \sum_{i=1}^{n} [y_i \log(p_i) + (1 - y_i) \log(1 - p_i)] $$

  1. 搜索方法: 梯度下降

$$ w = w - \alpha \frac{\partial L}{\partial w} $$

  1. 单个样本的分段形式, 最小化损失函数:

$$ L_i = \begin{cases} -\log(P(x_i)), & \text{if } y_i = 1 \\ -\log(1 - P(x_i)), & \text{if } y_i = 0 \end{cases} $$

聚类

  1. 定义: 无监督学习算法, 用于将数据集中的样本分组, 使得同一组内的样本相似度较高, 而不同组内的样本相似度较低
  2. kmeans、mean shift 聚类算法

决策树

  1. 定义: 用于分类和回归的监督学习算法, 它通过一系列的决策规则将数据分为不同的类别或预测连续数值

异常检测

  1. 定义: 无监督学习算法, 用于识别数据集中与正常样本显著不同的异常样本

数据降维

  1. 定义: 用于减少数据维度的技术, 它可以帮助我们可视化高维数据, 同时保留数据的重要特征. 主要目标: 寻找k(k < n)维新数据,使得新数据能反映事物的主要特征.

  2. PCA主成分分析

$$ X_{new} = X W $$

其中, $X$ 是原始数据矩阵, $W$ 是主成分矩阵, $X_{new}$ 是降维后的数据矩阵

高斯概率密度函数

  1. 定义: 连续的概率分布函数(PDF,正态分布), 用于描述随机变量服从高斯分布的情况
  2. 公式:

$$ f(x) = \frac{1}{\sqrt{2\pi\sigma^2}} e^{-\frac{(x-\mu)^2}{2\sigma^2}} $$

其中, $\mu$ 是均值, $\sigma^2$ 是方差

模型评价与优化

数据质量决定模型表现的上限!

  1. 数据属性的意义, 是否为无关数据
  2. 不同属性数据的数量级差异
  3. 是否有异常数据
  4. 采集到的数据是否有代表性
  5. 统一标注标准

欠拟合、过拟合问题

  1. 欠拟合: 模型简单, 无法捕捉数据的复杂模式
  2. 过拟合: 模型复杂, 记忆了训练数据的噪声, 导致在新数据上表现不佳

MLP

  1. 定义: 多层感知器MLP, 它由多个神经元层组成, 每个神经元层都与下一层神经元层全连接
  2. 公式:

$$ y = f(Wx + b) $$

其中, $x$ 是输入向量, $W$ 是权重矩阵, $b$ 是偏置向量, $f$ 是激活函数, $y$ 是输出向量

CNN

  1. 定义: 卷积神经网络CNN, 它由多个卷积层和池化层组成, 用于处理图像数据
  2. 公式:

$$ y = f(Wx + b) $$

其中, $x$ 是输入图像, $W$ 是卷积核矩阵, $b$ 是偏置向量, $f$ 是激活函数, $y$ 是输出特征图

先提取出图像中的关键信息(轮廓、特征点等), 再建立mlp模型进行训练. 经典的CNN模型有LeNet-5、AlexNet、VGG16等

RNN

  1. 定义: 循环神经网络RNN, 它由多个循环层和输出层组成, 用于处理序列数据
  2. 公式:

$$ y_t = f(Wx_t + Uh_{t-1} + b) $$

其中, $x_t$ 是输入向量, $U$ 是循环权重矩阵, $h_{t-1}$ 是上一时刻的隐藏状态, $b$ 是偏置向量, $f$ 是激活函数, $y_t$ 是输出向量

LSTM

  1. 定义: 长短期记忆网络LSTM, 它由多个LSTM单元组成, 用于处理序列数据
  2. 公式:

$$ y_t = f(Wx_t + Uh_{t-1} + b) $$

其中, $x_t$ 是输入向量, $U$ 是循环权重矩阵, $h_{t-1}$ 是上一时刻的隐藏状态, $b$ 是偏置向量, $f$ 是激活函数, $y_t$ 是输出向量

迁移学习

定义: 它利用在一个任务上学到的知识, 来解决另一个相关任务. 主要目标: 减少新任务的训练数据量, 同时提高模型的泛化能力. 例如:

  1. 从图像分类任务中学到的特征, 可以用于物体检测任务
  2. 从语音识别任务中学到的特征, 可以用于语音合成任务

强化学习

定义: 它通过与环境的交互, 学习如何在给定状态下采取最优动作, 以最大化累积奖励. 主要目标: 找到一个策略, 使得智能体在环境中获得最大的奖励. 例如:

  1. 游戏中的智能体, 学习如何玩游戏, 以最大化得分
  2. 机器人中的智能体, 学习如何在环境中移动, 以完成任务

About

learning

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages