🐒机器学习算法

type
status
date
slug
summary
tags
category
icon
password
😀
1.线性回归 (Linear Regression)
2.逻辑回归 (Logistic Regression)
3.决策树 (Decision Tree)
4.支持向量机(SVM)
5.朴素贝叶斯 (Naive Bayes)
6.K邻近算法(KNN)
7.K-均值算法(K-means)
8.随机森林 (Random Forest)
9.降低维度算法(Dimensionality Reduction Algorithms)
10.Gradient Boost和Adaboost算法
  1. PCA 主成分分析
  1. 神经网络(Neural Networks)
  1. 随机梯度下降(Stochastic Gradient Descent,SGD)

📝 线性回归

线性回归主要有两种:一元线性回归和多元线性回归。一元线性回归只有一个自变量,而多元线性回归有多个自变量。拟合多元线性回归的时候,可以利用多项式回归(Polynomial Regression)或曲线回归 (Curvilinear Regression)
 
😀
因变量如果是连续的,就是多重线性回归;如果是二项分布,就是Logistic回归。 Sigmoid函数,可将取值范围为(-∞,+∞)的数转换到(0,1)之间

📝 逻辑回归

  1. 分类问题,要用上线性回归,那就将分类变成连续数,即使用对数概率(log odds)
  1. 将线性关系从实数范围映射到(0,1)之间的概率范围
  1. 优点:速度快,适合二分类问题;简单、易于理解,可以直接看到各个特征的权重;能容易地更新模型吸收新的数据。
    1. 缺点:对数据和场景的适应能力有局限性,不如决策树算法适应性强
  1. 示例
    1. 代码
      6. 以下是一些可以尝试优化逻辑回归模型的方法:
      1. 加入交互项(interaction):在模型中引入特征变量之间的相互作用效应。通过考虑特征之间的交互作用,可以更好地捕捉到不同特征对目标变量的影响。
      1. 减少特征变量:如果模型中存在许多不相关或冗余的特征变量,可以考虑减少特征维度。这可以通过特征选择(feature selection)或特征提取(feature extraction)等方法来实现,以便于模型更集中地关注最相关的特征。
      1. 正则化(regularization):通过在损失函数中引入正则化项,可以惩罚模型的复杂性,防止过拟合。常用的正则化方法包括L1正则化和L2正则化。正则化可以有效地控制模型的复杂度,并提高其在未见过数据上的泛化能力。
      1. 使用非线性模型:逻辑回归是一种线性分类器,它假设特征与目标变量之间存在线性关系。如果数据中存在非线性关系,可以考虑使用其他非线性模型,如支持向量机(Support Vector Machines)、决策树(Decision Trees)或人工神经网络(Artificial Neural Networks)等。
      这些方法可以结合使用,根据具体问题和数据的特点选择适合的优化方法。在实际应用中,还可以通过交叉验证(cross-validation)等技术评估不同优化方法的性能,以找到最佳的模型配置。
      需要注意的是,在应用优化方法时,要避免过度拟合训练数据,同时也要确保模型的可解释性和可解释性
       

      📝 决策树

      1. 信息熵:
        1. 公式
          1. notion image
        2. 表示结果出来前,他是不是喜欢打篮球的确定性的大小
        3. 如果信息熵较高,表示数据中的样本在类别上更加均衡,无法从特征中得到明显的规律,即纯度较低
        4. 相反,如果信息熵较低,表示数据中的样本在类别上倾向于某一类,即纯度较高
          1. notion image
      1. 信息增益是一个统计量,用来描述一个属性区分数据样本的能力。信息增益越大,那么决策树就会越简洁。这里信息增益的程度用信息熵的变化程度来衡量。
        1. notion image

      📝 支持向量机(SVM)

      1. 它的目标是找到一个最佳的分割线(或者说超平面),能够将不同类别的数据点分开
      1. 这些最靠近分割线的数据点被称为支持向量。
      1. 我们要找到的最佳分割线是使得两个类别之间的间隔最大化的线
      1. 一条直线分割成两个部分,并且没有任何交叉的情况,我们称数据是线性可分的
      1. 有时候数据是混在一起无法被一条直线分割开的,我们称数据是线性不可分的

      📝 朴素贝叶斯 (Naive Bayes)

      📝 K邻近算法(KNN)

      📝 K-均值算法(K-means)

      📝 随机森林 (Random Forest)

      📝 降低维度算法(Dimensionality Reduction Algorithms)

      📝 Gradient Boost和Adaboost算法

      📝 模型评估:score

      1. 依据:测试集
      1. 留出法:
        1. 直接将数据集D划分为两个互斥的集合——一个作为训练集S,另一个作为测试集T
          一般要采用若干次随机划分,重复进行试验评估后取均值作为留出法的评估结果
          一般情况下将2/3到4/5的样本用于训练,其余的用于测试。
      1. 交叉验证法:
        1. 数据集D分为k个大小相似的互斥子集
        2. 每个子集尽可能地保持数据分布的一致性,从D中分层采样获得
        3. 使用k-1个子集的并集作为训练集,剩下的作为测试集,进行k次
        4. 结果的稳定性和保真性与k密切相关。k最常取值为10
        5. k折交叉验证通常随即使用不同的划分重复p次,最终评估结果取均值。即最终进行了p*k次训练+测试。常见的有10次10折交叉验证
        6. (特例)留一法: k=m(数据集D的样例数),计算成本高
      1. 自助法 a. 随便抽,我们把D‘作为训练集,D-D’作为测试集。
        1. 优缺点 优点:
          1. 在数据集小,难以有效划分训练/测试集时效果很好 能从数据集D中产生多个不同的训练集 缺点:
            自助法产生的数据集改变了原数据集的分布,可能会引入估计偏差
      上一篇
      算法小tips
      下一篇
      深度学习算法
      Loading...
      文章列表
      一枚热爱技术与产品的产品经理
      基本信息
      薯塔AI
      产品修炼
      技术分享
      编码知识
      AI相关
      行业知识