深度学习笔记(摘自黄海广机器学习个人笔记)

机器学习的分类有两种:
一、监督学习和无监督学习
二、判别模型和生成模型(模型:假设函数+损失函数+优化算法)
面试注意:
1、原理型
各类模型、模型评估
2、应用型
数据处理、特征工程、特征的选择、模型的迭代和优化
3.SVM对异常值和缺失值的敏感性
4. l1(拉普拉斯先验)和l2(高斯先验)正则化的区别
5. 决策树:
DT= ID3 C4.5 CART 的差异


(黄海广机器学习个人笔记)
1.高级优化
利用梯度下降的方法最小化逻辑回归中代价函数?(?)是常见的方法。还存在一些高级优化算法和一些高级的优化概念,利用这些方法,我们就能够使通过梯度下降,进行逻辑回归的速度大大提高,而这也将使算法更加适合解决大型的机器学习问题。
共轭梯度法 BFGS (变尺度法) 和 L-BFGS (限制变尺度法) 就是其中一些更高级的优化算法,它们需要有一种方法来计算 ?(?),以及需要一种方法计算导数项,然后使用比梯度下降更复杂的算法来最小化代价函数。
优点:
一个是使用这其中任何一个算法,你通常不需要手动选择学习率 ?,所以对于这些算法的一种思路是,给出计算导数项和代价函数的方法,你可以认为算法有一个智能的内部循环,而且,事实上,他们确实有一个智能的内部循环,称为线性搜索(line search)算法,它可以自动尝试不同的学习速率 ?,并自动选择一个好的学习速率 ?,因此它甚至可以为每次迭代选择不同的学习速率,那么你就不需要自己选择。(缺点:比梯度下降算法复杂的多)
2.正则化
我们可以从之前的事例中看出,正是那些高次项导致了过拟合的产生,所以如果我们能让这些高次项的系数接近于 0 的话,我们就能很好的拟合了。 所以我们要做的就是在一定程度上减小这些参数? 的值,这就是正则化的基本方法。(设置惩罚项,添加正则化参数)
参数的选择很重要,如果选择的正则化参数 λ 过大,则会把所有的参数都最小化了,最终会造成欠拟合。
正则化线性回归线性回归的基础上,加上了对参数的正则化项。
正则化的逻辑回归模型
3.神经网络的代价函数
与逻辑回归问题中的代价函数对比:
逻辑回归代价函数
神经网络的代价函数
ℎ?(?)在神经网路中是一个维度为K的向量,并且我们训练集中的因变量也是同样维度的一个向量。
4.模型选择和交叉验证集的使用
交叉验证集的使用,会提高模型的鲁棒性、更好的防止过拟合的出现。
5.查全率和查准率的权衡
阈值的设定
6.支持向量机SVM
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
首先,我们要除去1/?这一项,当然,这仅仅是由于人们使用支持向量机时,对比于逻辑回归而言,不同的习惯所致,但这里我所说的意思是:你知道,我将要做的是仅仅除去1/?这一项,但是,这也会得出同样的 ? 最优值,好的,因为1/? 仅是个常量,因此,你知道在这个最小化问题中,无论前面是否有1/? 这一项,最终我所得到的最优值?都是一样的。这里我的意思是,先给你举一个实例,假定有一最小化问题:即要求当(? − 5)2 + 1取得最小值时的?值,这时最小值为:当? = 5时取得最小值。 现在,如果我们想要将这个目标函数乘上常数 10,这里我的最小化问题就变成了:求使得10 × (? − 5)2 + 10最小的值?,然而,使得这里最小的?值仍为 5。因此将一些常数乘以你的最小化项,这并不会改变最小化该方程时得到?值。因此,这里我所做的是删去常量?。也相同的,我将目标函数乘上一个常量?,并不会改变取得最小值时的?值。
第二点概念上的变化,我们只是指在使用支持向量机时,一些如下的标准惯例,而不是逻辑回归。因此,对于逻辑回归,在目标函数中,我们有两项:第一个是训练样本的代价,第二个是我们的正则化项,我们不得不去用这一项来平衡。这就相当于我们想要最小化?加上正则化参数?,然后乘以其他项?对吧?这里的?表示这里的第一项,同时我用 B 表示第二项,但不包括?,我们不是优化这里的? + ? × ?。我们所做的是通过设置不同正则参数?达到优化目的。这样,我们就能够权衡对应的项,是使得训练样本拟合的更好。即最小化?。还是保证正则参数足够小,也即是对于 B 项而言,但对于支持向量机,按照惯例,我们将使用一个不同的参数替换这里使用的?来权衡这两项。你知道,就是第一项和第二项我们依照惯例使用一个不同的参数称为?,同时改为优化目标,? × ? + ?因此,在逻辑回归中,如果给定?,一个非常大的值,意味着给予 B 更大的权重。而这里,就对应于将? 设定为非常小的值,那么,相应的将会给?比给?更大的权重。因此,这只是一种不同的方式来控制这种权衡或者一种不同的方法,即用参数来决定是更关心第一项的优化,还是更关心第二项的优化。当然你也可以把这里的参数? 考虑成1/?,同 1/?所扮演的角色相同,并且这两个方程或这两个表达式并不相同,因为? = 1/?,但是也并不全是这样,如果当? = 1/?时,这两个优化目标应当得到相同的值,相同的最优值 ?。因此,就用它们来代替。那么,我现在删掉这里的?,并且用常数?来代替。因此,这就得到了在支持向量机中我们的整个优化目标函数。然后最小化这个目标函数,得到 SVM 学习到的参数?。
在这里插入图片描述
最后有别于逻辑回归输出的概率。在这里,我们的代价函数,当最小化代价函数,获得参数?时,支持向量机所做的是它来直接预测?的值等于 1,还是等于 0。因此,这个假设函数会预测 1。当???大于或者等于 0 时,或者等于 0 时,所以学习参数?就是支持向量机假设函数的形式。那么,这就是支持向量机数学上的定义。
** ☆☆7.大间距分类器(支持向量机的另一种称呼)

支持向量机图示
这是我的支持向量机模型的代价函数,在左边这里我画出了关于?的代价函数cos?1(?),此函数用于正样本,而在右边这里我画出了关于?的代价函数cos?0(?),横轴表示?,现在让我们考虑一下,最小化这些代价函数的必要条件是什么。如果你有一个正样本,? = 1,则只有在? >= 1时,代价函数cos?1(?)才等于 0。
换句话说,如果你有一个正样本,我们会希望???>=1,反之,如果? = 0,我们观察一下,函数cos?0(?),它只有在? <= −1的区间里函数值为 0。这是支持向量机的一个有趣性质。事实上,如果你有一个正样本? = 1,则其实我们仅仅要求???大于等于 0,就能将该样本恰当分出,这是因为如果???>0 大的话,我们的模型代价函数值为 0,类似地,如果你有一个负样本,则仅需要???<=0 就会将负例正确分离,但是,支持向量机的要求更高,不仅仅要能正确分开输入的样本,即不仅仅要求???>0,我们需要的是比 0 值大很多,比如大于等于 1,我也想这个比 0 小很多,比如我希望它小于等于-1,这就相当于在支持向量机中嵌入了一个额外的安全因子,或者说安全的间距因子。
在这里插入图片描述
如果 ?非常大,则最小化代价函数的时候,我们将会很希望找到一个使第一项为 0 的最优解。因此,让我们尝试在代价项的第一项为 0 的情形下理解该优化问题。比如我们可以把?设置成了非常大的常数,这将给我们一些关于支持向量机模型的直观感受。
在这里插入图片描述
在这里插入图片描述
或者我们可以画一条更差的决策界,这是另一条决策边界,可以将正样本和负样本分开,但仅仅是勉强分开,这些决策边界看起来都不是特别好的选择,支持向量机将会选择这个黑色的决策边界,相较于之前我用粉色或者绿色画的决策界。这条黑色的看起来好得多,黑线看起来是更稳健的决策界。在分离正样本和负样本上它显得的更好。数学上来讲,这是什么意思呢?这条黑线有更大的距离,这个距离叫做间距(margin)。
最大间距
当画出这两条额外的蓝线,我们看到黑色的决策界和训练样本之间有更大的最短距离。然而粉线和蓝线离训练样本就非常近,在分离样本的时候就会比黑线表现差。因此,这个距离叫做支持向量机的间距,而这是支持向量机具有鲁棒性的原因,因为它努力用一个最大间距来分离样本。因此支持向量机有时被称为大间距分类器,而这其实是求解上一页幻灯片上优化问题的结果。
在这里插入图片描述
在这里,如果你加了这个样本,为了将样本用最大间距分开,也许我最终会得到一条类似这样的决策界,对么?就是这条
粉色的线
,仅仅基于
一个异常值**,仅仅基于一个样本,就将我的决策界从这条黑线变到这条粉线,这实在是不明智的而如果正则化参数?,设置的非常大,这事实上正是支持向量机将会做的。它将决策界,从黑线变到了粉线,但是如果? 设置的小一点,如果你将 C 设置的不要太大,则你最终会得到这条黑线,当然数据如果不是线性可分的,如果你在这里有一些正样本或者你在这里有一些负样本,则支持向量机也会将它们恰当分开。因此,大间距分类器的描述,仅仅是从直观上给出了正则化参数?非常大的
情形,同时,要提醒你?的作用类似于1/?,?是我们之前使用过的正则化参数。这只是?非常大的情形,或者等价地 ? 非常小的情形。你最终会得到类似粉线这样的决策界,但是实际上应用支持向量机的时候,当?不是非常非常大的时候,它可以忽略掉一些异常点的影响,得到更好的决策界。甚至当你的数据不是线性可分的时候,支持向量机也可以给出好的结果。
回顾 ? = 1/?,因此:
? 较大时,相当于 ? 较小,可能会导致过拟合,高方差。
? 较小时,相当于 ? 较大,可能会导致低拟合,高偏差。

8.核函数
在这里插入图片描述
当实例处于洋红色的点位置处,因为其离?(1)更近,但是离?(2)和?(3)较远,因
此?1接近 1,而?2,?3接近 0。因此ℎ?(?) = ?0 + ?1?1 + ?2?2 + ?1?3 > 0,因此预测? = 1。同理可以求出,对于离?(2)较近的绿色点,也预测? = 1,但是对于蓝绿色的点,因为其离三个地标都较远,预测? = 0。
9.支持向量机的使用
?为特征数,?为训练样本数。
(1)如果相较于?而言,?要大许多,即训练集数据量不够支持我们训练一个复杂的非线性模型,我们选用逻辑回归模型或者不带核函数的支持向量机。
(2)如果?较小,而且?大小中等,例如?在 1-1000 之间,而?在 10-10000 之间,使用高斯核函数的支持向量机。
(3)如果?较小,而?较大,例如?在 1-1000 之间,而?大于 50000,则使用支持向量机会非常慢,解决方案是创造、增加更多的特征,然后使用逻辑回归或不带核函数的支持向量机。
值得一提的是,神经网络在以上三种情况下都可能会有较好的表现,但是训练神经网络可能非常慢,选择支持向量机的原因主要在于它的代价函数是凸函数,不存在局部最小值。
10.聚类
祥见聚类例会PPT
11.降维
主成分分析(PCA)是最常见的降维算法。
PCA 将?个特征降维到?个,可以用来进行数据压缩,如果 100 维的向量最后可以用 10维来表示,那么压缩率为 90%。同样图像处理领域的 KL 变换使用 PCA 做图像压缩。但 PCA要保证降维后,还要保证数据的特性损失最小。
PCA 技术的一大好处是对数据进行降维的处理。我们可以对新求出的“主元”向量的重要性进行排序,根据需要取前面最重要的部分,将后面的维数省去,可以达到降维从而简化模型或是对数据进行压缩的效果。同时最大程度的保持了原有数据的信息。
PCA 技术的一个很大的优点是,它是完全无参数限制的。在 PCA 的计算过程中完全不需要人为的设定参数或是根据任何经验模型对计算进行干预,最后的结果只与数据相关,与用户是独立的。
但是,这一点同时也可以看作是缺点。如果用户对观测对象有一定的先验知识,掌握了数据的一些特征,却无法通过参数化等方法对处理过程进行干预,可能会得不到预期的效果,效率也不高。
12.异常检测(Anomaly Detection)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值