【AI】机器学习详解1

定期更新,建议关注、点赞、收藏。

友情链接:
numpy使用
SciPy使用
Matplotlib使用
建议路线:机器学习->深度学习->强化学习


  1. 机器学习主要的工作是提取出有用的特征,根据已有实例构造从特征到标签的映射特征即做判断的依据。
    input features&input variables
    output&target variable
  2. 机器学习两大基本问题:分类问题、回归问题
  3. 要素:机器学习模型f ,features,label,样本,数据集
  4. 建模方法:梯度下降/上升 gradient descent/boosting 根据特征提取方式的不同
  5. 奥卡姆剃刀定律:less is more.“如无必要,勿增实体”。在所有可能选择的模型中,能够很好地解释已知数据并且十分简单的才是最好的模型。
  6. “没有免费的午餐”定理, NFL定理,No Free Lunch Theorem: 当所有问题同等重要时,无论学习算法多聪明或多笨拙,它们的期望性能相同。当然在实际问题中,我们会对某些变量做出偏好bias

Gpu or cpu

矩阵运算的行列其实是可以并行的,所以深度学习依赖的矩阵运算在CPU上是极其低效的。为了更直观地对比可以参考下图,相比于CPU,GPU的控制逻辑单元较弱(蓝色单元),但是具有大量的ALU(算术逻辑 绿色单元)。
在这里插入图片描述

机器学习 or 深度学习

机器学习:手工提取特征——特征工程
深度学习:用神经网络做特征提取 RNN/CNN/attention/diffusion

使用的数据

Scalar value标量

超参数 or 参数

超参数(人工设置):算法的参数,数目常在10以内
参数(学习而自动产生):模型参数,深度学习的参数数目巨大

监督学习 or 非监督学习

有监督和无监督机器学习(ML)是机器学习算法的两种类别。
监督学习是需要有标签的数据的,并且需要确切知道在预测什么。
无监督学习中的数据没有类别也没有目标值;无监督学习可以进行数据聚类 或者 描述数据统计值(密度估计),减少数据特征维度,更方便展示数据。

Supervised learning & Unsupervised learning
In general, any machine learning problem can be assigned to one of two broad classifications:Supervised learning and Unsupervised learning.
Supervised learning is a machine learning algorithm of inferring a function from labeled training data. The training data consists of a set of training examples.
Supervised learning problems are categorized into “regression回归” and “classification分类” problems.
In a regression problem, we are trying to predict results within a continuous output, meaning that we are trying to map input variables to some continuous function.
In a classification problem, we are instead trying to predict results in a discrete离散的 output. In other words, we are trying to map input variables into discrete categories.

Below are the popular supervised learning algorithms.
Support Vector Machines
Regression
Naive Bayes
Decision Trees
K-nearest Neighbour Algorithm and Neural Networks.

Unsupervised learning allows us to approach problems with little or no idea what our results should look like. We can derive获得 structure from data where we don’t necessarily know the effect of the variables. We can derive this structure by clustering the data based on relationships among the variables in the data. With unsupervised learning there is no feedback based on the prediction results.
Unsupervised Learning Algorithms:
Clustering,
Anomaly Detection, 异常检测
Neural Networks and Latent Variable Models隐变量模型.

如何选择合适的机器学习算法?

  1. 首先确定监督 或 无监督学习;
  2. 确定目标变量类型,离散还是连续型,选择分类/回归。
    无监督学习中,需要将数据划分成离散的组,则选择聚类;需要估计数据与每个分组的相似程度,选择密度估计算法。
  3. 了解数据,离散/连续,是否存在缺失值以及什么原因,是否有异常值,特征发生频率,用图表展示数据,确保没有垃圾数据
  4. 反复试错迭代,(训练、测试)找到最好的算法,改进性能。

clustering & non-clustering

Clustering: Take a collection of large different samples, and find a way to automatically group these samples into groups that are somehow similar or related by different variables, such as lifespan, location, roles, and so on.
Non-clustering: Like the “Cocktail Party Algorithm”, allows you to find structure in a chaotic environment. (i.e. identifying individual voices and music from a mesh网 of sounds at a cocktail party).

Clustering is an important part of data cleaning, used in the field of artificial intelligence, deep learning, and data science. Today we are going to discuss distance metrics, which is the backbone of clustering. Distance metrics basically deal with finding the proximity or distance between data points and determining if they can be clustered together.
4 types of distance metrics in machine learning and understand how they work in Python.
Minkowski distance,Manhattan distance, Euclidean distance, Chebyshev distance
https://blog.csdn.net/WangTaoTao_/article/details/102973124

分类 or 回归

回归对应连续型的数据,更倾向于很小区域的x或一个x对应一个y;
分类对应离散型数据,一定区域内的一些x对应一个y。

线性回归

在这里插入图片描述
在这里插入图片描述
用X1,X2…Xn 去描述feature里面的分量, θ在这儿称为参数,在这的意思是调整feature中每个分量的影响力
需要一个机制去评估我们θ是否比较好,所以需要对我们做出的h函数进行评估,一般这个函数称为损失函数(loss function)即真实值和预测值的偏差。要使其达到最小,可以使用梯度下降法。
一个评估的方法就是最小二乘法 即点到直线y轴距离的平方和尽可能小。

逻辑回归

逻辑回归(其实是分类模型,但思想基于线性回归,是广义线性回归模型)
为啥要离散化?加快计算、简化模型。
定义为将线性函数结果映射到sigmoid函数中,分类常是离散型的,可能是分段函数等,存在分段点或不连续则不可求导,sigmoid是连续性的函数,且可以从0.5作为分界点。sigmoid函数即生物学中的S型生长曲线。
预测出的是一个连续的值,通过sigmoid函数可将该值映射到0~1之间,可将大于0.5的划分为1标签,小于0.5的划分为0标签,这样是二分类Binary logistic regression
在这里插入图片描述
[>0.5正分类 <0.5负分类]
明确 Sigmoid 函数到底起了什么作用:
1)线性回归是在实数域范围内进行预测,而分类范围则需要在 [0,1],逻辑回归减少了预测范围;
2)线性回归在实数域上敏感度一致,而逻辑回归在 0 附近敏感,在远离 0 点位置不敏感,这个的好处就是模型更加关注分类边界。

线性回归模型公式Z=wTx+b 带入sigmoid公式,在这里插入图片描述
为了确定w,b,需要推导对数几率回归的损失函数并将其最小化,从而得到w,b的估计值,则将y视为后验概率p(y=1|x),则将3-5式改写成
在这里插入图片描述
3-10公式是利用极大似然估计思想在这里插入图片描述
这样使得y=1时公式=y^ ;y=0时是1-y^
希望y的概率越大越好,并且不会改变单调性,两边同时取对数,即3-10
然而ln的图像中概率<1时为负数,则前面添加负号
损失函数的计算公式为 -(ylogh+(1-y)log(1-h))其中h = 1/(1+e-Z)

目标函数or 损失函数

损失函数==代价函数。
目标函数是一个与他们相关但更广的概念,对于目标函数来说在有约束条件下的最小化就是损失函数(loss function)。

经验风险:指模型在训练数据上的平均损失或误差。可以视为对训练数据的拟合程度,是模型在已知数据上的表现。然而,仅仅追求最小化经验风险可能会导致模型过度拟合,即在训练数据上表现良好,但在未见过的数据上表现糟糕。

结构风险:指模型在所有可能输入(包括训练数据和未知数据)上的平均损失或误差,它表示了模型的泛化能力,即模型在未见过的数据上的表现。结构风险是是对经验风险和期望风险的折中,在经验风险函数后增加正则化项获得,其整合了经验风险和模型决策函数的复杂度,以保证两者都达到最小化。

在这里插入图片描述

规范化

归一化、正则化、标准化都属于规范化。

归一化

把数值放缩到0到1的小区间中,一般方法是最小最大规范的方法。下图是是线性归一化。

目的是无单位化、避免数量级相差过大(大数掩盖小数)使各特征对目标的影响一致。注意找异常值,否则易造成偏差。
归一化的好处,容易更快的通过梯度下降找到最优解

# normalize the image
def normalize(x_train, x_test):
    # 归一化
    x_train = x_train / 255.#255指像素范围的最大值
    x_test = x_test / 255.

标准化

将数据按比例缩放,落入到一个小的区间内,标准化后的数据可正可负,但是一般绝对值不会太大。
目的是使其不同度量衡之间的特征具有可比性,同时不改变原始数据的分布。
一般是z-score标准化方法。在这里插入图片描述

# 标准化
mean = np.mean(x_train, axis=(0, 1, 2, 3))
std = np.std(x_train, axis=(0, 1, 2, 3)) #标准差
print('mean:', mean, 'std:', std)
x_train = (x_train - mean) / (std + 1e-7)
#1e-7指分母不可为0
x_test = (x_test - mean) / (std + 1e-7)

正则化(惩罚penalty)

解决过拟合问题。
应用场景:

  1. 线性回归:当处理高维数据集或存在多重共线性时;
  2. 逻辑回归:当特征空间大或可能存在相关性时;
  3. 神经网络:当处理复杂模型和大数据集时;
  4. 支持向量机SVM;
  5. 图像分类:特别是训练卷积神经网络(CNNs)时,通常采用L2正则化来控制,提高泛化能力;

正则项:求解最优化问题中,调节拟合程度的参数;越大表明欠拟合,越小表明过拟合。正则项越大表明惩罚力度越大则容易出现欠拟合问题;等于0表示不做惩罚;正则项越小,惩罚力度越小,则会造成过拟合问题;

L1和L2正则化的区别是什么?
都是解决过拟合问题。
L1正则化(又叫Lasso回归):让特征变得稀疏
L2正则化(又叫Ridge回归、岭回归):把机器学习算法等价于一个高阶方程,减少高阶项的系数。
正则化力度与高阶项系数的关系,正则化力度越大,高阶项系数越小。

为了解决过拟合问题,通常有两种方法,
第一是减小样本的特征(即维度),
第二是正则化:
正则化的一般形式是在整个平均损失函数的最后增加一个正则项(L2范数正则化,也有其他形式的正则化,作用不同)

参数正则化

参数正则化主要通过对模型的参数进行约束来实现。

通过在经验风险②上加一个正则化项(也叫惩罚项),实现结构风险③最小化。模型越复杂,正则化项的值越大,二者关系单调递增。

参数正则化一般具有如下形式:
min ⁡ f ∈ ϝ 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) \min_{f\in\digamma}\frac{1}{N}\sum^{N}_{i=1}L(y_i,f(x_i))+\lambda J(f) fϝminN1i=1NL(yi,f(xi))+λJ(f)
第一项是经验风险,第二项是正则化项,λ≥0为调整两者关系的系数。

范数

曼哈顿范数:L1范数的别称,因为它与曼哈顿距离在二维空间中的数学描述相似
欧几里得范数:L2范数的别称,因为它与欧几里得距离在二维空间中的数学描述相似
在这里插入图片描述

L1正则化

L1正则化方法,在回归模型中也叫Lasso回归。

通过在损失函数中添加L1范数项(即系数的绝对值之和)作为惩罚项,Lasso回归可以使部分学习到的特征权值缩减为0,从而达到稀疏化和特征选择的目的。适用于处理高维数据集。

解读:使用L1正则化时,将某些特征的系数归0 ,使他们被模型忽略,真正起作用的非零特征减少了,所以模型变得稀疏化;剩下的特征都是更关键的、被训练青睐的,也就相当于执行了特征选择,帮助模型集中注意力在这些更有信息量的特征上。

L2正则化

L2正则化方法,在回归模型中也叫Ridge回归(岭回归)。

通过在损失函数中添加了一个L2范数项(即系数的平方和) 作为惩罚项,用于对估计系数做出限制,使得系数更小,但不会达到0。起到增强模型稳定性的作用,适用于存在强相关性特征的数据集。

解读:使用L2正则化时,缩减整体权重的系数,更小的权值意味着模型的复杂度更低,对数据的拟合就不会过强。同时,权重的缩减将单一特征的影响分散到多个特征,防止单个特征主导模型的预测,避免过分依赖训练数据中的特定特征或模式,因此模型的训练更“均衡”。

L2正则化也被称为权重衰减(weight decay),经常应用于神经网络层的权重上。通过缩小权重来帮助防止过拟合,使网络对输入数据的变化不那么敏感。

L2范数的数学调整
在机器学习上下文中,L2正则化通常使用L2范数的1/2*平方(而不带平方根),即:在这里插入图片描述
这里,不带平方根和使用系数1/2主要是为了数学上的方便,这样在求导时会消去平方项前的2,得到简洁的结果。这样做尤其契合梯度下降算法,在梯度下降中,我们根据损失函数对参数的梯度来更新参数。由于L2正则项的导数就是参数本身,它可以直接与损失函数对参数的梯度相加,从而实现对参数的惩罚效果。这种形式的正则化项使得优化过程更加平滑和稳定。

  • Weight Decay
    是一个正则化技术,作用是抑制模型的过拟合,以此来提高模型的泛化性。
    通过给损失函数增加模型权重L2范数的惩罚(penalty)来让模型权重不要太大,以此来减小模型的复杂度,从而抑制模型的过拟合。
    权重衰减(Weight Decay)就是减小模型的权重大小,而减小模型的权重大小就可以降低模型的复杂度,使模型变得平滑,进而减小过拟合。模型权重数值越小,模型的复杂度越低。该结论可以通过实验观察出来,也可以通过数学证明。(李沐说可以证明,感兴趣的同学可以搜一下)
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    范数越大,图像越方。
    在这里插入图片描述
    在这里插入图片描述
    Weight Decay的实现:通常我们在使用Weight Decay是在优化器(Optimizer)上,这就很奇怪了,上面明明都是在说Loss,为什么weight decay参数是在优化器上呢?这是因为它们是等价的。
    用SGD来举例,SGD的更新参数的过程为:
    在这里插入图片描述
    tricks of weight_decay:
  1. weight_decay并没有你想像中的那么好,效果可能只有一点点,不要太指望它。尤其是当你的模型很复杂时,权重衰退的效果可能会更小了。
  2. 通常取1e-3,如果要尝试的话,一般也就是1e-2, 1e-3, 1e-4 这些选项。
  3. 权重衰退通常不对bias做。但通常bias做不做权重衰退其实效果差不多,不过最好不要做。因为,对于一个二维曲线,bias只是让曲线整体上下移动,并不能减小模型的复杂度,所以通常不需要对bias做正则化。
  4. weight_decay取值越大,对抑制模型的强度越大。但这并不说明越大越好,太大的话,可能会导致模型欠拟合。
弹性网正则化

Elastic Net Regularization,结合了L1和L2正则化的优点,旨在达成特征选择和权重缩减之间的平衡。在模型训练期间,将L1和L2正则化项同时纳入损失函数中,用λ1和λ2控制两种正则化的强弱。
弹性网正则化在处理具有高维特征和强特征相关性的数据集时有不错的效果。
在这里插入图片描述

#Python的scikit-learn算法库实现弹性网正则化
from sklearn.linear_model import ElasticNet
from sklearn.model_selection import train_test_split  
from sklearn.datasets import make_regression  
from sklearn.metrics import mean_squared_error
 
# 创建一个模拟的回归数据集  
X, y = make_regression(n_samples=100, n_features=1, noise=0.1)  
  
# 将数据集分割为训练集和测试集  
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)  
  
# 初始化ElasticNet模型,alpha控制正则化的强度,l1_ratio控制L1和L2正则化的比例  
enet = ElasticNet(alpha=0.1, l1_ratio=0.5) 
 
# 训练和预测
enet.fit(X_train, y_train)
y_pred = enet.predict(X_test)
 
# 计算均方误差  
mse = mean_squared_error(y_test, y_pred)  
print(f"Mean Squared Error: {mse}")

经验正则化

经验正则化通过引入一些经验性的技巧或策略来改进模型的训练过程,从而提高模型的泛化性能。这些方法通常基于一些启发式或实验性的观察,而不是直接对模型参数进行约束。

Dropout

神经网络中常用的正则化策略,它通过随机“关闭”一部分神经元的活动来防止过拟合。
在训练过程中,Dropout通过以一定的概率(如0.5)随机将一部分神经元的输出设为0,表示该神经元被丢弃。这种随机丢弃的操作相当于每次迭代都在使用不同的网络结构进行训练,可以被看作是对神经网络进行集成学习的一种近似。因为输入可能会被随机丢弃,模型不会过度依赖某些特定的神经元,有助于打破神经元之间的复杂共适应性,增强网络对新数据的适应性。Dropout可以在任何非输出层后使用。
Dropout可以与其他正则化方法结合使用,例如L1或L2正则化,进一步提高模型的泛化能力。
在测试阶段,为了保持模型的性能和一致性,通常会对每个神经元的输出乘以保留概率(1-dropout率),以补偿训练时随机丢弃神经元所带来的影响。

#使用Pytorch的torch.nn模块,可以向模型添加Dropout层
self.dropout = nn.Dropout(p=0.5)  # 在训练期间,每个神经元的输出有50%的概率被设置为0
早停法

观测模型在验证集上的表现,当训练不再带来明显改进时,就停下来。不需要完成所有预定的训练轮次(Epochs)就能找到那个“刚刚好”的模型状态,节省时间和资源。
提前停止的关键是识别模型开始过拟合的区域,为此需要监控训练过程,记录验证数据上的损失函数(或者看准确率是否在一段时间内饱和)。
在这里插入图片描述

过拟合 or 欠拟合

欠拟合(UnderFitting):测试样本的特性没有学到,或者是模型过于简单无法拟合或区分样本。

过拟合就是将数据噪声也学习了,训练的时候效果很好,损失函数值可以降得很低,但是到测试数据集的时候表现就不那么好了,原因是过分依赖于现有训练数据集的特征造成的。
在这里插入图片描述

如何确定模型是否过拟合或欠拟合?
构建模型时,数据会被分为 3 类:训练集、验证集和测试集。训练数据用来训练模型;验证集用于在每一步测试构建的模型;测试集用于最后评估模型。通常数据以 80:10:10 或 70:20:10 的比率分配。
在构建模型的过程中,在每个 epoch 中使用验证数据测试当前已构建的模型,得到模型的损失和准确率,以及每个 epoch 的验证损失和验证准确率。
模型构建完成后,使用测试数据对模型进行测试并得到准确率。如果准确率和验证准确率存在较大的差异,则说明该模型是过拟合的。
如果验证集和测试集的损失都很高,那么就说明该模型是欠拟合的。

如何防止过拟合

  1. 交叉验证 K-fold cross-validation
    交叉验证是防止过拟合的好方法。在交叉验证中,我们生成多个训练测试划分(splits)并调整模型。K折交叉验证是一种标准的交叉验证方法,即将数据分成 k 个子集,用其中一个子集进行验证,其他子集用于训练算法。
    交叉验证允许调整超参数,性能是所有值的平均值。该方法计算成本较高,但不会浪费太多数据。
  2. 用更多数据进行训练
    用更多相关数据训练模型有助于更好地识别特征,避免将噪声作为信号。数据增强是增加训练数据的一种方式,可以通过翻转(flipping)、平移(translation)、旋转(rotation)、缩放(scaling)、更改亮度(changing brightness)等方法来实现。
  3. 移除特征
    移除特征能够降低模型的复杂性,并且在一定程度上避免噪声,使模型更高效。为了降低复杂度,我们可以移除层或减少神经元数量,使网络变小。
  4. 早停early shutdown
    对模型进行迭代训练时,我们可以度量每次迭代的性能。当验证损失开始增加时,我们应该停止训练模型,这样就能阻止过拟合。
  5. Dropout
    Dropout 是一种正则化regularization方法,用于随机禁用神经网络单元Randomly disable the neural network unit,在任何隐藏层或输入层上实现,但不能在输出层上实现。该方法可以免除对其他神经元的依赖,进而使网络学习独立的相关性Independent correlation。该方法能够降低网络的密度Reduce the density of the network

评估模型的方法

留出法由于操作简单,因此最常用;
交叉验证法常用于对比同一算法的不同参数配置之间的效果,以及对比不同算法之间的效果;
自助法常用于集成学习(详见“西瓜书”第 8 章的 8.2 节和 8.3 节)产生基分类器。

留出法hold-out

一般采用若干次随机划分,重复进行实验评估后取平均值作为结果。
要平衡测试集和训练集的大小,常见做法是2/3~4/5的样本用于训练,其余用于测试。
需要注意的是,训练/测试集的划分要尽可能保持数据分布的一致性。从采样的角度看待数据集的划分过程,则保留类别比例的采样方式称为“分层采样

交叉验证法

  1. “交叉验证法”(cross validation)先将数据集D划分为k个大小相似的互斥子集,即D=D1并D2并D3…并Dk,每个子集之间没有交集。
  2. 然后每次用k-1个子集的并集作为训练集,余下的那个作为测试集,这样得到k组训练/测试集。
  3. 可以进行k次训练和测试,最终返回的是这k个结果的均值。
  4. 可以随机使用不同的划分多次,比如10次10折交叉验证
    通常把交叉验证法称为“k折交叉验证”(k-fold cross validation),k最常用的取值是10,为10折交叉验证
    在这里插入图片描述

自助法

“自助法”(bootstrapping)是一个比较好的解决方案,以自助采样为基础,给定包含m个样本的数据集D,进行采样得数据集D’:每次随机从D中挑选一个样本,copy放入D’,并将样本放回初始数据集D中,使得该样本在下次采样还可能被采样到。该过程重复m次,得到包含m个样本的数据集D’。
将D’用作训练集,D/D‘用作测试集,每次使用m个训练样本,(约1/3没在训练集中出现并用于测试),这种测试结果称为“包外估计”。对于数据集较小的样本较好。
初始数据量够时,还是用留出法/交叉验证法。

性能度量

均方误差

回归任务最常用的性能度量是均方误差 mean squared error在这里插入图片描述

错误率/精度

在分类任务中,即预测离散值的问题,最常用的是错误率和精度,错误率是分类错误的样本数占样本总数的比例,精度则是分类正确的样本数占样本总数的比例,易知:错误率+精度=1。

查准率(准确率)/查全率(召回率)/F1

在这里插入图片描述
在这里插入图片描述
这两个度量往往是相互对立的,即准确率高则召回率通常比较低,召回率高则准确率往往会很低。因此我们分别用准确率或召回率对模型的预测结果进行评价会有片面性,故接下来介绍P-R曲线来对模型进行更准确的评价。

P-R曲线是以召回率R为横轴,准确率P为纵轴,然后根据模型的预测结果对样本进行排序,把最有可能是正样本的个体排在前面,而后面的则是模型认为最不可能为正例的样本,再按此顺序逐个把样本作为正例进行预测并计算出当前的准确率和召回率得到的曲线。

在这里插入图片描述
如何通过PR曲线来判断哪个模型更好呢?这里有以下集中判断方式:
在这里插入图片描述
F-贝塔是P和R的加权调和平均,F1是P和R的加权调和平均,即 1/F1=1/2 *(1/P + 1/R)

ROC and AUC

学习器对测试样本的评估结果一般为一个实值或概率,设定一个阈值,大于阈值为正例,小于阈值为负例,因此这个实值的好坏直接决定了学习器的泛化性能,若将这些实值排序,则排序的好坏决定了学习器的性能高低。
ROC曲线正是从这个角度出发来研究学习器的泛化性能,ROC曲线与P-R曲线十分类似,都是按照排序的顺序逐一按照正例预测,不同的是ROC曲线以“真正例率”(True Positive Rate,简称TPR)为纵轴,横轴为“假正例率”(False Positive Rate,简称FPR),ROC偏重研究基于测试样本评估值的排序好坏。

如果一个模型的ROC曲线越靠近与左上角,那么该模型就越优,其泛化性能就越好,但是对于两个模型,我们如何判断哪个模型的泛化性能更优呢?这里我们有主要以下两种方法:
如果模型A的ROC曲线完全包住了模型B 的ROC曲线,那么我们就认为模型A要优于模型B;
如果两条曲线有交叉的话,我们就通过比较ROC与X,Y轴所围得曲线的面积来判断,面积越大,模型的性能就越优,这个面积我们称之为AUC(area under ROC curve)

通过上面的公式运算,我们发现ROC曲线对于样本类别是否平衡并不敏感,即其并不受样本先验分布的影响,因此在实际工作中,更多的是用ROC/AUC来对模型的性能进行评价

数据挖掘十大算法

包括C4.5决策树、K-mean、支持向量机SVM、Apriori、最大期望算法EM、PageRank算法、AdaBoost算法、k-近邻算法 KNN、朴素贝叶斯算法NB、分类回归树算法CART

机器学习十大算法

线性回归

西瓜书3.1,3.2

对数几率回归

西瓜书3.3

决策树

西瓜书4.1,4.2

神经网络

西瓜书5.1,5.2,5.3

支持向量机

西瓜书6.1,6.2

软间隔与支持向量回归

西瓜书6.4,6.5

朴素贝叶斯

西瓜书7.1,7.2,7.3

EM算法

西瓜书7.6,统计学习方法9.1

高斯混合模型

西瓜书9.1,9.1,9.3,9.4

隐马尔可夫模型

西瓜书14.1,统计学习方法10

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值