李宏毅-B站机器学习视频课件RNN training
李宏毅2021春机器学习课程笔记——生成对抗模型模型
![李宏毅2021春机器学习课程笔记——生成对抗模型模型](https://img.taocdn.com/s3/m/d8f14174793e0912a21614791711cc7931b778b8.png)
李宏毅2021春机器学习课程笔记——⽣成对抗模型模型本⽂作为⾃⼰学习李宏毅⽼师2021春机器学习课程所做笔记,记录⾃⼰⾝为⼊门阶段⼩⽩的学习理解,如果错漏、建议,还请各位博友不吝指教,感谢!!概率⽣成模型概率⽣成模型(Probabilistic Generative Model)简称⽣成模型,指⼀系列⽤于随机⽣成可观测数据的模型。
假设在⼀个连续或离散的⾼维空间\(\mathcal{X}\)中,存在⼀个随机向量\(X\)服从⼀个未知的数据分布\(p_r(x), x \in\mathcal{X}\)。
⽣成模型根据⼀些可观测的样本\(x^{(1)},x^{(2)}, \cdots ,x^{(N)}\)来学习⼀个参数化的模型\(p_\theta(x)\)来近似未知分布\(p_r(x)\),并可以⽤这个模型来⽣成⼀些样本,使得⽣成的样本和真实的样本尽可能地相似。
⽣成模型的两个基本功能:概率密度估计和⽣成样本(即采样)。
隐式密度模型在⽣成模型的⽣成样本功能中,如果只是希望⼀个模型能⽣成符合数据分布\(p_r(x)\)的样本,可以不显⽰的估计出数据分布的密度函数。
假设在低维空间\(\mathcal{Z}\)中有⼀个简单容易采样的分布\(p(z)\),\(p(z)\)通常为标准多元正态分布\(\mathcal{N}(0,I)\),我们⽤神经⽹络构建⼀个映射函数\(G : \mathcal{Z} \rightarrow \mathcal{X}\),称为⽣成⽹络。
利⽤神经⽹络强⼤的拟合能⼒,使得\(G(z)\)服从数据分布\(p_r(x)\)。
这种模型就称为隐式密度模型(Implicit Density Model)。
隐式密度模型⽣成样本的过程如下图所⽰:⽣成对抗⽹络⽣成对抗⽹络(Generative Adversarial Networks,GAN)是⼀种隐式密度模型,包括判别⽹络(Discriminator Network)和⽣成⽹络(Generator Network)两个部分,通过对抗训练的⽅式来使得⽣成⽹络产⽣的样本服从真实数据分布。
2024版机器学习ppt课件
![2024版机器学习ppt课件](https://img.taocdn.com/s3/m/50baf755a200a6c30c22590102020740bf1ecd4d.png)
机器学习ppt课件contents •机器学习概述•监督学习算法•非监督学习算法•神经网络与深度学习•强化学习与迁移学习•机器学习实践案例分析目录01机器学习概述03重要事件包括决策树、神经网络、支持向量机等经典算法的提出,以及深度学习在语音、图像等领域的突破性应用。
01定义机器学习是一门研究计算机如何从数据中学习并做出预测的学科。
02发展历程从符号学习到统计学习,再到深度学习,机器学习领域经历了多次变革和发展。
定义与发展历程计算机视觉自然语言处理推荐系统金融风控机器学习应用领域用于图像识别、目标检测、人脸识别等任务。
根据用户历史行为推荐相似或感兴趣的内容。
用于文本分类、情感分析、机器翻译等任务。
用于信贷审批、反欺诈、客户分群等场景。
A BC D机器学习算法分类监督学习包括线性回归、逻辑回归、决策树、随机森林等算法,用于解决有标签数据的预测问题。
半监督学习结合监督学习和无监督学习的方法,利用部分有标签数据进行训练。
无监督学习包括聚类、降维、异常检测等算法,用于解决无标签数据的探索性问题。
强化学习通过与环境交互来学习策略,常用于游戏AI 、自动驾驶等领域。
02监督学习算法线性回归与逻辑回归线性回归一种通过最小化预测值与真实值之间的均方误差来拟合数据的算法,可用于预测连续型变量。
逻辑回归一种用于解决二分类问题的算法,通过sigmoid函数将线性回归的输出映射到[0,1]区间,表示样本属于正类的概率。
两者联系与区别线性回归用于回归问题,逻辑回归用于分类问题;逻辑回归在线性回归的基础上引入了sigmoid函数进行非线性映射。
支持向量机(SVM)SVM原理SVM是一种二分类模型,其基本模型定义为特征空间上的间隔最大的线性分类器,其学习策略是使间隔最大化,最终可转化为一个凸二次规划问题的求解。
核函数当数据在原始空间线性不可分时,可通过核函数将数据映射到更高维的特征空间,使得数据在新的特征空间下线性可分。
SVM优缺点优点包括在高维空间中有效、在特征维度高于样本数时依然有效等;缺点包括对参数和核函数的选择敏感、处理大规模数据效率低等。
李宏毅深度学习笔记-半监督学习
![李宏毅深度学习笔记-半监督学习](https://img.taocdn.com/s3/m/9019dc315627a5e9856a561252d380eb62942335.png)
李宏毅深度学习笔记-半监督学习半监督学习什么是半监督学习?⼤家知道在监督学习⾥,有⼀⼤堆的训练数据(由input和output对组成)。
例如上图所⽰x r是⼀张图⽚,y r是类别的label。
半监督学习是说,在label数据上⾯,有另外⼀组unlabeled的数据,写成x u (只有input没有output),有U笔ublabeled的数据。
通常做半监督学习的时候,我们常见的情景是ublabeled的数量远⼤于labeled的数量(U>>R)。
半监督学习可以分成两种:⼀种叫做转换学习,ublabeled 数据就是testing set,使⽤的是testing set的特征。
另⼀种是归纳学习,不考虑testing set,学习model的时候不使⽤testing set。
unlabeled数据作为testing set,不是相当于⽤到了未来数据吗?⽤了label 才算是⽤了未来数据,⽤了testing set的特征就不算是使⽤了未来数据。
例如图⽚,testing set的图⽚特征是可以⽤的,但是不能⽤label。
什么时候使⽤转换学习或者归纳学习?看testing set是不是给你了,在⼀些⽐赛⾥,testing set给你了,那么就可以使⽤转换学习。
但在真正的应⽤中,⼀般是没有testing set的,这时候就只能做归纳学习。
为什么使⽤半监督学习?缺有lable的数据,⽐如图⽚,收集图⽚很容易,但是标注label很困难。
半监督学习利⽤未标注数据做⼀些事。
对⼈类来说,可能也是⼀直在做半监督学习,⽐如⼩孩⼦会从⽗母那边做⼀些监督学习,看到⼀条狗,问⽗亲是什么,⽗亲说是狗。
之后⼩孩⼦会看到其他东西,有狗有猫,没有⼈会告诉他这些动物是什么,需要⾃⼰学出来。
为什么半监督学习有⽤?假设现在做分类任务,建⼀个猫和狗的分类器。
有⼀⼤堆猫和狗的图⽚,这些图⽚没有label。
Processing math: 100%假设只考虑有label的猫和狗图⽚,要画⼀个边界,把猫和狗训练数据集分开,可能会画⼀条如上图所⽰的红⾊竖线。
李宏毅-B站机器学习视频课件BP全
![李宏毅-B站机器学习视频课件BP全](https://img.taocdn.com/s3/m/69c37214ff4733687e21af45b307e87100f6f869.png)
Gradient Descent
Network parameters
Starting
0
Parameters
L
L w1
L w
2
L b1
L b2
w1 , w2 ,, b1 , b2 ,
b
4
2
=
′
’’
′ ′′
(Chain rule)
=
+
′ ′′
Assumed
?
?
3
4
it’s known
Backpropagation – Backward pass
Compute Τ for all activation function inputs z
Chain Rule
y g x
Case 1
z h y
x y z
Case 2
x g s
y hs
x
s
z
y
dz dz dy
dx dy dx
z k x, y
dz z dx z dy
ds x ds y ds
Backpropagation
2
Compute Τ for all parameters
Backward pass:
Compute Τ for all activation
function inputs z
Backpropagation – Forward pass
机器学习 李宏毅课程介绍
![机器学习 李宏毅课程介绍](https://img.taocdn.com/s3/m/a89b1ef4aeaad1f346933f67.png)
X:
(speech) Chat-bot
Y : “歡迎大家來修課”
(transcription)
X:
“How are you?” (what a user says)
Y:
“I’m fine.” (response of machine)
Output Matrix
Image to Image
f :
Ref: https:///pdf/1611.07004v1.pdf
Text to Image
X : “this white and yellow flower
have thin white petals and a round yellow stamen”
Y:
ref: https:///pdf/1605.05396.pdf
Challenge of Structured Output
• The output space is very sparse: • In classification, each class has some examples. • In structured learning, most of the possible outputs never exist • Because the output components have dependency, they should be considered globally.
Output Sequence f
Machine Translation
: X Y
X : “機器學習及其深層與
結構化” (sentence of language 1) Speech Recognition
Y : “Machine learning and
2024《机器学习》ppt课件完整版
![2024《机器学习》ppt课件完整版](https://img.taocdn.com/s3/m/10dc919151e2524de518964bcf84b9d529ea2c5c.png)
《机器学习》ppt课件完整版•引言•机器学习基础知识•监督学习算法目录•无监督学习算法•深度学习基础•强化学习与迁移学习•机器学习实践与应用引言机器学习的定义与目标定义目标机器学习的目标是让计算机系统能够自动地学习和改进,而无需进行明确的编程。
这包括识别模式、预测趋势以及做出决策等任务。
早期符号学习01统计学习阶段02深度学习崛起0301020304计算机视觉自然语言处理推荐系统金融风控机器学习基础知识包括结构化数据(如表格数据)和非结构化数据(如文本、图像、音频等)。
数据类型特征工程特征选择方法特征提取技术包括特征选择、特征提取和特征构造等,旨在从原始数据中提取出有意义的信息,提高模型的性能。
包括过滤式、包装式和嵌入式等,用于选择对模型训练最有帮助的特征。
如主成分分析(PCA )、线性判别分析(LDA )等,用于降低数据维度,减少计算复杂度。
数据类型与特征工程损失函数与优化算法损失函数优化算法梯度下降变种学习率调整策略模型评估与选择评估指标评估方法模型选择超参数调优过拟合模型在训练集上表现很好,但在测试集上表现较差,泛化能力不足。
欠拟合模型在训练集和测试集上表现都不佳,未能充分学习数据特征。
防止过拟合的方法包括增加数据量、使用正则化项、降低模型复杂度等。
解决欠拟合的方法包括增加特征数量、使用更复杂的模型、调整超参数等。
机器学习中的过拟合与欠拟合监督学习算法线性回归与逻辑回归线性回归逻辑回归正则化二分类问题核技巧软间隔与正则化030201支持向量机(SVM )决策树与随机森林剪枝决策树特征重要性随机森林一种集成学习方法,通过构建多棵决策树并结合它们的输出来提高模型的泛化性能。
Bagging通过自助采样法(bootstrap sampling)生成多个数据集,然后对每个数据集训练一个基学习器,最后将所有基学习器的输出结合起来。
Boosting一种迭代式的集成学习方法,每一轮训练都更加关注前一轮被错误分类的样本,通过加权调整样本权重来训练新的基学习器。
机器学习与应用第02讲人工神经网络ppt课件
![机器学习与应用第02讲人工神经网络ppt课件](https://img.taocdn.com/s3/m/5d01ff99b8f3f90f76c66137ee06eff9aef8491c.png)
1
w(2) 21
y1
w222
y2
w223
y3
w224
y4
b22
神经网络每一层完成的变换
ul Wlxl1 bl
xl f ul
权重矩阵的每一行为本层神经元与上一层所有神经 元的连接权重
激活函数分别作用于每个神经元的输出值,即向量 的每个分量,且使用了相同的函数
内积 加偏置
激活函数
w11l
以下面的3层网络为例:
输入层
隐含层
输出层
激活函数选用sigmoid:
f
x
1
1 exp
x
隐含层完成的变换:
y1 1 exp
1
w(1) 11
x1
w112 x2
w113 x3
b11
1
y2 1 exp
w(1) 21
x1
w212 x2
w213 x3
b21
y3 1 exp
1
w(1) 31
分类问题-手写数字图像识别
28 28
输入层有784个神经元
隐含层的神经元数量根据需要设定
0 1 2 3 4 5 6 7 8 9
输出层有10个神经元
回归问题-预测人脸关键点 神经网络直接为输入图像预测出关键点的坐标(x, y)
反向传播算法简介 解决神经网络参数求导问题 源自微积分中多元函数求导的链式法则 与梯度下降法配合,完成网络的训练
y1
w122
y2
w132
y3
w142
y4
b12
z2 1 exp
1
w(2) 21
y1
w222
y2
w223
y3
李宏毅深度学习(一):深度学习模型的基本结构
![李宏毅深度学习(一):深度学习模型的基本结构](https://img.taocdn.com/s3/m/8c1bd656a9114431b90d6c85ec3a87c240288a35.png)
李宏毅深度学习(⼀):深度学习模型的基本结构李宏毅深度学习(⼀):深度学习模型的基本结构转⾃简书的⼀位⼤神博主:下⾯开始正题吧!1、全连接神经⽹络(Fully Connected Structure)最基本的神经⽹络⾮全连接神经⽹络莫属了,在图中,a是神经元的输出,l代表层数,i代表第i个神经元。
两层神经元之间两两连接,注意这⾥的w代表每条线上的权重,如果是第l-1层连接到l层,w的上标是l,下表ij代表了第l-1层的第j个神经元连接到第l层的第i个神经元,这⾥与我们的尝试似乎不太⼀样,不过并⽆⼤碍。
所以两层之间的连接矩阵可以写为如下的形式:每⼀个神经元都有⼀个偏置项:这个值记为z,即该神经元的输⼊。
如果写成矩阵形式如下图:针对输⼊z,我们经过⼀个激活函数得到输出a:常见的激活函数有:这⾥介绍三个:sigmoidSigmoid 是常⽤的⾮线性的激活函数,它的数学形式如下:特别的,如果是⾮常⼤的负数,那么输出就是0;如果是⾮常⼤的正数,输出就是1,如下图所⽰:.sigmoid 函数曾经被使⽤的很多,不过近年来,⽤它的⼈越来越少了。
主要是因为它的⼀些 缺点:**Sigmoids saturate and kill gradients. **(saturate 这个词怎么翻译?饱和?)sigmoid 有⼀个⾮常致命的缺点,当输⼊⾮常⼤或者⾮常⼩的时候(saturation),这些神经元的梯度是接近于0的,从图中可以看出梯度的趋势。
所以,你需要尤其注意参数的初始值来尽量避免saturation的情况。
如果你的初始值很⼤的话,⼤部分神经元可能都会处在saturation的状态⽽把gradient kill掉,这会导致⽹络变的很难学习。
Sigmoid 的 output 不是0均值. 这是不可取的,因为这会导致后⼀层的神经元将得到上⼀层输出的⾮0均值的信号作为输⼊。
产⽣的⼀个结果就是:如果数据进⼊神经元的时候是正的(e.g. x>0 elementwise in f=wTx+b),那么 w 计算出的梯度也会始终都是正的。
李宏毅机器学习课程——Lifelonglearning学习笔记
![李宏毅机器学习课程——Lifelonglearning学习笔记](https://img.taocdn.com/s3/m/bf0eec5532687e21af45b307e87101f69e31fb02.png)
李宏毅机器学习课程——Lifelonglearning学习笔记概述lifelong learning⾮常直观,意思是机器不能前边学后边忘。
常见的⽅法是对前边的task中学习出来的参数加⼀个保护系数,在后⾯的任务中,训练参数时,对保护系数⼤的参数很难训练,⽽保护系数⼩的参数则容易⼀些。
下⾯的图⾮常直观,颜⾊的深浅代表loss的⼤⼩,颜⾊越深loss越⼩。
在task1中θ2的变化对loss的变化⾮常敏感,⽽θ1则不敏感,所以在task2中尽量只通过改变θ1来减⼩loss,⽽不要改变θ2。
在lifelong learning中,loss的计算公式如下:L′(θ)=L(θ)+λΣi b i(θi−θb i)2其中b i就是对θ的保护系数,θi表⽰本次task中需要学习的参数,θb i是从之前的task中学习到的参数。
不同的⽅法差异就在于b i的计算。
这⾥将会结合Coding整理⼀下遇到的三个⽅法。
Coding这部分针对HW14,介绍了EWC,MAS,SCP三种⽅法,这⾥讲解⼀下具体的代码实现,并定性地分析⼀下这些⽅法是如何把哪些重要的参数保护起来。
EWCEWC中不同的保护系数f i使⽤如下的⽅法计算得到:F=[∇log(p(y n|x n,θ∗A))∇log(p(y n|x n,θ∗A))T]F的对⾓线的各个数就是各个θ的保护系数。
p(y n|x n,θ∗A)指的就是模型在给点之前 task 的 data x n以及给定训练完 task A (原来)存下来的模型参数θ∗A得到y n(x n对应的 label ) 的后验概率。
其实对参数θi,它的保护系数就是向量log(p(y n|x n,θ∗A))对θ1的偏导数∂log(p(y n|x n,θ∗A))∂θ1与⾃⾝的内积。
当对这个参数敏感时,这个偏导数会变⼤,当预测结果正确率⾼时,p(y n|x n)也会⾼,最终都会使的保护系数变⼤。
某⼀个参数⽐较敏感,这个参数下正确率⾼时,这个参数就会被很好地保护起来。
李宏毅深度学习笔记-Adagrad算法
![李宏毅深度学习笔记-Adagrad算法](https://img.taocdn.com/s3/m/620f8e6b9a6648d7c1c708a1284ac850ad0204be.png)
李宏毅深度学习笔记-Adagrad算法李宏毅深度学习笔记李宏毅深度学习视频普通的梯度下降法学习率\eta是个超参数需要⼈⼯调整,但是⼿⼯调整⽐较⿇烦普通⽅法可能出现的问题学习率太⼩(蓝⾊的线),下降慢,迭代次数多学习率太⼤(绿⾊的线),下降快,但是太快容易在极优值附近振荡学习率特别⼤(黄⾊的线),直接越过了极优值如何改善可能出现的问题想法:随着迭代次数增加,让学习率变⼩初始迭代时,使⽤较⼤的学习率加速下降迭代⼏次后,减⼩学习率防⽌振荡和越过Loading [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js可以使⽤式⼦:\large \eta^t=\frac{\eta}{\sqrt{t+1}},t增加,\eta^t减⼩当然,对每个参数都要使⽤不同的学习率,这样效果会更好,AdaGrad是这种思想的⼀种简单算法AdaGrad算法每个参数的学习率都把它除上之前微分的均⽅根,\sigma^t是每个参数的所有偏微分的均⽅根举个例⼦:Adagrad 式⼦可化简(都有\sqrt{t+1})Adagrad ⾥的问题Adagrad 中,梯度越⼤,说明步伐越⼤,但分母⾥梯度越⼤,⼜说明步伐越⼩,这⾥不是会有⽭盾吗?直观解释分⼦变⼤,分母变⼩,那分⼦式变化程度很⼤,造成反差的效果正式的解释\large -\frac{b}{2a}不是等于0,这⾥只是说明是⼀个最⼩值点,对x求微分,那么只有x在变动初始点x坐标为x_0时,最佳的变动范围是x_0到最低点的距离|x_0+\frac{b}{2a}| (注意是x轴上的变动),可以写成\large |\frac{2ax_0+b}{2a}| ,刚好|2ax_0+b| 是微分在初始点的绝对值。
如果步伐和微分成正⽐,那么这个步伐就⽐较好。
画图说明下,为什么是横轴上的距离A点斜率是\frac{BD}{AB}, A点微分为\lim \limits_{AB\rightarrow0}\frac{CB}{AB},梯度其实是和\Delta x反向的,因为只有⼀个参数x,所以\Delta x就是AB,那么其实梯度的⽅向是在x轴上的以上说明梯度越⼤,点离最低点越远梯度越⼤,点离最低点越远在多参数上是不成⽴的只考虑参数 w_1,是图中蓝⾊的线;只考虑参数 w_2,就像图中绿⾊的线c点梯度⽐a⼤,但是c距离最低点更近其实最佳距离中还有个分母2a,是y的⼆次微分那么最好的step就要考虑⼆次微分进⼀步回到Adagrad分母\sqrt{\sum\limits_{i=0}^t (g^i)^2} 是在模拟⼆次微分,因为计算⼆次微分在实际问题中是开销很⼤的。