李宏毅机器学习入门全笔记+作业+心得
文章平均质量分 93
本人在大二一年断断续续的入门机器学习,但感觉没有系统的学会太多东西,因此特以李宏毅老师2020年的系统的机器学习课程为参考,顺着大神的思路,分享机器学习的一些思想和内容,剖析一些难点,同时也分享一些做该门课作业的心得。
Unique13
这个作者很懒,什么都没留下…
展开
-
李宏毅机器学习笔记(十九)——对ML模型的攻击和防御
文章目录一.背景二.对模型进行攻击1.基本思想2.相似度限制3.训练参数 前言:老师课上举的例子都与图像相关,其实其他领域也是同理的。一.背景 神经网络不仅是要用在研究上,最后更多的肯定要在各种有意义的应用中。那么安全性就显得尤为重要,要去对抗恶意攻击(注意,这里不是说仅仅是对抗杂讯,而是所谓的,不暴露出弱点)。即使是垃圾邮件识别,人脸识别这种最基础广泛的领域,也存在着大量的攻击对抗。因此,对这方面的研究是十分重要的。二.对模型进行攻击1.基本思想 既然是恶意攻击,首先我们还是要保证,我们原创 2020-09-01 19:33:52 · 1019 阅读 · 0 评论 -
李宏毅机器学习笔记(十八)——可解释性机器学习
文章目录一.可解释的概念和意义二.局部可解释性1.移除组成要素2.改变组成要素3.局限性三.全局可解释性1.反向寻找理想输入2.输入正则化 前言:老师的课程中强调了课上举的例子都与图像相关,其实其他领域也是同理的。一.可解释的概念和意义 所谓的可解释性其实也分为两种,一种是局部可解释性,一般指的是机器说明如何判断这个样例(例如分类问题中,机器如何将一张猫的图片分成猫);另一种是全局可解释性,一般指的是机器如何对总体进行特征判断(例如分类问题中,机器认为猫长什么样子) 为什么我们需要这种可解释性原创 2020-08-31 14:38:21 · 2385 阅读 · 0 评论 -
李宏毅机器学习笔记(十七)——无监督学习(五):词向量嵌入
文章目录一.One-hot表示的缺陷二.基于词频的词嵌入方法三.基于预测的词嵌入方法一.One-hot表示的缺陷 其实很容易想到,One-hot表示法最关键的问题是非常的不灵活,我们无法很好的表示每个词和每个词的关系二.基于词频的词嵌入方法三.基于预测的词嵌入方法...原创 2020-08-30 14:30:55 · 637 阅读 · 0 评论 -
李宏毅机器学习笔记(十六)——无监督学习(四):自编码器
文章目录一.自编码器的引入二.深层自编码器三.自编码器的应用四.自编码器的改进 前排提醒这篇文章长度比之前的要长很多。一.自编码器的引入 首先我们回到PCA,我们有x−x‾≈∑i=1mciui=x^x-\overline x\approx \sum_{i=1}^mc_iu_i=\hat xx−x≈∑i=1mciui=x^,我们要寻找的是uuu,之后的ccc其实就是降维后的向量。我们要想让我们的损失最少,那当然就是这个约等于号尽量取等,然后由于uuu是个正交矩阵,因此我们可以左右同乘uuu,得原创 2020-08-20 19:10:16 · 1549 阅读 · 1 评论 -
李宏毅机器学习笔记(十五)——无监督学习(三):非线性数据降维
文章目录一.线性数据降维的不足二.一.线性数据降维的不足 线性的降维的特点在于,不论是用什么方法,总之最后的效果是用一个线性变换(数学上形式为乘一个矩阵),将高维空间映射到一个低维空间;而线性变换无法分析出一些曲面等的情况,如下图所示。因此我们就需要去寻找非线性的方式。二....原创 2020-08-18 12:20:22 · 975 阅读 · 0 评论 -
李宏毅机器学习笔记(十四)——无监督学习(二):线性数据降维与推荐系统
文章目录一.什么是数据降维二.主成分分析(PCA)1.基本思想2.数学推导一.什么是数据降维 对于无标签的数据,我们很多时候并不是想将其分类,而是所谓的根据原始特征,精炼出一定的更有代表性的特征,这样既可以减小维度压缩数据量,同时相当于是对数据的一种清洗(例如去除冗余共线性的数据)。 因此我们的目标就是,对k个n维的行向量数据xix_ixi(下标表示的是第几个输入数据),我们找到一个函数fff,使得f(x)=zf(x)=zf(x)=z,其中zzz为m维行向量,代表着xxx转化后的特征,m<原创 2020-08-15 11:59:38 · 491 阅读 · 0 评论 -
李宏毅机器学习笔记(十三)——无监督学习(一):聚类算法
文章目录一.什么是数据聚类二.基于GMM的聚类一.什么是数据聚类 如果我们想要对全部都是无标签的数据进行分类,这时候数据聚类就是一大类方式。聚类的意思顾名思义,按照一定的法则,将部分“相近的”数据聚成同一类,给它们相同的标签即可。 下面介绍几种比较有代表性的聚类方法。二.基于GMM的聚类 在半监督学习中我们已经讲过在部分数据有标签的情况下如何用GMM进行所谓的样本训练了。在这里,我们要自己去定义类的数量,之后随机初始化对应的多元高斯分布,然后以同样的操作使用EM算法即可。(当然最开始计算每个原创 2020-08-14 13:24:19 · 662 阅读 · 0 评论 -
李宏毅机器学习笔记(十二)——半监督学习
文章目录一.什么是半监督学习二.分类问题生成模型中的EM算法三.基于低密度分离的分类1.自我学习2.基于信息熵的正则化3.半监督SVM一.什么是半监督学习 在现实中,所谓的数据是很多的,例如图片数据,随处拍都会有很多,然而所谓的有标签的数据,最开始都是要由人来定义的,因此有标签数据集其实也是比较珍贵的。而半监督学习总的来说,顾名思义,半监督意味着做训练的时候,既使用了有标签数据,又使用了没有标签的数据。要注意,如果我们这样做了,一般来说没有标签的数据都是远大于有标签的数据的,否则如果有标签数据更多的话原创 2020-08-13 15:00:48 · 894 阅读 · 0 评论 -
李宏毅机器学习笔记(十一)——图神经网络(GNN)
文章目录一.与图相关的问题二.基于空间特征的图神经网络(spatial-based)1.NN4G2.DCNN/DGC3.MoNET/GAT4.GIN三.基于频谱的图神经网络 前言:这部分是比较新兴的内容,内容杂且难度较大,这里只是根据课上所讲加上自己的理解去总结一小部分最浅显的内容,主要用于科普,不能用于GNN的入门一.与图相关的问题 这里的图,指的不是现实中的图片,图片我们使用CNN即可;这里指的是数据结构中的图。这种图是非常结构化的数据,而且由于数据是多对多的关系,因此具有最高的普适性。然而很原创 2020-08-12 10:38:24 · 1811 阅读 · 0 评论 -
李宏毅机器学习笔记(十)——循环神经网络(RNN)
文章目录一.时间序列模型与神经网络的改进一.时间序列模型与神经网络的改进 本次我们以各种语言处理的问题为例。我们先考虑一个实体识别问题:即输入一句话,输出对应的每个字在这句话中属于哪种定义的实体。 如果我们套用以前的思路,首先我们要先确定我们的输入。当然输入有很多种处理方式,最简单和常用的就是One-hot词编码,把每个词对应c...原创 2020-08-11 14:26:54 · 775 阅读 · 1 评论 -
李宏毅机器学习笔记(九)——卷积神经网络(CNN)
文章目录一.图像的特点二.卷积神经网络的原理1.卷积层2.池化层3.全连接层三.查看CNN的学习内容四.CNN的其余应用一.图像的特点 以前的问题中,我们的输入是一个明显的n维向量,但对于一张图片,或者是可以与图片类比的内容(比如说棋盘等等),如果我们想要使用神经网络,按照以前的思想,那就是把图片也转化成一个n维向量。 当然,依靠之前的神经网络,反正是全连接的,那转化方式就不重要了,直接摊平去按照以前的方式去处理就好了,但是随之麻烦也就来了,因为图片具有以下特点: 1.图片一般比较大,经常是1原创 2020-08-07 21:33:01 · 496 阅读 · 0 评论 -
李宏毅机器学习笔记(八)——训练神经网络的进阶技巧
文章目录一.训练后可能出现的问题二.解决欠拟合1.更高级的优化器2.新的激活函数三.解决过拟合1.早期停止——面向第三步优化2.正则化——面向第二步优化3.Dropout——面向第一步优化一.训练后可能出现的问题 类似于简单的回归问题,各种神经网络也会存在着欠拟合和过拟合的情况。我们这里不考虑数据集中的噪声和数据量的影响,就考虑使用神经网络的三个步骤。对于一个足够复杂的神经网络,如果出现了欠拟合情况,那必然是没有计算出对应的比较好的解,即第三步选择最好的函数的问题;而过拟合的情况代表着训练集上已经足够原创 2020-08-06 13:56:48 · 449 阅读 · 0 评论 -
李宏毅机器学习笔记(七)——反向传播与全连接神经网络的构建
文章目录一.反向传播(BP算法)二.简单全连接神经网络的构建一.反向传播(BP算法) 虽然名字听起来高大上,但是意思其实就是从后往前,通过链式求导来求得梯度,之后再用梯度下降等方法来进行参数更新而已。 如图所示,就是一层函数套一层函数就行,那这个式子再带入损失函数去参数www和bbb求导,也都不是难事了。具体的推导老师讲的很详细,这里就不细讲了。二.简单全连接神经网络的构建 笔者以异或问题为例,建立一个如下的二层的神经网络。代码格式和风格参考了其他的课程。 首先我们可以整理一下训练神经原创 2020-08-04 21:29:40 · 319 阅读 · 0 评论 -
李宏毅机器学习笔记(六)——深层网络的意义
文章目录一.通用近似定理二.深层网络的合理性一.通用近似定理 通俗的来说,这个定理可以推出一个两层的全连接神经网络,就可以做一切神经网络可以做的事情了。 当然,定理的具体表达和严格证明都涉及到不少泛函的东西,因此这里不做严格证明,但笔者整理了一下各处的思路,可以用如下方法去考虑: 总得来说,想解决的问题有三类:布尔表达式判断,分类,和拟合函数。 对于布尔表达式判断,就是有多个布尔输入,最后判断对还是错。学过数字逻辑就可以知道,任何的逻辑表达式都可以化为标准与或式,如下图所示。然而单层的神经原创 2020-08-04 14:30:19 · 333 阅读 · 0 评论 -
李宏毅机器学习笔记(五)——全连接神经网络
文章目录一.线性分类的弊端与神经网络的引入二.深度学习的三个步骤三.全连接神经网络的结构一.线性分类的弊端与神经网络的引入 我们可以看如下的异或二分类问题,我们显然可以看到,我们使用一条直线显然是无法将其分开的。 但是我们可以用以下思路来想:我们是否可以转变一下特征,做一个所谓的线性变换,使其可以线性可分?这样当然是可以的而且有多种方式,比如视频中所示的方式,再或者是x1x_1x1和x2x_2x2之间的差的绝对值等等,做完这个转换后我们就明显可以看出是线性可分的了。 但是问题在于,这个原创 2020-08-03 20:42:17 · 601 阅读 · 0 评论 -
李宏毅机器学习笔记(四)——分类问题
文章目录一.二分类问题1.朴素贝叶斯一.二分类问题 在二分类中,最终我们要的输出就是两个数值,代表着分到了第一类还是第二类。对比一下我们的回归问题,对于每个点输出的值是在整个实数范围内的,因此分类不能直接的用回归的思想去解决,要另辟蹊径。1.朴素贝叶斯 最简单而直观的想法,当然就是转换成对于一个nnn维向量输入,我们去计算它属于这两个类的概率,哪个概率大,就分到哪个类。 那对于这个nnn维向量输入xxx而言,设这两个类分别是C1C_1C1和C2C_2C2,那我们想要计算的,就是xxx在类原创 2020-08-03 15:10:15 · 603 阅读 · 0 评论 -
李宏毅机器学习笔记(三)——梯度下降及优化
文章目录一.梯度下降二.自适应步长1.与牛顿迭代法的联系一.梯度下降 梯度下降算法相信大家都不陌生,这里就是展示一下公式,这里的θ\thetaθ是一个向量。θ(n)=θ(n−1)−η∇L(θ(n−1))\theta^{(n)}=\theta^{(n-1)}-\eta\nabla L(\theta^{(n-1)})θ(n)=θ(n−1)−η∇L(θ(n−1)) 下面是一张体现普通梯度下降的图,可见走的方向恰好与梯度方向相反,且正比于偏导数。二.自适应步长 普通的梯度下降的问题在于,我们的步长原创 2020-07-26 23:42:29 · 1742 阅读 · 1 评论 -
李宏毅机器学习笔记(二)——欠拟合与过拟合
文章目录一.误差的来源1.实例——手枪打靶2.打靶与回归的联系3.方差的来源4.偏差的来源5.欠拟合与过拟合的概念二.减少误差的策略一.误差的来源 这里的误差就是指我们在测试集上的误差,而不是训练集上的损失值。1.实例——手枪打靶 我们把每次的打靶看成是独立同分布的样本,中心为我们的目标。我们很容易可以看出,误差来源于两个部分:偏差(bias)和方差(variance)。其中偏差指的是样本的平均位置与中心的距离;而方差则是离散程度,我们可以看出要想有比较小的总误差,这两方面都要兼顾。2.打靶原创 2020-07-12 22:42:47 · 616 阅读 · 0 评论 -
李宏毅机器学习笔记(一)——线性回归
文章目录一.什么是回归二.回归的简单例子与步骤1.提出问题2.建立函数模型3.评价预估函数的好坏一.什么是回归 总的来说,其实回归就是一种预测。我们给出了一些已有的数据和对应的结果,然后我们又给出了一些未知结果的数据,然后我们去找出一个函数,去尽量好的得到对应的结果,这其实就是广义上的回归问题。 当然,这个所谓的"函数"可以是任何的函数,因为我们的目标就是得到好的预测结果——注意,是对我们本来不知道结果的数据的预测结果。二.回归的简单例子与步骤1.提出问题 教授的例子十分的有趣,是一个根绝原创 2020-07-12 20:08:27 · 512 阅读 · 0 评论