mechine_learning/docs/ml.md
2025-02-05 14:54:37 +08:00

144 lines
7.9 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

深度学习与机器学习分类
1.监督学习:
分类:将输入数据分配到预定义的类别中,如图像分类,文本分类
回归:预测连续值,如房价预测,股票价格预测.
2.无监督学习:
聚类:将数据分组,如客户细分,图像分割.
降维:减少数据维度,如PCA,t-SNE
3.半监督学习:结合少量标注数据和大量未标注数据进行训练.
4.强化学习:通过与环境交互学习策略,如游戏AI,机器人控制.
5.生成模型:
生成对抗网络(GANS):生成逼真数据,如图像生成,视频生成.
扩散模型:同上
自编码器:学习数据表示,用于数据压缩,去噪.
机器学习主要算法
1.监督学习算法
1.线性回归:用于回归任务,通过线性方程预测连续值.
2.逻辑回归:用于分类任务,通过逻辑函数预测类别概率
3.支持向量机(SVM):用于分类和回归,通过找到最优超平面分离数据.
4.决策树:用于分类和回归,通过树结构进行决策.
5.随机森林:集成学习方法,通过多个决策树提高性能.
6.K近邻(KNN):基于距离度量,通过最近邻样本进行预测.
7.朴素贝叶斯:基于贝叶斯定理,适用于文本分类等任务.
8.AdaBoost:集成学习算法,通过加权多个若分类器提高性能.
9.梯度提升树(GBM):通过逐步优化残差进行预测.
10.XGBoost:GBM的高效实现.
11.LightGBM:另一种高效的GBM实现,适用于大规模数据.
2.无监督学习
1.K均值聚类
2.层次聚类:
3.主成分分析(PCA):用于降维,通过线性变换保留主要特征
4.t-SNE:用于高维数据可视化,保留局部结构.
5.自组织映射(SOM):通过神经网络进行数据降维和可视化.
6.高斯混合模型(GMM):通过多个高斯分布拟合数据.
机器学习算法具体介绍
1.线性回归: 用于建模输入变量(自变量)与输出变量(因变量)之间线性关系的统计方法.
原理:
y=β0+β1x1+β2x2+⋯+βnxn
ϵ误差项,表示模型未能解释的部分
目标: 最小化误差项的平方和(最小二乘法)来估计系数
L(β)=i=1∑m(yi(β0+β1xi1+β2xi2+⋯+βnxin))2
适用场景:
1.连续值预测:
房价预测
股票价格预测
销售额预测:根据广告投入,市场条件等预测销售额.
2.因果关系分析:
经济学:分析政策变化对经济指标的影响.
医学:研究药物剂量对治疗效果的影响.
3.简单建模:
初步分析:在复杂模型之前,使用线性回归进行初步数据分析.
解释性模型:模型回归模型易于解释,适合需要透明度的场景
优缺点:
优点:
简单易懂:模型结构简单,易于理解和实现。
计算高效:训练和预测速度快,适用于大规模数据。
解释性强:系数直接反映自变量对因变量的影响。
缺点:
线性假设:假设自变量和因变量之间存在线性关系,可能不适用于非线性数据。
对异常值敏感:异常值可能对模型产生较大影响。
多重共线性:自变量之间高度相关时,模型表现可能不佳。
逻辑回归:基于线性回归,引入sigmoid函数来将线性回归的连续值映射到01之间.
原理:
同逻辑回归,最后采用sigmoid函数将连续值映射到01之间,根据设定的阈值来划分正负样本,或者使用预测的值作为其发生概率.
目标:
最大化似然函数(最小化对数损失函数)
也就是真的真,假的假.
适用场景:
二分类问题:
垃圾邮件检测:判断邮件是否为垃圾邮件。
疾病诊断:判断患者是否患有某种疾病。
信用评分:判断客户是否会违约。
多分类问题(通过扩展):
手写数字识别识别手写数字0-9
图像分类:将图像分类到多个类别中。
概率预测:
客户流失预测:预测客户流失的概率。
点击率预测:预测广告点击的概率。
解释性模型:
特征重要性分析:通过系数大小判断特征对结果的影响。
因果关系分析:分析自变量对因变量的影响。
优缺点:
优点
简单易懂:模型结构简单,易于理解和实现。
计算高效:训练和预测速度快,适用于大规模数据。
解释性强:系数直接反映自变量对因变量的影响。
概率输出:提供概率估计,便于后续决策。
缺点
线性决策边界:假设自变量和因变量之间存在线性关系,可能不适用于非线性数据。
对异常值敏感:异常值可能对模型产生较大影响。
多重共线性:自变量之间高度相关时,模型表现可能不佳。
支持向量机(SVM):找到一个最优超平面来分离不同类别的数据点,并最大化类别之间的边界
基本概念:
1.超平面:
在二维空间中超平面是一条直线在三维空间中超平面是一个平面在高维空间中超平面是一个n-1维的子空间。
超平面的方程可以表示为wx+b=0
2.间隔:
间隔是超平面到最近数据点的距离。SVM的目标是最大化这个间隔。
支持向量是距离超平面最近的那些数据点,它们决定了超平面的位置。
3.硬间隔与软间隔
硬间隔:要求所有数据点都被正确分类,且间隔最大化。适用于线性可分的数据。
软间隔:允许一些数据点被错误分类,以提高模型的泛化能力。适用于线性不可分的数据。
4.核函数
用于将数据映射到高维空间,使得在高维空间中数据变得线性可分。
常见的核函数包括:
线性核K(xi,xj)=xi⋅xjK(xi,xj)=xi⋅xj
多项式核K(xi,xj)=(γxi⋅xj+r)dK(xi,xj)=(γxi⋅xj+r)d
径向基函数RBFK(xi,xj)=exp(γ∥xixj∥2)K(xi,xj)=exp(γ∥xixj∥2)
Sigmoid核K(xi,xj)=tanh(γxi⋅xj+r)K(xi,xj)=tanh(γxi⋅xj+r)
5.目标函数:
SVM的目标是最大化间隔同时最小化分类误差。这可以通过以下优化问题来表示
约束条件:
适用场景:
高维空间:
文本分类:如垃圾邮件检测、情感分析。
图像分类:如手写数字识别、人脸识别。
非线性分类:
生物信息学:如基因表达数据分析。
金融:如信用评分、股票市场预测。
小样本数据:
医学诊断:如疾病预测、药物反应分析。
工业应用:如故障检测、质量控制。
多分类问题:
手写数字识别识别0-9的手写数字。
图像分类:将图像分类到多个类别中。
优缺点:
优点:
有效处理高维数据:在高维空间中表现良好。
泛化能力强:通过最大化间隔,提高模型的泛化能力。
灵活性强:通过使用不同的核函数,可以处理线性和非线性问题。
缺点:
计算复杂度高:对于大规模数据集,训练时间较长。
参数选择敏感:核函数和参数的选择对模型性能影响较大。
解释性差相比线性模型SVM的解释性较差。