ML/DL十大算法

ML/DL十大算法_第1张图片

————来自于其他博客

机器学习十大算法:
决策树(树)
朴素贝叶斯分类(概率判断)
最小二乘法(线性回归)
逻辑回归(logistic)
支持向量机(SVM)
集成方法(原来是用贝叶斯平均,现在用Bagging、Boosting)

无监督:
聚类
主成分分析(PCA)(正交变换,用来简化数据便于学习.可视化)
独立成分分析(ICA) 主要用于揭示随机变量、测量值或信号集中的隐藏因素
奇异值分解(SVD)(mn矩阵分解为mkkkkn)

深度学习算法:

1、反向传播(一层层的计算梯度)

2、随机梯度下降(迭代求最优)

3、学习率衰减 训练集的损失下降到一定的程度后就不在下降了,遇到这种情况通常可以通过适当降低学习率来实现,于是在梯度下降时可以给一个线性或指数衰减率(降低学习率会延长训练所需的时间,需要均衡选择)

4、dropout(随机失活,随机删除,减少结果与单个样本的关联性) 用来优化过拟合欠拟合的问题

5、max pooling(池化,Pooling)是卷积神经网络中另一个重要的概念,它实际上是一种形式的向下采样。有多种不同形式的非线性池化函数,而其中“最大池化(Max pooling)”是最为常见的。它是将输入的图像划分为若干个矩形区域,对每个子区域输出最大值。

直觉上,这种机制能够有效地原因在于,在发现一个特征之后,它的精确位置远不及它和其他特征的相对位置的关系重要。池化层会不断地减小数据的空间大小,因此参数的数量和计算量也会下降,这在一定程度上也控制了过拟合。通常来说,CNN的卷积层之间都会周期性地插入池化层。

6、批标准化 (神经网络需要仔细调整权重初始化和学习参数)在计算梯度下降时使用偏差方差控制、归一化、权重控制

7、LSTM网络 (长短期记忆)LSTM网络具有以下三个方面,使其与循环神经网络中的常见神经元不同:它能够决定何时让输入进入神经元;它能够决定何时记住上一个时间步中计算的内容;它决定何时让输出传递到下一个时间步。
LSTM的美妙之处在于它能够根据当前的输入本身来决定所有这些

8、skip-gram模型(词语嵌入模型)词嵌入模型的目标是为每个词项学习一个高维密集表示,其中嵌入向量之间的相似性显示了相应词之间的语义或句法相似性。 Skip-gram是一个学习词嵌入算法的模型。

9、连续词袋 在自然语言处理问题中,我们希望学习将文档中的每个单词表示为一个数字的向量,使得出现在相似的上下文中的单词具有彼此接近的向量。在连续的单词模型中,目标是能够使用围绕特定单词的上下文并预测特定单词。

10、迁移学习
让我们想一下如何在CNN中处理一张图片。假设有一张图片,你对它进行卷积处理,然后你得到的输出是像素的组合,我们姑且称之为“边”吧。我们再次使用卷积,这时候你得到的输出将是边的组合,我们称之为“线”。如果再次使用卷积,那么你将得到线的组合,等等。

每一层都是在寻找相应的特定模式。你的神经网络最后一层一般会给出非常特定的模式。也许你在处理ImageNet,你的网络最后一层可能是在找孩子、狗或飞机或别的任何东西。如果你向前两层看,网络可能是在找眼睛、耳朵、嘴巴或者轮子。

深度卷积神经网络中的每一层的深入都是在构建越来越高层次的特征表示。最后两层会产生你输入模型的数据中的特定模式。换句话说,早期的层提取的特征则广泛得多,在提取的大量的类中有很多简单的模式。

迁移学习就是当你用一个数据集训练CNN时,砍掉最后的一(些)层,再用另一个不同的数据集重新训练最后一(些)层的模型。直观地说,你在重新训练模型来识别不同的高级层次特征。作为结果,训练时间大幅减少。所以当你没有足够的数据或者训练的资源时,迁移学习是非常有用的一个工具。

你可能感兴趣的:(DL)