🐒机器学习算法
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算法
- PCA 主成分分析
- 神经网络(Neural Networks)
- 随机梯度下降(Stochastic Gradient Descent,SGD)
📝 线性回归
线性回归主要有两种:一元线性回归和多元线性回归。一元线性回归只有一个自变量,而多元线性回归有多个自变量。拟合多元线性回归的时候,可以利用多项式回归(Polynomial Regression)或曲线回归 (Curvilinear Regression)
因变量如果是连续的,就是多重线性回归;如果是二项分布,就是Logistic回归。
Sigmoid函数,可将取值范围为(-∞,+∞)的数转换到(0,1)之间
📝 逻辑回归
- 分类问题,要用上线性回归,那就将分类变成连续数,即使用对数概率(log odds)
- 将线性关系从实数范围映射到(0,1)之间的概率范围
- 优点:速度快,适合二分类问题;简单、易于理解,可以直接看到各个特征的权重;能容易地更新模型吸收新的数据。
缺点:对数据和场景的适应能力有局限性,不如决策树算法适应性强
- 示例
- 代码
6. 以下是一些可以尝试优化逻辑回归模型的方法:
- 加入交互项(interaction):在模型中引入特征变量之间的相互作用效应。通过考虑特征之间的交互作用,可以更好地捕捉到不同特征对目标变量的影响。
- 减少特征变量:如果模型中存在许多不相关或冗余的特征变量,可以考虑减少特征维度。这可以通过特征选择(feature selection)或特征提取(feature extraction)等方法来实现,以便于模型更集中地关注最相关的特征。
- 正则化(regularization):通过在损失函数中引入正则化项,可以惩罚模型的复杂性,防止过拟合。常用的正则化方法包括L1正则化和L2正则化。正则化可以有效地控制模型的复杂度,并提高其在未见过数据上的泛化能力。
- 使用非线性模型:逻辑回归是一种线性分类器,它假设特征与目标变量之间存在线性关系。如果数据中存在非线性关系,可以考虑使用其他非线性模型,如支持向量机(Support Vector Machines)、决策树(Decision Trees)或人工神经网络(Artificial Neural Networks)等。
这些方法可以结合使用,根据具体问题和数据的特点选择适合的优化方法。在实际应用中,还可以通过交叉验证(cross-validation)等技术评估不同优化方法的性能,以找到最佳的模型配置。
需要注意的是,在应用优化方法时,要避免过度拟合训练数据,同时也要确保模型的可解释性和可解释性
📝 决策树
- 信息熵:
- 公式
- 表示结果出来前,他是不是喜欢打篮球的确定性的大小
- 如果信息熵较高,表示数据中的样本在类别上更加均衡,无法从特征中得到明显的规律,即纯度较低
- 相反,如果信息熵较低,表示数据中的样本在类别上倾向于某一类,即纯度较高
- 信息增益是一个统计量,用来描述一个属性区分数据样本的能力。信息增益越大,那么决策树就会越简洁。这里信息增益的程度用信息熵的变化程度来衡量。
📝 支持向量机(SVM)
- 它的目标是找到一个最佳的分割线(或者说超平面),能够将不同类别的数据点分开
- 这些最靠近分割线的数据点被称为支持向量。
- 我们要找到的最佳分割线是使得两个类别之间的间隔最大化的线
- 一条直线分割成两个部分,并且没有任何交叉的情况,我们称数据是线性可分的
- 有时候数据是混在一起无法被一条直线分割开的,我们称数据是线性不可分的
📝 朴素贝叶斯 (Naive Bayes)
📝 K邻近算法(KNN)
📝 K-均值算法(K-means)
📝 随机森林 (Random Forest)
📝 降低维度算法(Dimensionality Reduction Algorithms)
📝 Gradient Boost和Adaboost算法
📝 模型评估:score
- 依据:测试集
- 留出法:
直接将数据集D划分为两个互斥的集合——一个作为训练集S,另一个作为测试集T
一般要采用若干次随机划分,重复进行试验评估后取均值作为留出法的评估结果
一般情况下将2/3到4/5的样本用于训练,其余的用于测试。
- 交叉验证法:
- 数据集D分为k个大小相似的互斥子集
- 每个子集尽可能地保持数据分布的一致性,从D中分层采样获得
- 使用k-1个子集的并集作为训练集,剩下的作为测试集,进行k次
- 结果的稳定性和保真性与k密切相关。k最常取值为10
- k折交叉验证通常随即使用不同的划分重复p次,最终评估结果取均值。即最终进行了p*k次训练+测试。常见的有10次10折交叉验证
- (特例)留一法: k=m(数据集D的样例数),计算成本高
- 自助法 a. 随便抽,我们把D‘作为训练集,D-D’作为测试集。
- 优缺点 优点:
在数据集小,难以有效划分训练/测试集时效果很好
能从数据集D中产生多个不同的训练集
缺点:
自助法产生的数据集改变了原数据集的分布,可能会引入估计偏差
上一篇
算法小tips
下一篇
深度学习算法
Loading...