❤️解决非线性回归问题的机器学习方法总结:多项式线性模型、广义线性(GAM)模型、回归树模型、支持向量回归(SVR)模型
文章目录
- 前言
- 多项式回归模型
- 概念解释:
- sklearn实现多项式回归模型:
- 广义线性可加(GAM)模型
- 概念解释:
- pygam实现广义线性可加模型:
- GAM模型的优点与不足:
- 回归树模型
- 概念解释:
- 算法流程:
- sklearn实现回归树模型:
- 回归树与线性模型的比较:
- 支持向量回归(SVR)模型
- 概念解释:
- 算法流程:
- sklearn实现支持向量回归模型:
- KKT和对偶理论的补充知识:
前言
本文主要总结了解决非线性回归问题的机器学习方法,其中包括多项式线性模型、广义线性(GAM)模型、回归树模型、支持向量回归(SVR)模型,每个模型的方法都有其特点。
多项式线性模型和GAM模型侧重于经验风险误差最小化,容易过拟合;回归树模型和SVR模型侧重于结构风险最小化,对异常值数据更不敏感,回归树模型可通过剪枝和压缩的方式去降低过拟合的风险,SVR模型具有较好的区间内鲁棒能力。
多项式回归模型
概念解释:
为了体现因变量和特征的非线性关系,一个很自然而然的想法就是将标准的线性回归模型:
yi=w0+w1xi+ϵiy_i = w_0 + w_1x_i + \epsilon_i yi=w0+w1xi+ϵi
换成一个多项式函数:
yi=w0+w1xi+w2xi2+...+wdxid+ϵy_i = w_0 + w_1x_i + w_2x_i^2 + ...+w_dx_i^d + \epsilon yi=w0+w1xi+w2xi2+...+wdxid+ϵ对于多项式的阶数d不能取过大,一般不大于3或者4,因为d越大,多项式曲线就会越光滑,在X的边界处有异常的波动。
sklearn实现多项式回归模型:
sklearn.preprocessing.PolynomialFeatures(): 创建多项式回归模型。
- 参数:
degree:特征转换的阶数。
interaction_onlyboolean:是否只包含交互项,默认False 。
include_bias:是否包含截距项,默认True。
order:str in {‘C’, ‘F’}, default ‘C’,输出数组的顺序。
from sklearn.preprocessing import PolynomialFeatures
X_arr = np.arange(6).reshape(3, 2)
print("原始X为:\n",X_arr)poly = PolynomialFeatures(2)
print("2次转化X:\n",poly.fit_transform(X_arr))poly = PolynomialFeatures(interaction_only=True)
print("2次转化X:\n",poly.fit_transform(X_arr))
广义线性可加(GAM)模型
概念解释:
- 广义可加模型GAM实际上是线性模型推广至非线性模型的一个框架,在这个框架中,每一个变量都用一个非线性函数来代替,但是模型本身保持整体可加性。GAM模型不仅仅可以用在线性回归的推广,还可以将线性分类模型进行推广。具体的推广形式是:
标准的线性回归模型:
yi=w0+w1xi1+...+wpxip+ϵiy_i = w_0 + w_1x_{i1} +...+w_px_{ip} + \epsilon_i yi=w0+w1xi1+...+wpxip+ϵi
GAM模型框架:
yi=w0+∑j=1pfj(xij)+ϵiy_i = w_0 + \sum\limits_{j=1}^{p}f_{j}(x_{ij}) + \epsilon_i yi=w0+j=1∑pfj(xij)+ϵi
pygam实现广义线性可加模型:
pygam.LinearGAM():创建广义线性可加模型。
参数:
terms:表达式指定要建模的术语,可选。
max_iter:允许求解器收敛的最大迭代次数。
tol:停止标准的容忍误差。
from pygam import LinearGAM
model = LinearGAM()
gam = model.fit(x, y)
print(model.summary())
print(gam.accuracy(X, y))
GAM模型的优点与不足:
优点:简单容易操作,能够很自然地推广线性回归模型至非线性模型,使得模型的预测精度有所上升;由于模型本身是可加的,因此GAM还是能像线性回归模型一样把其他因素控制不变的情况下单独对某个变量进行推断,极大地保留了线性回归的易于推断的性质。
缺点:GAM模型会经常忽略一些有意义的交互作用,比如某两个特征共同影响因变量,不过GAM还是能像线性回归一样加入交互项x(i)×x(j)x^{(i)} \times x^{(j)}x(i)×x(j)的形式进行建模;但是GAM模型本质上还是一个可加模型,如果我们能摆脱可加性模型形式,可能还会提升模型预测精度,详情请看后面的算法。
回归树模型
概念解释:
依据分层和分割的方式将特征空间划分为一系列简单的区域。
用所属区域中训练集的平均数或者众数对其进行预测。
决策树由结点(node)和有向边(directed edge)组成,结点有两种类型:内部结点(internal node)和叶结点(leaf node),内部结点(红框)表示一个特征或属性,叶结点(蓝框)表示一个类别或者某个值。
算法流程:
1.将自变量的特征空间(即x(1),x(2),x(3),...,x(p)x^{(1)},x^{(2)},x^{(3)},...,x^{(p)}x(1),x(2),x(3),...,x(p))的可能取值构成的集合分割成J个互不重叠的区域R1,R2,...,RjR_1,R_2,...,R_jR1,R2,...,Rj。
2.对落入区域RjR_jRj的每个观测值作相同的预测,预测值等于RjR_jRj上训练集的因变量的简单算术平均:
a. 选择最优切分特征j以及该特征上的最优点s:
遍历特征j以及固定j后遍历切分点s,选择使得下式最小的(j,s) minj,s[minc1∑xi∈R1(j,s)(yi−c1)2+minc2∑xi∈R2(j,s)(yi−c2)2]min_{j,s}[min_{c_1}\sum\limits_{x_i\in R_1(j,s)}(y_i-c_1)^2 + min_{c_2}\sum\limits_{x_i\in R_2(j,s)}(y_i-c_2)^2 ]minj,s[minc1xi∈R1(j,s)∑(yi−c1)2+minc2xi∈R2(j,s)∑(yi−c2)2]
b. 按照(j,s)分裂特征空间:R1(j,s)={x∣xj≤s}和R2(j,s)={x∣xj>s},c^m=1Nm∑x∈Rm(j,s)yi,m=1,2R_1(j,s) = \{x|x^{j} \le s \}和R_2(j,s) = \{x|x^{j} > s \},\hat{c}_m = \frac{1}{N_m}\sum\limits_{x \in R_m(j,s)}y_i,\;m=1,2R1(j,s)={x∣xj≤s}和R2(j,s)={x∣xj>s},c^m=Nm1x∈Rm(j,s)∑yi,m=1,2
c. 继续调用步骤1,2直到满足停止条件,就是每个区域的样本数小于等于阈值个数。
d. 将特征空间划分为j个不同的区域,生成回归树:f(x)=∑m=1Jc^mI(x∈Rm)f(x) = \sum\limits_{m=1}^{J}\hat{c}_mI(x \in R_m)f(x)=m=1∑Jc^mI(x∈Rm)
sklearn实现回归树模型:
sklearn.tree.DecisionTreeRegressor(): 创建回归树模型。
参数说明:
criterion:{“ mse”,“ friedman_mse”,“ mae”},默认=“ mse”。衡量分割标准的函数 。
splitter:{“best”, “random”}, default=”best”。分割方式。
max_depth:树的最大深度。
min_samples_split:拆分内部节点所需的最少样本数,默认是2。
min_samples_leaf:在叶节点处需要的最小样本数。默认是1。
min_weight_fraction_leaf:在所有叶节点处(所有输入样本)的权重总和中的最小加权分数。如果未提供sample_weight,则样本的权重相等。默认是0。
from sklearn.tree import DecisionTreeRegressor
reg_tree = DecisionTreeRegressor(criterion = "mse",min_samples_leaf = 5)
reg_tree.fit(X,y)
reg_tree.score(X,y)
回归树与线性模型的比较:
线性模型的模型形式与树模型的模型形式有着本质的区别,具体而言,线性回归对模型形式做了如下假定:f(x)=w0+∑j=1pwjx(j)f(x) = w_0 + \sum\limits_{j=1}^{p}w_jx^{(j)}f(x)=w0+j=1∑pwjx(j),而回归树则是f(x)=∑m=1Jc^mI(x∈Rm)f(x) = \sum\limits_{m=1}^{J}\hat{c}_mI(x \in R_m)f(x)=m=1∑Jc^mI(x∈Rm)。那问题来了,哪种模型更优呢?
- 这个要视具体情况而言,如果特征变量与因变量的关系能很好的用线性关系来表达,那么线性回归通常有着不错的预测效果,拟合效果则优于不能揭示线性结构的回归树。反之,如果特征变量与因变量的关系呈现高度复杂的非线性,那么树方法比传统方法更优。
树模型的优缺点:
- 树模型的解释性强,在解释性方面可能比线性回归还要方便。
- 树模型更接近人的决策方式。
- 树模型可以用图来表示,非专业人士也可以轻松解读。
- 树模型可以直接做定性的特征而不需要像线性回归一样哑元化。
- 树模型能很好处理缺失值和异常值,对异常值不敏感,但是这个对线性模型来说却是致命的。
- 树模型的预测准确性一般无法达到其他回归模型的水平,但是改进的方法很多。
支持向量回归(SVR)模型
概念解释:
支持向量回归(SVR)是采用一个以f(x) =wTx+b为中心,宽度为2ε的间隔带,来拟合训练样本。
落在带子上的样本不计算损失(类比线性回归在线上的点预测误差为0),不在带子上的则以偏离带子的距离作为损失(类比线性回归的均方误差) ,然后以最小化损失的方式迫使间隔带从样本最密集的地方(中心地带)穿过,进而达到拟合训练样本的目的。
算法流程:
minw,b,ξi,ξ^i12∣∣w∣∣2+C∑i=1N(ξi,ξ^i)s.t.f(xi)−yi≤ϵ+ξiyi−f(xi)≤ϵ+ξ^iξi,ξ^i≤0,i=1,2,...,Nmin_{w,b,\xi_i,\hat{\xi}_i} \frac{1}{2}||w||^2 +C \sum\limits_{i=1}^{N}(\xi_i,\hat{\xi}_i)\\ s.t.\;\;\; f(x_i) - y_i \le \epsilon + \xi_i\\ \;\;\;\;\;y_i - f(x_i) \le \epsilon +\hat{\xi}_i\\ \;\;\;\;\; \xi_i,\hat{\xi}_i \le 0,i = 1,2,...,N minw,b,ξi,ξ^i21∣∣w∣∣2+Ci=1∑N(ξi,ξ^i)s.t.f(xi)−yi≤ϵ+ξiyi−f(xi)≤ϵ+ξ^iξi,ξ^i≤0,i=1,2,...,N
引入拉格朗日函数:
L(w,b,α,α^,ξ,ξ,μ,μ^)=12∥w∥2+C∑i=1N(ξi+ξ^i)−∑i=1Nξiμi−∑i=1Nξ^iμ^i+∑i=1Nαi(f(xi)−yi−ϵ−ξi)+∑i=1Nα^i(yi−f(xi)−ϵ−ξ^i)\begin{array}{l} L(w, b, \alpha, \hat{\alpha}, \xi, \xi, \mu, \hat{\mu}) \\ \quad=\frac{1}{2}\|w\|^{2}+C \sum_{i=1}^{N}\left(\xi_{i}+\widehat{\xi}_{i}\right)-\sum_{i=1}^{N} \xi_{i} \mu_{i}-\sum_{i=1}^{N} \widehat{\xi}_{i} \widehat{\mu}_{i} \\ \quad+\sum_{i=1}^{N} \alpha_{i}\left(f\left(x_{i}\right)-y_{i}-\epsilon-\xi_{i}\right)+\sum_{i=1}^{N} \widehat{\alpha}_{i}\left(y_{i}-f\left(x_{i}\right)-\epsilon-\widehat{\xi}_{i}\right) \end{array} L(w,b,α,α^,ξ,ξ,μ,μ^)=21∥w∥2+C∑i=1N(ξi+ξi)−∑i=1Nξiμi−∑i=1Nξiμi+∑i=1Nαi(f(xi)−yi−ϵ−ξi)+∑i=1Nαi(yi−f(xi)−ϵ−ξi)
再令L(w,b,α,α^,ξ,ξ,μ,μ^)L(w, b, \alpha, \hat{\alpha}, \xi, \xi, \mu, \hat{\mu})L(w,b,α,α^,ξ,ξ,μ,μ^)对w,b,ξ,ξ^w,b,\xi,\hat{\xi}w,b,ξ,ξ^求偏导等于0,得: w=∑i=1N(α^i−αi)xiw=\sum_{i=1}^{N}\left(\widehat{\alpha}_{i}-\alpha_{i}\right) x_{i}w=∑i=1N(αi−αi)xi。
上述过程中需满足KKT条件,即要求:
{αi(f(xi)−yi−ϵ−ξi)=0αi^(yi−f(xi)−ϵ−ξ^i)=0αiα^i=0,ξiξ^i=0(C−αi)ξi=0,(C−α^i)ξ^i=0\left\{\begin{array}{c} \alpha_{i}\left(f\left(x_{i}\right)-y_{i}-\epsilon-\xi_{i}\right)=0 \\ \hat{\alpha_{i}}\left(y_{i}-f\left(x_{i}\right)-\epsilon-\hat{\xi}_{i}\right)=0 \\ \alpha_{i} \widehat{\alpha}_{i}=0, \xi_{i} \hat{\xi}_{i}=0 \\ \left(C-\alpha_{i}\right) \xi_{i}=0,\left(C-\widehat{\alpha}_{i}\right) \hat{\xi}_{i}=0 \end{array}\right. ⎩⎪⎪⎪⎨⎪⎪⎪⎧αi(f(xi)−yi−ϵ−ξi)=0αi^(yi−f(xi)−ϵ−ξ^i)=0αiαi=0,ξiξ^i=0(C−αi)ξi=0,(C−αi)ξ^i=0
SVR的解形如:f(x)=∑i=1N(α^i−αi)xiTx+bf(x)=\sum_{i=1}^{N}\left(\widehat{\alpha}_{i}-\alpha_{i}\right) x_{i}^{T} x+bf(x)=∑i=1N(αi−αi)xiTx+b
sklearn实现支持向量回归模型:
sklearn.svm.SVR():创建支持向量回归模型。
- 参数:
kernel:核函数,{‘linear’, ‘poly’, ‘rbf’, ‘sigmoid’, ‘precomputed’}, 默认=’rbf’。(后面会详细介绍)
degree:多项式核函数的阶数,默认 = 3。
C:正则化参数,默认=1.0。(后面会详细介绍)
epsilon:SVR模型允许的不计算误差的邻域大小,默认0.1。
from sklearn.svm import SVR
from sklearn.preprocessing import StandardScaler # 标准化数据
from sklearn.pipeline import make_pipeline # 使用管道,把预处理和模型形成一个流程reg_svr = make_pipeline(StandardScaler(), SVR(C=1.0, epsilon=0.2))
reg_svr.fit(X, y)
reg_svr.score(X,y)
KKT和对偶理论的补充知识:
约束优化问题§:
minf(x)s.t.gi(x)≤0,i=1,2,...,mhj(x)=0,j=1,2,...,lmin f(x) \\ s.t.\;\;\;g_i(x) \le 0,\; i=1,2,...,m\\ \;\;\;\;\; h_j(x) = 0,\; j=1,2,...,l minf(x)s.t.gi(x)≤0,i=1,2,...,mhj(x)=0,j=1,2,...,l
我们假设x∗x^*x∗为满足以上条件的局部最优解,p∗=f(x∗)p^* = f(x^*)p∗=f(x∗),我们的目的就是要找到x∗x^*x∗与p∗p^*p∗,满足不等式和等式约束的x集合成为可行域,记作S。KKT条件(最优解的一阶必要条件):
举个例子,我们考虑:(x∗x^*x∗为我们的最优解)
minf(x)s.t.g1(x)≤0,x∈Rng2(x)≤0g3(x)≤0minf(x)\\ s.t.\;g_1(x) \le 0,\;x \in R^n\\ \;\;\;g_2(x) \le 0\\ \;\;\;g_3(x) \le 0 minf(x)s.t.g1(x)≤0,x∈Rng2(x)≤0g3(x)≤0
我们可以看到:−∇f(x∗)-\nabla f(x^*)−∇f(x∗)可以由∇g1(x∗)\nabla g_1(x^*)∇g1(x∗)与∇g2(x∗)\nabla g_2(x^*)∇g2(x∗)线性表出,因此有:−∇f(x∗)=λ1∇g1(x∗)+λ2∇g2(x∗)-\nabla f(x^*) = \lambda_1 \nabla g_1(x^*) + \lambda_2 \nabla g_2(x^*)−∇f(x∗)=λ1∇g1(x∗)+λ2∇g2(x∗),其中λ1,λ2≥0\lambda_1,\lambda_2 \ge 0λ1,λ2≥0,即:
∇f(x∗)+λ1∇g1(x∗)+λ2∇g2(x∗)=0,其中λ1,λ2≥0\nabla f(x^*) + \lambda_1 \nabla g_1(x^*) + \lambda_2 \nabla g_2(x^*) = 0,\;\;\;其中\lambda_1,\lambda_2 \ge 0 ∇f(x∗)+λ1∇g1(x∗)+λ2∇g2(x∗)=0,其中λ1,λ2≥0
我们把没有起作用的约束g3(x)g_3(x)g3(x)也放到式子里面去,目的也就是为了书写方便,即要求:
∇f(x∗)+λ1∇g1(x∗)+λ2∇g2(x∗)+λ3∇g3(x∗)=0,其中λ1,λ2≥0,λ3=0\nabla f(x^*) + \lambda_1 \nabla g_1(x^*) + \lambda_2 \nabla g_2(x^*) + \lambda_3 \nabla g_3(x^*)= 0,\;\;\;其中\lambda_1,\lambda_2 \ge 0,\lambda_3 = 0 ∇f(x∗)+λ1∇g1(x∗)+λ2∇g2(x∗)+λ3∇g3(x∗)=0,其中λ1,λ2≥0,λ3=0
由于点x∗x^*x∗位于方程g1(x)=0g_1(x)=0g1(x)=0与g2(x)=0g_2(x)=0g2(x)=0上,因此:λ1g1(x∗)=0,λ2g2(x∗)=0,λ3g3(x∗)=0\lambda_1 g_1(x^*)= 0,\lambda_2 g_2(x^*) = 0 , \lambda_3 g_3(x^*)= 0λ1g1(x∗)=0,λ2g2(x∗)=0,λ3g3(x∗)=0因此,KKT条件就是:假设x∗x^*x∗为最优化问题§的局部最优解,且x∗x^*x∗ 在某个适当的条件下,有:
∇f(x∗)+∑i=1mλi∇g(x∗)+∑j=1lμj∇hj(x∗)=0(对偶条件)λi≥0,i=1,2,...,m(对偶条件)gi(x∗)≤0(原问题条件)hj(x∗)=0(原问题条件)λig(x∗)=0(互补松弛定理)\nabla f(x^*) + \sum\limits_{i=1}^{m}\lambda_i \nabla g(x^*) + \sum\limits_{j=1}^{l}\mu_j \nabla h_j(x^*) = 0(对偶条件)\\ \lambda_i \ge 0,\;i = 1,2,...,m(对偶条件)\\ g_i(x^*) \le 0(原问题条件)\\ h_j(x^*) = 0(原问题条件)\\ \lambda_i g(x^*) = 0(互补松弛定理) ∇f(x∗)+i=1∑mλi∇g(x∗)+j=1∑lμj∇hj(x∗)=0(对偶条件)λi≥0,i=1,2,...,m(对偶条件)gi(x∗)≤0(原问题条件)hj(x∗)=0(原问题条件)λig(x∗)=0(互补松弛定理)
- 对偶理论:
为什么要引入对偶问题呢?是因为原问题与对偶问题就像是一个问题两个角度去看,如利润最大与成本最低等。有时侯原问题上难以解决,但是在对偶问题上就会变得很简单。再者,任何一个原问题在变成对偶问题后都会变成一个凸优化的问题,这点我们后面会有介绍。下面我们来引入对偶问题:
首先,我们的原问题§是:
minf(x)s.t.gi(x)≤0,i=1,2,...,mhj(x)=0,j=1,2,...,lmin f(x) \\ s.t.\;\;\;g_i(x) \le 0,\; i=1,2,...,m\\ \;\;\;\;\; h_j(x) = 0,\; j=1,2,...,l minf(x)s.t.gi(x)≤0,i=1,2,...,mhj(x)=0,j=1,2,...,l
引入拉格朗日函数:L(x,λ,μ)=f(x)+∑i=1mλigi(x)+∑j=1lμjhj(x)L(x,\lambda,\mu) = f(x) + \sum\limits_{i=1}^{m}\lambda_i g_i(x) + \sum\limits_{j=1}^{l}\mu_j h_j(x)L(x,λ,μ)=f(x)+i=1∑mλigi(x)+j=1∑lμjhj(x)
拉格朗日对偶函数:
d(λ,μ)=minx∈X{f(x)+∑i=1mλigi(x)+∑j=1lμjhj(x)},其中X为满足条件的x变量≤minx∈S{f(x)+∑i=1mλigi(x)+∑j=1lμjhj(x)},由于gi(x)≤0,hj(x)=0,λi≥0,其中S为可行域≤minx∈S{f(x)}d(\lambda,\mu) = min_{x\in X}\{ f(x) + \sum\limits_{i=1}^{m}\lambda_i g_i(x) + \sum\limits_{j=1}^{l}\mu_j h_j(x)\} ,其中X为满足条件的x变量\\ \le min_{x\in S}\{ f(x) + \sum\limits_{i=1}^{m}\lambda_i g_i(x) + \sum\limits_{j=1}^{l}\mu_j h_j(x) \},由于g_i(x) \le 0,h_j(x) = 0,\lambda_i \ge 0 ,其中S为可行域\\ \le min_{x\in S}\{f(x) \} d(λ,μ)=minx∈X{f(x)+i=1∑mλigi(x)+j=1∑lμjhj(x)},其中X为满足条件的x变量≤minx∈S{f(x)+i=1∑mλigi(x)+j=1∑lμjhj(x)},由于gi(x)≤0,hj(x)=0,λi≥0,其中S为可行域≤minx∈S{f(x)}
因此:拉格朗日对偶函数d(λ,μ)d(\lambda,\mu)d(λ,μ)是原问题最优解的函数值p∗p^*p∗的下界,即每个不同的λ\lambdaλ与μ\muμ确定的d(λ,μ)d(\lambda,\mu)d(λ,μ)都是p∗p^*p∗的下界,但是我们希望下界越大越好,因为越大就更能接近真实的p∗p^*p∗。因此: 拉格朗日对偶问题(D)转化为:
maxλ,μd(λ,μ)s.t.λi≥0,i=1,2,...,m也就是:maxλ≥0,μminx∈SL(x,λ,μ)max_{\lambda,\mu}d(\lambda,\mu)\\ s.t. \lambda_i \ge 0,i = 1,2,...,m\\ 也就是:\\ max_{\lambda \ge 0,\mu}\;min_{x \in S} L(x,\lambda,\mu) maxλ,μd(λ,μ)s.t.λi≥0,i=1,2,...,m也就是:maxλ≥0,μminx∈SL(x,λ,μ)
我们可以观察到,对偶问题是关于λ\lambdaλ和μ\muμ的线性函数,因此对偶问题是一个凸优化问题,凸优化问题在最优化理论较为简单。
弱对偶定理:对偶问题(D)的最优解D∗D^*D∗一定小于原问题最优解P∗P^*P∗,这点在刚刚的讨论得到了充分的证明,一定成立。
强对偶定理:对偶问题(D)的最优解D∗D^*D∗在一定的条件下等于原问题最优解P∗P^*P∗,条件非常多样化且不是唯一的,也就是说这是个开放性的问题,在这里我给出一个最简单的条件,即:f(x)f(x)f(x)与gi(x)g_i(x)gi(x)为凸函数,hj(x)h_j(x)hj(x)为线性函数,X是凸集,x∗x^*x∗满足KKT条件,那么D∗=P∗D^* = P^*D∗=P∗。
❤️解决非线性回归问题的机器学习方法总结:多项式线性模型、广义线性(GAM)模型、回归树模型、支持向量回归(SVR)模型相关推荐
- 采用支持向量回归(SVR)和随机森林回归预测两种机器学习方法对房价进行预测(附完整代码)
大家好,我是带我去滑雪,每天教你一个小技巧! 本文分别采用支持向量回归(SVR)和随机森林回归预测两种机器学习方法对房价进行预测.随机将数据分为训练集和测试集,比例为8:2,数据和代码均在文末. 1. ...
- 研究型论文_用于优化入侵检测类不平衡数据集中SMOTE比率的机器学习方法(英文论文)
文章目录 Machine-Learning Approach to Optimize SMOTE Ratio in Class Imbalance Dataset for Intrusion Dete ...
- 水声被动定位中的机器学习方法研究进展综述
水声被动定位中的机器学习方法研究进展综述 人工智能技术与咨询 来源:<信号处理>,作者牛海强等 摘 要: 本文对基于机器学习方法的水声被动定位研究进展进行了综述.所涉及的机器学习方法有多层 ...
- 用于临床心理学和精神病学的机器学习方法
用于临床心理学和精神病学的机器学习方法特别着重于从多维数据集学习统计函数,以对个体进行普适性的预测.机器学习方法有可能利用临床和生物学数据来更好地帮助医生做出对精神疾病患者的诊断,预后和治疗相关的决策 ...
- 残差平方和ssr的计算公式为_如何为你的回归问题选择最合适的机器学习方法?...
文章发布于公号[数智物语] (ID:decision_engine),关注公号不错过每一篇干货. 转自 | AI算法之心(公众号ID:AIHeartForYou) 作者 | 何从庆 什么是回归呢?回归 ...
- 如何为回归问题选择最合适的机器学习方法?
作者 | 何从庆 本文经授权转载自 AI算法之心(id:AIHeartForYou) 在目前的机器学习领域中,最常见的三种任务就是:回归分析.分类分析.聚类分析.在之前的文章中,我曾写过一篇<1 ...
- 如何为你的回归问题选择最合适的机器学习方法?
本文作者:何从庆 在目前的机器学习领域中,最常见的三种任务就是:回归分析.分类分析.聚类分析.在之前的文章中,我曾写过一篇<15分钟带你入门sklearn与机器学习--分类算法篇>.那么什 ...
- 入门 | 如何为你的回归问题选择最合适的机器学习方法?
点击"小詹学Python","星标"或"置顶" 关键时刻,第一时间送达 本文转载自"AI算法之心" 在目前的机器学习领域 ...
- 如何为回归问题,选择最合适的机器学习方法?
在目前的机器学习领域中,最常见的三种任务就是:回归分析.分类分析.聚类分析.在之前的文章中,我曾写过一篇<sklearn 与分类算法>.那么什么是回归呢? 回归分析是一种预测性的建模技术, ...
最新文章
- Android提醒:Dialog,Toast,Snackbar
- Java:一个分数类的简单设计
- ubuntu16.04下面的redis desktop manger的使用
- python修改列表中字典内的值_python修改字典内key对应值的方法
- 我想要一种语言,只需对它说我要干什么就行
- synchronized()_Synchronized关键字引出的多种锁
- php 删除数字索引元素,PHP重置数组为连续数字索引的几种方式
- C# GUID format参数说明
- 纯代码给wordpress增加说说/微博/微语功能
- 很多抽筋的笑话,心情不好的孩子慢慢看。悠着点,不要真抽筋~
- 行缓冲,全缓冲,无缓冲的详细介绍
- C程序设计(谭浩强)--学习笔记
- 青春三部曲(《且听风吟》,《一九七三年的弹子球》,《寻羊冒险记》)--[日]村上春树...
- MATLAB散点密度图的画法三
- Python-Selenium WebUI自动化 Selenium-API整理(下)
- 笔记本电源就断网,不接电源正常
- python实现局域网攻击软件_使用python的scapy库进行局域网内的断网攻击(基于ARP协议)...
- 移动端H5页面,上下滑动翻页
- 2019寒假作业2 编程总结
- 如何把低像素图片转成高清,分享四个方法给大家!