生成学习算法
生成式学习算法

⽣成式学习算法考虑⼀个分类问题:根据⼀个动物的特征来区分该动物是⼤象(y=1)还是狗(y = 0).利⽤逻辑回归找到⼀条直线,即分界线,将训练集中的⼤象和狗分开,当给定⼀个新的动物特征时,检查该动物位于分界线的哪⼀边,然后做出判断是⼤象,还是狗,就是对p(y|x;θ)进⾏建模。
这⾥我们来看另⼀种不同的思路,⾸先根据训练集,我们找出⼤象有什么特征,然后找出狗有什么特征,当要对⼀个新的动物进⾏分类的时候,我们就对⽐该动物是与⼤象的特征更加匹配还是与狗的特征更加匹配,从⽽进⾏分类。
直接学习p(y|x)的算法是直接把特征x映射到类别{0,1},被称为判别式学习算法(discriminative learning algorithms).这⾥,我们将要讨论另外⼀种学习算法:⽣成式学习算法(generative learning algorithms).例如,如果y表⽰某⼀个样本是狗(y=0)还是⼤象(y=1),那么p(x|y=0)就是狗的特征分布,p(x|y=1)表⽰⼤象的特征分布。
在我们知道p(y)(这个值可以根据训练集中各个类别的多少容易统计出来),并且对p(x|y)建模后,利⽤贝叶斯规则,就可以得到在给出x时y 的后验分布:分母p(x) = p(x|y=1)p(y=1)+p(x|y=0)p(y=0).1.⾼斯判别分析(Gaussian discriminant analysis,GDA)⽤多元正态分布对p(x|y)进⾏建模:其中是均值向量,是协⽅差矩阵,y不是0就是1,显然服从伯努利(Bernoulli)分布.把上⾯的表达式展开写:这个模型的参数有:和,于是参数的对数似然函数:通过对上述对数似然函数进⾏最⼤化(通过程序,逐步迭代),可以得出各个参数的最⼤似然评估(下⾯是理论上数学计算出的具有最⼤似然性的参数值):2. GDA和逻辑回归如果我们把看作是关于的函数,则可以发现下⾯有趣的现象:是关于的函数,等式右边正是逻辑回归的模型——⼀种判别式算法,⽤来建模p(y=1|x).但是哪⼀个模型更好呢?GDA还是逻辑回归?由上⾯的等式可以看出,如果p(x|y)是多元的⾼斯分布,可以得出p(y|x)必然就是⼀种逻辑函数,但是反过来说就不对了。
佛洛伊德算法

佛洛伊德算法摘要:1.佛洛伊德算法简介2.算法原理与流程3.应用领域4.优缺点分析5.我国在相关领域的研究与进展正文:佛洛伊德算法是一种基于人工智能的文本生成算法,它的核心思想是通过学习大量文本数据,生成与输入文本相似的自然语言文本。
该算法由深度学习领域的专家们提出,并在近年来逐渐成为自然语言处理领域的研究热点。
1.佛洛伊德算法简介佛洛伊德算法,又称为变分自编码器(Variational Autoencoder, VAE),是一种生成模型。
它通过将输入文本编码成低维度的“潜在空间”,再从潜在空间中采样一个向量,最后将该向量解码成生成文本。
这种方法使得模型能够在学习过程中捕捉到输入文本的语义信息,从而生成与原始文本相似的自然语言文本。
2.算法原理与流程(1)编码器:将输入文本编码成低维度的潜在空间。
(2)采样器:在潜在空间中随机采样一个向量。
(3)解码器:将采样向量解码成生成文本。
(4)损失函数:衡量生成文本与原始文本之间的差距。
3.应用领域佛洛伊德算法广泛应用于自然语言处理领域,包括文本生成、机器翻译、对话系统等。
通过学习大量文本数据,该算法能够生成连贯、通顺的自然语言文本,为各种应用场景提供有力支持。
4.优缺点分析优点:(1)生成文本质量高,具有较强的语义表达能力。
(2)能够捕捉到输入文本的潜在语义结构,较好地满足自然语言生成的需求。
缺点:(1)训练过程可能需要大量的计算资源和时间。
(2)生成文本可能存在一定的随机性,导致多样性不足。
5.我国在相关领域的研究与进展近年来,我国在自然语言处理领域取得了显著的研究成果。
不仅提出了许多具有创新性的算法,还在国际竞赛中取得了优异成绩。
同时,我国政府和企业也在大力支持人工智能技术的发展,为相关领域的研究提供了有力保障。
总之,佛洛伊德算法作为一种先进的文本生成方法,在自然语言处理领域具有广泛的应用前景。
人工智能中的深度学习算法

人工智能中的深度学习算法深度学习算法是人工智能领域中的关键技术之一,它通过模仿人脑的神经网络结构和学习方式,实现了许多令人惊叹的成就。
本文将深入探讨深度学习算法的原理、应用以及未来发展方向。
深度学习算法的原理基于神经网络的结构和工作方式。
神经网络是由多个神经元节点以及它们之间的连接组成的网络,每个神经元节点接收前一层节点的输入,并通过激活函数对这些输入进行加权求和,最终产生输出。
深度学习算法中的“深度”指的是神经网络的层数,深层网络能够学习到更加复杂和抽象的特征,从而提高模型的表征能力。
深度学习算法的训练过程通常使用反向传播算法。
反向传播算法通过计算损失函数对各个参数的梯度,然后根据梯度来更新参数的数值,最终使得模型的输出结果与真实值尽可能接近。
深度学习算法还需要大量的训练数据来获取足够的样本量进行模型训练,以便提高算法的准确性和泛化能力。
深度学习算法在许多领域中都取得了卓越的成果。
在计算机视觉领域,深度学习算法能够实现图像分类、目标检测和图像生成等任务。
例如,通过使用卷积神经网络(Convolutional Neural Network, CNN),深度学习算法在图像分类任务中取得了比传统方法更高的准确率。
在自然语言处理领域,深度学习算法可以实现自动文本生成、情感分析和机器翻译等任务。
通过使用长短期记忆网络(Long Short-Term Memory, LSTM)和注意力机制(Attention Mechanism),深度学习算法在文本生成和机器翻译任务中取得了显著的改进。
深度学习算法还在医学影像分析、金融风险预测等领域中发挥重要作用。
在医学影像分析中,深度学习算法可以帮助医生识别和分析疾病标记物,辅助诊断和治疗。
在金融风险预测中,深度学习算法可以通过分析大量的历史数据来预测市场波动和风险因素,为投资决策提供参考和建议。
尽管深度学习算法在许多领域中取得了巨大成功,但它仍然面临一些挑战和限制。
AI必知的十大深度学习算法

AI必知的十大深度学习算法深度学习算法在如今的人工智能领域中扮演着重要的角色。
它们能够模拟人脑的神经网络结构,以逐渐改进和提升机器对复杂问题的理解能力。
在本文中,我们将介绍AI必知的十大深度学习算法。
一、感知机算法感知机算法是人工神经网络的基础。
它模拟了神经网络中的神经元处理信息的方式。
该算法基于线性可分的概念,能够将不同样本进行分类。
感知机算法的流程包括权重初始化、输出计算、误差计算和权重更新。
二、反向传播算法反向传播算法是深度学习中最重要的算法之一。
通过使用链式法则,它能够从输出端逆向传播误差,并更新神经网络中的权重。
这种算法的有效性使得神经网络能够逐层学习和提升。
三、卷积神经网络(CNN)卷积神经网络是一种专门用于处理图像和语音等数据的深度学习算法。
它使用了卷积和池化等操作,能够自动提取输入数据中的重要特征。
卷积神经网络在图像分类、目标检测等任务中表现出色。
四、循环神经网络(RNN)循环神经网络是一种能够处理序列数据的深度学习算法。
相较于传统神经网络,RNN能够引入时间维度信息,使得模型能够记忆和利用过去的状态。
这使得它在语言模型、机器翻译等任务中取得较好的效果。
五、长短期记忆网络(LSTM)长短期记忆网络是对RNN的改进版本。
它通过引入“门”的概念,能够更好地解决传统RNN中梯度消失和梯度爆炸的问题。
LSTM的结构使得它能够更好地处理长时间依赖性问题。
六、生成对抗网络(GAN)生成对抗网络由生成器和判别器组成。
生成器试图生成与真实数据相似的数据,而判别器则试图将它们与真实数据区分开来。
通过两者之间的对抗训练,GAN能够生成逼真的新数据,如图像、音频等。
七、自编码器自编码器是一种无监督学习的算法。
它试图将输入数据编码成低维表示,并通过解码器进行重构。
自编码器能够学习到输入数据的关键特征,具有数据降维和去噪能力。
八、深度信念网络(DBN)深度信念网络是一种多层的生成模型。
它由多个受限玻尔兹曼机组成,能够学习到数据分布的概率模型。
基于深度学习的仿真数据生成算法研究

基于深度学习的仿真数据生成算法研究随着人工智能的不断发展,深度学习已经成为了一种热门的技术,被广泛应用于图像识别、语音识别、自然语言处理等领域。
而与此同时,深度学习技术也被用于仿真数据生成算法的研究。
仿真数据生成算法是指使用计算机程序生成一组由现实世界中的数据或模型构成的数据集,用于测试和验证模型的性能。
由于真实数据的获取难度和成本较高,仿真数据生成算法成为了一种更加经济实用的方法。
同时,这些数据也可以用来训练机器学习模型和优化算法,从而提高模型的准确率和鲁棒性。
目前,深度学习技术被广泛应用于仿真数据生成算法的研究中,其主要优势在于能够模拟出更加真实的数据和更加高效的算法。
下面将从建模方法、模型选择和训练策略等方面进行探讨。
建模方法深度学习技术主要包括神经网络和卷积神经网络两种类型。
其中,神经网络主要用于处理结构化数据,卷积神经网络则主要用于处理图像和视频数据。
在仿真数据生成算法中,通常采用的是卷积神经网络。
其主要优势在于能够有效地模拟出图像和视频数据的状态和变化。
对于图像数据而言,卷积神经网络可以有效地提取出图像中的特征和模式,从而生成出更加真实的图像。
对于视频数据而言,卷积神经网络则可以模拟出视频中的动态变化和细节,从而实现更加真实的仿真数据生成。
模型选择在选择深度学习模型时,需要考虑到数据的特性和所需模拟的情境。
对于不同的数据和情境,适用的模型也会有所不同。
例如,在一些需要模拟出高清晰度图像的场景中,通常会采用图像超分辨率技术,其主要思路是通过降采样和上采样的方式,从原始低分辨率图像中还原出高分辨率图像。
而对于需要模拟出三维结构的场景中,通常会采用生成对抗网络(GAN)技术,其主要思路是通过博弈的方式让生成器和判别器相互竞争,并逐步提升生成器的能力,从而生成出更加真实的三维结构模型。
训练策略训练策略是深度学习模型中不可或缺的一部分,它关系到模型的准确率和鲁棒性。
在仿真数据生成算法中,一个好的训练策略常常能够使得模型的性能得到更加显著的提升。
如何利用深度学习算法进行智能音乐生成和合成

如何利用深度学习算法进行智能音乐生成和合成一、智能音乐生成的背景与意义深度学习算法近年来在诸多领域取得了巨大成功,音乐创作也不例外。
利用深度学习算法进行智能音乐生成和合成已经成为一个备受关注的研究方向。
智能音乐生成是指借助计算机科学和人工智能技术,通过自动生成或者模仿人类音乐创作风格,将旋律、节奏等元素进行组合,创作出新颖而富有美感的音乐作品。
智能音乐生成有着广泛应用的潜力和价值。
首先,对于一些没有音乐创作经验或才华的人,基于深度学习算法的智能音乐生成可以打破门槛,使他们有机会进行创作,并且享受到创造美妙音符的快感。
其次,在影片制作中,智能音乐生成可以为电影、游戏等娱乐媒体提供个性化而独特的原创配乐。
此外,在广告行业和流行歌曲制作领域,智能音乐生成也具备很大商业价值。
二、基于深度学习的智能音乐生成算法1. 音符建模与序列生成在深度学习中,有一类经典的序列生成模型,如循环神经网络(RNN)、长短时记忆网络(LSTM)和变换器(Transformer)。
这些模型可用于将音符序列转化为向量表示,并通过学习一系列规则、节奏以及旋律的概率分布,来进行智能音乐生成。
2. 音乐表达与情感建模除了考虑音符之间的关联,深度学习还可以用于捕捉音乐中的情感和情绪。
例如,通过使用卷积神经网络(CNN)提取特征并拟合出高层次的多元函数表达式,可以实现对情感信息的建模。
这样一来,智能音乐生成不仅可以保持音符、和声等方面上的连贯性,还能够在情感上给人以共鸣。
3. 样式迁移与创新性创作对于那些希望通过机器辅助手段进行个性化创作的人而言,样式迁移技术是一个重要研究方向。
利用深度学习算法和大规模数据集进行训练后,可以将某位特定艺术家的音乐风格迁移到其他音乐中,实现与原创音乐的风格层面的融合。
三、智能音乐合成技术1. 波形生成和移调深度学习不仅可以用于生成音符序列,还可以直接应用于波形生成。
利用生成对抗网络(GAN)等算法,可以在保持音频真实性的同时,对音色、节奏、速度进行调整。
生成式人工智能算法

生成式人工智能算法生成式人工智能算法是一种能够从输入数据中生成新的、有意义的输出数据的算法。
与传统的机器学习算法不同,生成式人工智能算法不仅可以识别和分类输入数据,还可以生成与输入数据具有相似特征的新数据。
这种算法的应用非常广泛,包括自然语言生成、图像生成、音频生成等领域。
生成式人工智能算法的核心思想是通过学习输入数据的分布特征,然后根据学习到的模型生成新的数据。
其基本流程可以分为两个阶段:训练和生成。
在训练阶段,算法利用大量的输入数据进行学习,通过建立概率模型来捕捉输入数据的分布特征。
在生成阶段,算法根据学习到的模型,利用随机数生成新的数据样本。
生成式人工智能算法的一个重要应用领域是自然语言生成。
通过学习大量的文本数据,算法可以掌握语言的语法、语义等规律,从而能够生成与原始文本具有相似特征的新文本。
这种算法可以应用于生成文章、对话系统、智能客服等场景中。
另一个重要的应用领域是图像生成。
通过学习大量的图像数据,生成式人工智能算法可以生成与原始图像具有相似特征的新图像。
这种算法可以用于图像风格迁移、图像修复、图像生成等任务。
生成式人工智能算法还可以应用于音频生成。
通过学习大量的音频数据,算法可以生成与原始音频具有相似特征的新音频。
这种算法可以应用于语音合成、音乐生成等领域。
生成式人工智能算法在实际应用中存在一些挑战。
首先,算法需要大量的训练数据才能够生成高质量的输出。
其次,算法生成的新数据可能存在一定的偏差,与真实数据略有差异。
此外,算法的计算复杂度较高,需要较长的训练时间和较大的计算资源。
生成式人工智能算法是一种强大的算法,能够从输入数据中生成新的、有意义的输出数据。
它在自然语言生成、图像生成、音频生成等领域具有广泛的应用前景。
随着算法的不断改进和发展,相信生成式人工智能算法将在各个领域发挥越来越重要的作用。
生成式人工智能技术基础

生成式人工智能技术基础随着人工智能技术的发展,生成式人工智能成为了当前研究的热点之一。
生成式人工智能是指利用机器学习和自然语言处理等技术,让机器能够生成新的、具有一定创造性的内容,例如文章、音乐、绘画等。
生成式人工智能技术基础包括了神经网络模型、语言模型和生成算法等关键要素,下面将对其进行详细介绍。
一、神经网络模型神经网络是生成式人工智能技术的核心之一。
它是一种模拟人脑神经元之间相互连接的计算模型,通过大量的计算单元(神经元)和它们之间的连接(权重)来模拟和学习输入和输出之间的关系。
在生成式人工智能中,神经网络可以通过训练来学习输入和输出之间的映射关系,从而实现生成新内容的能力。
常用的神经网络模型包括循环神经网络(RNN)、长短时记忆网络(LSTM)和变换器网络(Transformer)等。
二、语言模型语言模型是生成式人工智能技术中另一个重要的组成部分。
语言模型是指机器对语言的概率分布建模,即预测一句话或一段文本出现的概率。
在生成式人工智能中,语言模型可以用来生成符合语法和语义规则的新文本。
语言模型的核心思想是利用历史上已经出现的文本数据来预测下一个词或字符的出现概率,从而生成连贯的新文本。
常用的语言模型包括n-gram模型、循环神经网络语言模型(RNNLM)和变换器语言模型(Transformer-XL)等。
三、生成算法生成算法是生成式人工智能技术中的关键环节。
生成算法用于根据神经网络模型和语言模型生成新的内容。
常用的生成算法包括基于贪婪搜索的算法、基于束搜索的算法和基于蒙特卡洛树搜索的算法等。
其中,贪婪搜索算法是一种简单而高效的算法,每次选择概率最高的词或字符作为生成的下一个内容;束搜索算法是一种综合考虑多个备选项的搜索算法,通过设置束宽来控制生成的多样性;蒙特卡洛树搜索算法是一种基于随机模拟的搜索算法,通过多次模拟生成的路径来评估生成的质量并选择最佳路径。
生成式人工智能技术基础包括了神经网络模型、语言模型和生成算法等关键要素。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四部分 生成学习算法到目前为止,我们主要讨论了建模);|(θx y p ——给定x 下的y 的条件分布——的学习算法。
例如,逻辑回归把);|(θx y p 建模成)()(x g x h T θθ=,这里g 是sigmoid 函数。
在这些讲义中,我们将讨论一种不同形式的学习算法。
考虑一个分类问题,在这个分类问题中,我们想基于一个动物的一些特征,来学习区分是大象(1=y )还是小狗(0=y )。
给定一个训练集,一个诸如逻辑回归或感知器的算法(基本上)试图找到一条直线—也就是一个分界线—来分离大象和狗。
然后,为了把一个新动物归类成大象或者小狗,要检查它落在了边界线的哪一侧,相应地做出预测。
这里有一个不同的方法。
首先,看大象,我们可以建立一个大象看起来像什么的模型。
然后,看小狗,我们可以建立一个不同的小狗看起来像什么的模型。
最后,为了把一个新动物分类,我们可以把它和大象模型相比配,而且把它和小狗模型相比配,来看那个新动物是看起来更像我们训练集中的大象,还是更像我们训练集中的小狗。
试图直接学习)|(x y p 的算法(例如逻辑回归)或试图学习从输入空间X 直接映射到标签}1,0{的算法(如感知器算法),被称作判别学习算法(discriminative learing algorithms)。
这里,我们反而将讨论试图建模)|(y x p (和)(y p )的算法。
这些算法被称作生成学习算法(generative learing algorithms)。
比如,如果y 表示一个样例是一只小狗(0)或者一只大象(1),然后)0|(=y x p 是小狗特征分布的模型,)1|(=y x p 是大象特征分布的模型。
建完模型)(y p (称作类的先验(class priors))和)|(y x p ,我们的算法然后可以使用贝叶斯公式来推导给定x 时的y 的后验分布:.)()()|()|(x p y p y x p x y p = 这里,分母由)0()0|()1()1|()(==+===y p y x p y p y x p x p 给出(你应该能够核实这是标准的概率性质),因此也可以根据我们学习的)|(y x p 和)(y p 项表示出来。
实际上,如果我们在为了做出预测而计算)|(x y p ,然后我们实际上不需要计算分母,因为).()|( arg )()()|( arg )|( arg max max max y p y x p x p y p y x p x y p yy y ==1 高斯判别分析我们将要看的第一个生成学习算法是高斯判别分析(GDA )。
在这个模型中,我们将假定)|(y x p 服从多元正态分布。
在继续讨论GDA 模型本身之前,让我们简单的谈一下多元正态分布的特征。
1.1 多元正态分布n 维的多元正态分布,也称作多元高斯分布,是由一个均值向量(mean vector)n R ∈μ和一个协方差矩阵(covariancematrix)n n R ⨯∈∑参数化的,这里,0≥∑是对称的和半正定的。
也写作)",("∑μN ,它的密度由))()(21exp(||)2(1),;(1212/μμπμ-∑--∑=∑-x x x p T n 给出。
在上面的等式中,|"|"∑表示矩阵∑的行列式。
对于一个服从),(∑μN 的随机变量X ,(毫无令人意外)均值由μ给出:.),;(][μμ=∑=⎰xdx x xp X E 一个向量值随机变量Z 的协方差被定义为]])[])([[()(T Z E Z Z E Z E Z Cov --=。
这推广了一个实数值随机变量的方差的符号。
协方差也可以被定义成T T Z E Z E ZZ E Z Cov ))(])([(][)(-=。
(你应该能够向自己证明这两个定义是相等的。
)如果),(~∑μN X ,那么.)(∑=X Cov这里有一些高斯分布的密度看起来像什么的例子:最左边的图形显示了一个零均值(即,2 x 1的0-向量)和协方差矩阵I =∑(2 x 2的单位矩阵)的高斯分布(的密度)。
一个具有零均值和单位协方差(阵)的高斯分布也被称为标准正态分布(standard normal distribution)。
中间的图形显示了一个具有零均值和I 0.6=∑的高斯分布的密度;最右边的图形显示了一个零均值和I 2=∑的高斯分布的密度。
我们看到,随着∑变得更大,高斯分布变得更“分散”,当它变得更小,分布变得更“压紧”的。
让我们再看一些例子。
上面的图形显示了0均值和协方差矩阵分别为⎥⎦⎤⎢⎣⎡=∑⎥⎦⎤⎢⎣⎡=∑⎥⎦⎤⎢⎣⎡=∑1 8.08.0 1;1 5.05.0 1;1 00 1 的高斯分布。
最左边的图形显示了熟悉的标准正态分布,我们看到当我们增加∑中的非对角元素,沿45°直线(由21x x =给出的)密度变得更“压紧”。
当我们看相同三个密度的轮廓时,我们可以更清晰地看到这些:这里是最后一组通过变化∑产生的例子。
上边的图形分别使用了.1 8.08.0 3;1 8.08.0 1;1 5.05.0 1⎥⎦⎤⎢⎣⎡=∑⎥⎦⎤⎢⎣⎡--=∑⎥⎦⎤⎢⎣⎡--=∑ 从最左边和中间的图形,我们看到通过减小协方差矩阵的对角线元素,密度现在再次变得“压紧的”,但是是相反的方向。
最后,当我们改变参数,轮廓一般会形成椭圆形的(最右边的图形显示了这样一个例子)。
作为我们最后一组例子,固定I =∑,通过改变μ,我们也可以在周围移动密度的均值。
上面的图形由I =∑,均值向量分别为⎥⎦⎤⎢⎣⎡--=⎥⎦⎤⎢⎣⎡-=⎥⎦⎤⎢⎣⎡=5.11;05.0;01μμμ 所生成的。
1.2 高斯判别分析模型当我们有一个输入特征x 是连续值随机变量的分类问题时,我们然后可以使用高斯判别分析(GDA )模型,这个模型使用多元正态分布建模)|(y x p 。
模型为:),(~1|),(~0|)(~10∑=∑=μμφN y x N y x Bernoulli y写出这个分布,它是:)).()(21exp(||)2(1)1|())()(21exp(||)2(1)0|()1()(1112120102121μμπμμπφφφ-∑--∑==-∑--∑==-=---x x y x p x x y x p y p T n T n y 这里,我们模型的参数是10,,μμφ和∑。
(注意,尽管模型中有两个不同的均值10μμ和,但这个模型通常被使用时只使用一个协方差矩阵∑。
)数据的log-似然由 ∏∏==∑=∑=m i i i i mi i i y p y x p y x p l 1)(10)()(110)()();(),,;|(log ),,,;,(log )(φμμμμφθ给出。
通过关于参数来最大化l ,我们发现参数的最大似然估计为:∑∑∑∑∑∑======--=∑========m i T y i y i m i i m i i i m i i m i i i m i i i i x x m y x y y x y y m 1)()(1)(1)()(11)(1)()(01)(.)()(1}1{1}1{1}0{1}0{1}1{11)()(μμμμφ形象地,算法在做什么如下所示:图形中显示的是训练集,和两个已经拟合了两类数据的高斯分布的轮廓。
注意,两个高斯分布有相同形状和朝向的轮廓,因为他们共有一个协方差矩阵∑,但是他们有不同的均值10μμ和。
图形中也显示了一条给出决策边界的直线,在直线上5.0)|1(==x y p 。
在边界的一侧,我们预测1=y 是最有可能的结果,在另一侧,我们预测0=y (是最有可能的结果)。
1.3 讨论:GDA 和逻辑回归GDA 模型同逻辑回归有一个有趣的关系。
如果我们把),,,;|1(10∑=μμφx y p 看作x 的函数,我们将会发现它可以被表示成)exp(11),,,;|1(10x x y p T θμμφ-+=∑= 这样的形式,在这里θ是某个合适的10,,,μμφ∑的函数。
这恰好是逻辑回归——一个判别算法——用来建模)|1(x y p =的形式。
我们什么时候更喜欢哪个模型呢?一般而言,当训练相同的数据集时,GDA 和逻辑回归将给出不同的决策边界。
哪个更好?我们刚刚表明如果)|(y x p 服从(共有∑的)多元高斯分布,然后)|(x y p 必然是一个逻辑函数。
然而,逆命题是不对的;也就是说,)|(x y p 是一个逻辑函数不一定意味着)|(y x p 是多元高斯分布。
这表明,相比逻辑回归,GDA 关于数据做了更强的建模假设。
事实证明,当这些建模假设是正确的,GDA 将会更好的拟合数据,是一个更好的模型。
明确地说,当)|(y x p 确实是(共有∑的)高斯分布,然后GDA 是渐进有效(asymptotically efficient)的。
非正式地,这意味着在非常大的训练集中(大的m ),没有算法严格地比GDA 更好(就评估)|(x y p 的精确性而言)。
特别是,可以证明,在这个背景下,GDA 是一个比逻辑回归更好的算法;更一般地,即使对于小规模的训练集,我们一般认为GDA 会更好一些。
相比之下,通过做出明显较弱的假设,逻辑回归对不正确的建模假设也更是鲁棒和不敏感。
有很多不同的假设集可以致使)|(x y p 为一个逻辑函数的形式。
比如说,如果),(~1|),(~0|10λλPoisson y x Poisson y x ==然后)|(x y p 将是逻辑函数。
逻辑回归对于像这样的Poisson 数据也工作的不错。
但是如果我们使用GDA 在这样的数据上——在这样非高斯分布的数据上拟合高斯分布——那么结果将是难以预测的,GDA 可能(或可能不)工作的好。
总结:GDA 做了更强的建模假设,于是当建模假设是正确的或近似正确时,它是更加数据有效的(也就是需要更少的数据就可以学习“好”)。
逻辑回归做了弱一些的假设,因此对于建模假设中的偏差是明显更加鲁棒的。
具体地说,当数据确实不是高斯分布时,然后在大的数据集下,逻辑回归几乎总是比逻辑回归做的好。
由于这个原因,在实践中逻辑回归比GDA 使用的更多。
(尽管关于判别vs 生成模型的一些相关的考虑也适用于我们接下来要讨论的朴素贝叶斯算法,但是朴素贝叶斯算法仍被认为是一个好的,当然也是一个很受欢迎的,分类算法。
)2 朴素贝叶斯算法在GDA 中,特征向量x 是连续的实值向量。
现在让我们讨论一种不同的学习算法,在这个算法中,s x i '是离散值。
对于我们的激励的例子,考虑使用机器学习建立一个电子邮件的垃圾邮件过滤器。
这里,我们希望根据它们是未经请求的商业(垃圾)电子邮件还是非垃圾邮件进行分类。