人工智能概念类知识点总结
一、numpy方面
1. 广播机制
使用ufunc对两个数组进行运算时,如果数组的形状不相同,就会进行下广播处理。简而言之,就是向两个数组每一维度上的最大值靠齐。(节省资源,计算方便)
np.arange(start,stop,step)(等差数组)np.ones(N)(全一数组)Np.sort(array,axis=0)(排序)np.zeros(N)(全0数组)np.array([])(生成数组)np.linspace()(a,b,10)(从a到b九等分)np.empty((2,3), np.int)(创建2*3的整形型空矩阵,只分配内存)np.ogrid(:5,:5)(生成用于广播的数组,列行)
2. 常用函数
随机数:from numpy import random as nr nr.rand(m,n)(0-1随机)、randint(l,h,(m,n))(规定范围内随机整数)、uniform(均匀分布)、normal(生态分布的随机)、shufftle(随机打乱顺序)、poisson(泊松分布);sum(x,axis=0/1)(求和列/行)、average(加权平均)、var(方差(x-mean)2/n)、mean(期望)、std(标准差)、product(连乘积);min(最小值)、max、ptp(极差)、argmin(最小值下标)、mininum(二元最小值)、maxnum(二元最大值)、sort(数组排序)、argsort(数组排序下标)、percentile(分位数)(第p个百分位数是这样一个值,它使得至少有p%的数据项小于或等于这个值,且至少有(100-p)%的数据项大于或等于这个值,np.percentile(a,52))、median(中位数)。
二、Novikoff定理
1. 感知机
感知机:感知机是二分类的线性分类模型,其输入为实例的特征向量,输出为实例的类别,取+1或-1两种。感知机旨在求出将训练数据集进行线性划分的分类超平面,引入了基于误分类的损失函数,再对损失函数进行极小化,从而求出感知机模型。
2. 感知机模型
3. 超平面
4. 范数
[L0范数:向量中非0元素的个数;L1范数:向量中各个元素绝对值之和
L0范数和L1范数可以实现稀疏,L1因比L0更好的优化求解特性而被广泛使用;L2范数是向量个元素的平方和然后求平均根;可以实现对模拟空间的限制,从而避免过拟合,提升模型的泛化能力。]
5. 朴素贝叶斯分类器
6. Novikoff定理描述与证明
三、搜索算法
1. 分类
A.盲目搜索:深度优先(回溯),广度优先(FIFO)
B.启发式搜索:分支限界法,博弈树搜索,最佳优先算法,A*搜索
2. 启发式搜索
为减小搜索范围,而需要利用某些已知的、有关具体问题领域的特性信息(启发信息)特点: A.大多数是深度优先搜索算法的改进版;B.在有多条路径可走,会给出该走哪条路径的建议;C.利用问题中的已知条件,尽快找到问题的解;D.可采用估值的方法进行搜索指导;E.状态空间小,搜索时间短并且效率高、容易控制,使问题易于得到解。
3. 八数码问题(深度优先算法)
在宽度优先搜索过程中,需要遍历目标节点所在层之前每层的所有节点,即需要遍历所有的分支。而深度优先搜索过程中,则不需要遍历这么多的节点。所以,在八数码的求解过程中,深度优先搜索的效率明显比宽度优先搜索的效率要高。
4. 背包问题(启发式搜索方法)
A.定义解空间 x={(0,0,0),..(1,1,1)} B.决定解空间结构(画空间树) C.用深度优先方式搜索解空间,用剪枝函数避免无效搜索(S是死节点,因为背包的容量超出,此时剪枝)D.得最优解为(0,1,1)最优值为50 剪枝技术:基本思想:在当前扩展结点的右子树(或左子树)的价值上界,如果满足一定约束条件,则可以裁剪掉右子树(或左子树)。常用剪枝函数:A.用约束函数在扩展结点处剪去不满足约束的子树 B.用限界函数剪去得不到最优解的子树
5. 迷宫问题(最佳优先搜索算法)
对OPEN表中所有节点的f(n)进行比较,按从小到大的顺序重排OPEN表。其算法效率类似于DFS,但使用了与问题特性相关的估价函数来确定下一步待扩展的节点,因此是一种启发式搜索 OPEN 表: 保存了所有已生成但是未访问过的节CLOSED 表: 记录已访问过的节点。步骤:A.把S放入OPEN表,计算估值函数 B.判断OPEN表是否为空 C.把OPEN表中第一个节点N放入CLOSED表 D.判断N是否为目标节点 E.扩展N计算所有子节点的估值函数 F.把子节点放入OPEN表,对所有节点按估值函数值由小到大重排 A.OPEN是否为空 (画出生成树)
四、机器学习(自我修正模型)
1. 思想
机器学习是数据通过算法构建出模型并对模型进行评估,评估的性能如果达到要求就拿这个模型来测试其他的数据,如果达不到要求就调整算法来重新建立模型,再次进行评估,如此循环往复,最终获得满意的经验来处理其他的数据。分类:监督学习,无监督学习,半监督学习,强化学习(是否标注)监督学习:从给定的训练数据集中学习一个函数(模型),当新的数据到来时,可以根据这个函数(模型)预测结果。常见的监督学习算法包括回归分析和统计分类。无监督学习:无监督学习中数据并不被特别标识,学习模型是为了推断出数据的一些内在结构。 应用场景:关联规则的学习以及聚类等。算法:Apriori算法和K-Means算法。(聚类算法、降维算法)半监督学习:主要考虑如何利用少量的标注样本和大量的未标注样本进行训练和分类的问题。应用场景:分类和回归。处理人工合成数据;算法:图论推理算法(Graph Inference)或者拉普拉斯支持向量机(Laplacian SVM) 强化学习:通过观察学习动作来完成,每个动作都会对环境有所影响,学习对象根据观察到的周围环境的反馈来做出判断。在强化学习下,输入数据直接反馈到模型,模型必须对此立刻做出调整。 应用场景:动态系统,机器人控制等。算法:Q-Learning (奖惩机制),时间差学习(Temporal difference learning)
2. 机器学习的应用
数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人等领域。三要素: 算法、模型、评估(模型设计,性能评估,参数优化)常见算法:回归算法(监督学习):线性回归、逻辑回归;神经网络(监督学习);SVM支持向量机(监督学习);聚类算法(无监督学习);降维算法(无监督学习)
3. 感知机的回归分析方法
回归算法:回归算法有两个重要的子类:即线性回归和逻辑回归;线性回归就是如何拟合出一条直线最佳匹配所有的数据,逻辑回归是一种与线性回归非常类似的算法。线性回归处理的问题类型与逻辑回归不一致:线性回归处理的是数值问题,预测数字。逻辑回归属于分类算法,预测类别。SVM算法是逻辑回归算法的强化:通过给予逻辑回归算法更严格的优化条件,支持向量机算法可以获得比逻辑回归更好的分类界线。既可以保持计算效率,又可以获得非常好的分类效果。聚类算法是无监督学习算法中最典型的代表;就是计算种群中的距离,根据距离的远近将数据划分为多个族群;最典型的代表就是K-Means算法。降维算法也是一种无监督学习算法,主要特征是将数据从高维降低到低维。维度表示数据的 特征量的大小。通过降维算法,可以去除冗余信息,可以压缩数据与提升机器学习效率。
(1)感知机基本理论:用一条曲线去尽量准的拟合这些数据,如果有新的输入过来,我们可以在将曲线上这个点的对应值返回。应用步骤:根据客观现象的定性认识确定变量之间是否存在相关关系;估计相关关系的大概类型(经验);绘制散点图,推测回归模型;回归分析并拟合回归模型;检验回归模型可信度;应用模型进行预测
(2)损失函数(loss function)是用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分,也是结构风险函数重要组成部分。损失函数:误分类点的总数。
(3)数据集:学习样本数据集,通过匹配一些参数来建立一个分类器。建立一种分类的方式,主要是用来训练模型的。作用:估计模型。测试集:测试训练好的模型的分辨能力(识别率)。作用:检验最终选择最优的模型的性能如何。验证集:对学习出来的模型,调整分类器的参数,如在神经网络中选择隐藏单元数。验证集还用来确定网络结构或者控制模型复杂程度的参数。作用:确定网络结构或者控制模型复杂程度的参数。
4. SVM向量机(支持向量机)带
贝叶斯定理 P(Bi|A)= [P(Bi)P(A|Bi)]/和(P(Bj)P(A|Bj))全概率:P(A)=P(A|B1)P(B1)+P(A|B2)P(B2)+...+P(A|Bn)P(Bn)条件概率:P(A|B)= P(AB)/P(B) Max-margin最大化边界地带(Maximum margin linear classifier);定义分类器的边界来改善分类性能(空隙越大,感知机的效果越好;绿色的点:边缘敏感数据)如何画出带:让这些敏感数据点到这条线的距离相等,保证感知机正确性
5. 为什么机器学习很重要?
A.什么是机器学习:机器学习是数据分析的一种方法,它可以使分析模型的建立自动化。通过算法迭代式的从数据中学习,机器学习使得计算机可以不通过显式编程而洞察那些隐藏在深处的数据。B.机器学习重要性:机器学习可以更快且自动的产生模型,以分析更大,更复杂的数据,而且传输更加迅速,结果更加精准,甚至是在非常大的规模中。C.面临问题:但由于机器学习方法和人脑机制之间巨大的差异,机器学习距离人类思考方式还有很远的距离,尤其是单一的机器学习模型。(标注训练数据代价高昂,深层大规模模型训练难度大)
五、自然语言处理
1. 自然语言处理的应用
机器翻译,自动摘要,文本分类,信息检索,信息抽取,情感分析,自动问答
2. 语言模型设计与难点
设计:三元模型(二阶马尔科夫链文法模型),就是在之前两个字都出现的条件下,下一个字符合的概率。设定 n = 1 , 构成朴素贝叶斯文法模型【独立】设定 n = 2 , 构成一阶马尔科夫链文法模型【历史有关】设定 n = 3 , 构成二阶马尔科夫链文法模型【历史有关】////存在样本稀疏问题(概率为0)采用平滑机制。熵/困惑度越大越混乱。建立统计语言模型步骤:1.可以表示成给定前面的词,求解后面一个词出现的条件概率。2.求解模型里的参数。3.一般选择“二元语言模型”或是“三元语言模型”。4.平滑化 难点:A.词典无词(在测试集里和训练集词语三元组不同)B.三元组没有出现(测试集没有,训练集出现)
自然语言处理的难点:估计语言模型概率P(e);估计翻译模型概率P(f|e);设计有效快速的算法求解使得P(e)*P(f|e)最大;(语言不规范灵活性高;错别字;新词;歧义的消除;句法的模糊性;语言行为与计划)
3. 词频统计
英文:A.分解并提取文章的单词(使用txt.lower()把字母变成小写;把特殊符号用txt.replace(ch,” ”)替换为空格)B.对每个单词计数counts[word]= counts.get(word,0)+1 C.对单词的统计值从高到低排序 print(“{0:<10}{1:>5}”.format(word,count))
中文:A.分词words = jieba.lcut(txt) B.相似描述放在一起 C.counts[rword] = counts.get(rword,0) + 1 D.不统计exclude里
4. Jieba库的主要函数
Jieba.lcut(s)(返回列表类型)Jieba.add_word(w)(分词中添新词w)Jieba.cut(s,cut_all=True)(输出文本s中所有可能单词)
六、深度学习
1. 深度学习网络结构
全连接网络(FC)它认为每一层的输入都与上一层的输出有关。用于依赖所有特征的简单场景,比如说本章的房价预测模型和在线广告推荐模型 卷积神经网络(CNN专门用来处理具有类似网格结构的数据的神经网络,例如图像数据,CNN的上下层神经元并不都能直接连接,而是通过“卷积核”作为中介,通过“核”的共享大大减少了隐含层的参数。通常用三层结构,包括卷积层、池化层和全连接层,应用在大型图像处理 循环神经网(RNN)是一种用于处理序列数据的神经网络。例如音频中含有时间成分,因此音频可以被表示为一维时间序列;语言中的单词都是逐个出现的,因此语言的表示方式也是序列数据。应用在机器翻译、语音识别。神经网络的结构各层功能如下:输入层:样本信息输入。隐藏层:所有在输出层之后并且在输出层之前的层都是隐藏层,隐藏层用于处理中间步骤,这些步骤通常不对用户展示,因此称为隐藏层。输出层:输出神经网络的计算结果。输入层不算在分层之内。
2. **函数
(1)定义:神经网络中的每个神经元节点接受上一层神经元的输出值作为本神经元的输入值,并将输入值传递给下一层,输入层神经元节点会将输入属性值直接传递给下一层(隐层或输出层)。在多层神经网络中,上层节点的输出和下层节点的输入之间具有一个函数关系,这个函数称为**函数(又称激励函数)。
(2)**函数的作用:如果不用激励函数(其实相当于激励函数是f(x) = x),在这种情况下你每一层节点的输入都是上层输出的线性函数,很容易验证,无论你神经网络有多少层,输出都是输入的线性组合,与没有隐藏层效果相当,这种情况就是最原始的感知机(Perceptron)了,那么网络的逼近能力就相当有限。正因为上面的原因,我们决定引入非线性函数作为激励函数,这样深层神经网络表达能力就更加强大(不再是输入的线性组合,而是几乎可以逼近任意函数)。
(3)常见的**函数
经过非线性**函数,计算出该节点的输出值(**值)。sigmoid函数,tanh函数,ReLU函数。sigmoid函数具有几个缺点:1.当z值非常大或者非常小时,sigmoid函数的导数g′(z)将接近0。这会导致权重 W 的梯度将接近0,使得梯度更新十分缓慢,梯度消失。2.函数的输出不是以0为均值,将不便于下层的计算。sigmoid函数可用在网络最后一层,作为输出层进行二分类,尽量不要使用在隐藏层。tanh函数的缺点同sigmoid函数的第一个缺点一样,当z很大或很小时,g′(z)接近于0,会导致梯度很小,权重更新非常缓慢,即梯度消失问题。ReLU函数又称为修正线性单元,是一种分段线性函数,其弥补了sigmoid函数以及tanh函数的梯度消失问题。ReLU函数的优点:1.在输入为正数的时候(对于大多数输入zz空间来说),不存在梯度消失问题。2.计算速度要快很多,ReLU函数只有线性关系,不管是前向传播还是反向传播,都比sigmod和tanh要快很多。(sigmod和tanh要计算指数,计算速度会比较慢)。ReLU函数的缺点:当输入为负时,梯度为0,会产生梯度消失问题。
为什么隐藏层选用relu,输出选用sigmoid?1.采用sigmoid等函数,反向传播求误差梯度时,求导计算量很大,而relu求导非常容易。2.对于深层网络,sigmoid函数反向传播时,很容易出现梯度消失的情况,从而无法完成深层网络的训练。3.relu会使一部分神经元的输出为0,这样造成网络的稀疏性,并且减少了参数的相互依赖关系,缓解过拟合问题的发生。
BP算法(反向传播算法)目的:调参,使用了广播机制,使得计算量减小。主要用于优化参数(w,b)。BP算法就是利用损失函数进行反向求导优化,求出损失函数最小时的参数的值。这一个过程与逻辑回归的反向计算类似,区别在于BP算法对于有隐藏层的神经网络能降低计算复杂度,其思想与动态规划类似。 正向传播:节点在获得输入数据后需要经过有次序的两步计算(线性变换和(非线性)**)。从输入到隐藏层以及隐藏层到输出都需要经过加权和**操作(线性变换和(非线性)**)权值w和偏移量b不会随样本改变(就是说与具体某个样本是无关的,也不会随着样本的变化而变化)
3. CNN卷积神经网络
卷积神经网络组成为输入层、卷积层、**函数、池化层、全连接层。卷积神经网络主要包含三层:卷积层CONV 池化层POOL 全连接层FC。卷积层:特征提取;池化层(常见的池化就是每块中的最大值):对输入的特征进行压缩,一方面使特征图变小,简化网络计算复杂度,另一方面进行特征压缩,提取主要特征,避免过拟合;全连接层:连接所有特征,将输出值送给分类器。CNN的优点:通过参数共享、稀疏连接两种机制减少参数,以便于用更小的训练集训练模型,避免过拟合;平移不变性。CNN一般使用RELU**函数。
4. 神经网络算法
神经网络算法核心思想是损失函数的优化问题。神经网络是一种机器学习算法,而机器学习算法基本思路用一句话概括就是:损失函数L的优化问题。所谓的优化就不断的调整参数(w,b)使得损失函数的值尽可能的小。调整参数的具体手段就是梯度下降算法。梯度下降算法是一个算法自我迭代的过程,迭代的结果就是最终逼近极小值点。在梯度下降算法中dw表示相对损失函数L 关于参数 w 的偏导数,db表示对于损失函数L关于参数b的偏导数,为了获得dw和db的具体值,需要神经网络依次经历前向传播过程和后向传播过程。
神经网络算法的核心三步:前向传播、后向传播和梯度下降。神经网络先要经历前向传播的过程,然后再经历后向传播的过程。前向传播的就是根据输入的样本向量x经过神经网络得出预测值的过程,然后可以计算损失函数,而反向传播的本质就是从最终输出的损失函数开始逆向回退,根据求导的链式法则最终求出所参数的偏导数的过程。其中各层的作用,输入层:样本信息输入。隐藏层:所有在输出层之后并且在输出层之前的层都是隐藏层,隐藏层用于处理中间步骤,这些步骤通常不对用户展示,因此称为隐藏层。输出层:输出神经网络的计算结果。
神经网络的层数是不是越多越好?神经网络中的层数越多,对输入特征抽象层数越高。这是因为在神经网络中,后一层神经元的输入是前一层输出的加权和,前一层的特征在后一层就被抽象出来了,学习的过程其实就是调节和优化各连接权重和阈值的过程。对一个问题,层数少的时候效果差,这时候增加层数可以提高效果,但是如果盲目增加层数会引起overfiting,从而导致预测效果不好。
5. 卷积核
(过滤器)就是图像处理时,给定输入图像,输入图像中一个小区域中像素加权平均后成为输出图像中的每个对应像素,其中权值由一个函数定义,这个函数称为卷积核(卷积核相当于一个参数,就是神经网络中w的意思,也可以进行训练优化)。(1)每个卷积核具有长宽深三个维度;(2)在某个卷积层中,可以有多个卷积核:下一层需要多少个feather map,本层就需要多少个卷积核。有多少个卷积核,经过卷积就会产生多少个feature map,这个宽度可以手动指定,一般网络越深的地方这个值越大,因为随着网络的加深,feature map的长宽尺寸缩小,本卷积层的每个map提取的特征越具有代表性。卷积核设计原则:(1)卷积核一般形状是奇数的。保护位置信息:保证了锚点刚好在中间,方便以模块中心为标准进行滑动卷积,避免了位置信息发生偏移。(2)卷积核的各个元素值一般相加等于1,这样做的原因是保证原图像经过卷积核的作用亮度保持不变(但该原则不是必须)。在达到相同感受野的情况下,卷积核越小,所需要的参数和计算量越小。卷积核层数不是越多越好,cnn的层数跟输入图片的大小,每次卷积核大小、跨度大小、池化层矩阵大小、池化矩阵跨度大小都相关,虽然层数越多提取的特征会越多,但是可能会造成梯度消失。
6. 过拟合(over-fitting)
其实就是所建的机器学习模型或者是深度学习模型在训练样本中表现得过于优越,导致在验证数据集以及测试数据集中表现不佳。原因:参数过多。解决方法:A.可以在所定义的损失函数后面加入一项永不为0的部分,那么经过不断优化损失函数还是会存在,即“正则化”B.神经网络参数膨胀原因可能是因为随着网路深度的增加,参数增加,并且增加速度、规模很大。那么可以采取减少神经网络规模(深度)的方法 C.增大训练样本规模。 欠拟合:欠拟合是指讯息能力低下,本来一些有的特征没有学习到。解决方法:欠拟合一般比较容易克服,例如在决策树学习中扩展分支在神经网络学习中增加学习轮数就可以;过拟合:模型把训练样本学的“太好”,很可能把训练样本自身的一些特点当做所有潜在样本(特征)都会具有的一般性质,就会导致泛化能力下降。
7. 人工智能—机器学习-深度学习
人工智能是最早出现的,范围也最广 ;随后出现的是机器学习;最内侧是深度学习,也是当今人工智能大爆炸的核心驱动。 机器学习是实现人工智能的方法;深度学习是实现机器学习的技术之一;机器学习是人工智能的子集,而深度学习是机器学习的子集。
8. K-Means算法
主要思想是通过迭代过程把数据集划分为不同的类别,使得平均误差准则函数达到最优,从而使生成的每个聚类内紧凑,类间独立。样本之间的相似度用他们之间的距离表示,距离越小越相似,差异度越小。步骤:1. 为每个聚类确定一个初始聚类中心,这样就有K 个初始聚类中心。2. 将样本集中的样本按照最小距离原则分配到最邻近聚类3. 使用每个聚类中的样本均值作为新的聚类中心。4. 重复步骤2和3 直到聚类中心不再变化。5. 结束,得到K。优点:(1)解决聚类问题的经典算法, 简单、快速 。(2)对处理大数据集 ,该算法是相对可伸缩和高效率的。(3)当结果簇是密集的,而簇与簇之间区别明显时 ,缺点:(1)对于处理符号属性的数据不适用。(2) 必须事先给出K(要生成的簇的数目),而且对初值敏感。经常发生得到次优划分的情况。解决方法是多次尝试不同的初始值。(3)少量的该类数据能够对平均值产生极大的影响。
KNN算法:(1)初始化距离为最大值(2)计算未知样本和每个训练样本的距离dist(3)得到目前K个最临近样本中的最大距离maxdist(4)如果dist小于maxdist,则将该训练样本作为K-最近邻样本(5)重复步骤2、3、4,直到未知样本和所有训练样本的距离都算完(6)统计K个最近邻样本中每个类别出现的次数(7)选择出现频率最大的类别作为未知样本的类别。KNN中k的选择:没有一个固定的经验,一般根据样本的分布,选择一个较小的值,可以通过交叉验证选择一个合适的k值。选择较小的k值,就相当于用较小的领域中的训练实例进行预测,训练误差会减小,只有与输入实例较近或相似的训练实例才会对预测结果起作用,与此同时带来的问题是泛化误差会增大,换句话说,K值的减小就意味着整体模型变得复杂,容易发生过拟合;选择较大的k值,就相当于用较大领域中的训练实例进行预测,其优点是可以减少泛化误差,但缺点是训练误差会增大。这时候,与输入实例较远(不相似的)训练实例也会对预测器作用,使预测发生错误,且K值的增大就意味着整体的模型变得简单。KNN优点:①简单,易于理解,易于实现,无需参数估计,无需训练; ②对异常值不敏感(个别噪音数据对结果的影响不是很大); ③适合对稀有事件进行分类; ④适合于多分类问题(multi-modal,对象具有多个类别标签),KNN要比SVM表现要好;缺点:①对测试样本分类时的计算量大,内存开销大,因为对每一个待分类的文本都要计算它到全体已知样本的距离,才能求得它的K个最近邻点。②可解释性差,无法告诉哪个变量更重要,无法给出决策树那样的规则; ③K值的选择:最大的缺点是当样本不平衡时,如一个类的样本容量很大,而其他类样本容量很小时,有可能导致当输入一个新样本时,该样本的K个邻居中大容量类的样本占多数。KNN是分类算法;是监督学习;给它的数据集是带label的数据,已经是完全正确的数据;没有明显的前期训练过程;K的含义:来了一个样本x,要给它分类,即求出它的y,就从数据集中,在x附近找离它最近的k个数据点,这k个数据点,类别c占的个数最多,就把x的label设为c。K-Means是聚类算法;是非监督学习;给它的数据集是无label的数据,是杂乱无章的,经过聚类后才变得有顺序,先无序,后有序;有明显的前期训练过程;K的含义:k是人工固定好的数字,假设数据集合可以分为k个簇,由于是依靠人工定好,需要一点先验知识。
SVM:一个点距离分离超平面的远近可以表示分类预测的确信程度。支持向量机的基本想法:求解能够正确划分训练集并且几何间隔最大的分离超平面。也就是说不仅将正负实例点分开,而且对于最难分的实例点(离超平面最近的点)也有足够大的确信度将它们分开。训练数据集的样本点中与分离超平面距离最近的点的实例称为支持向量,支持向量到分离超平面的距离相等,都是1/∥w∥,支持向量的间隔为2/∥w∥。在决定分离超平面时只有支持向量起作用,支持向量的个数一般很少,所以支持向量机由很少的“重要的”训练样本确定。线性可分训练数据集的最大分隔超平面存在且唯一。
【例1】假定你在神经网络中的隐藏层中使用**函数X,在特定神经元给定任意输入,你会得到输出[-0.01],可能是什么**函数? TanH
【例2】在训练神经网络时,损失函数在最初的几个迭代(loss)没有下降,可能的原因:A.学习率太低。对比之前上课讲过的四个图,这里的根本原因是LR数值设计的太低了,使得模型参数迭代更新缓慢,曲线下降缓慢,因此经过几次迭代后下降不明显;B.层数太多。在深度学习网络里面,并不清楚训练的层数,如果训练的层数太多,那么他的梯度下降就不会那么明显;C.陷入局部最小值。在梯度下降的时候陷入局部最小值,这时可能已经到达一个极限,模型已经收敛,也会使它下降不明显或下降缓慢;D.缺失**函数。如果没有**函数,结果就会线性放大,研究梯度下降就没有必要了。