李宏毅机器学习课程笔记2:Classification、Logistic Regression、Brief Introduction of Deep Learning

本文主要是介绍李宏毅机器学习课程笔记2:Classification、Logistic Regression、Brief Introduction of Deep Learning,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

台湾大学李宏毅老师的机器学习课程是一份非常好的ML/DL入门资料,李宏毅老师将课程录像上传到了YouTube,地址:NTUEE ML 2016 。
这篇文章是学习本课程第4-6课所做的笔记和自己的理解。


Lecture 4: Classification: Probabilistic Generative Model

以根据宝可梦各属性值预测其类型为例说明分类问题。
训练数据是若干宝可梦的各属性值及其类型。

1、分类问题不能被视为回归问题
以二类分类为例,离决策边界过远的点“过于正确”造成error很大,从而对决策边界造成影响,导致误分类。
多类分类问题,若把各类的target设成1,2,3……也是有问题的,因为这样做暗含了各类的target是有大小远近关系的。

2、给宝可梦分类的初步想法
假设现在宝可梦只有两类,要预测x属于哪类,若P(C1|x)>0.5则属于第一类,否则属于第二类。
计算P(C1|x)要用到贝叶斯公式,对Generative Model,P(x)=P(x|C1)P(C1)+P(x|C2)P(C2)是可算的,从训练数据中估计P(C1)、P(C2)、P(x|C1)、P(x|C2)这四个值。
P(C1)、P(C2)容易估计,算一下训练数据里两类各占多少就可以了。
要估计P(x|C1)、P(x|C2)就需要做一些假设。
我们假设训练数据中所有的第一类/第二类数据,都是分别从两类对应的高斯分布产生的。
理论上任何参数( μ, )的高斯分布都可以产生训练数据,只是likelihood不同。
用最大似然的方法可以得出,使得似然函数最大的参数( μ, )分别是训练数据中该类数据的平均值和协方差矩阵。
这样就可以求得P(C1|x)了。
在考虑了宝可梦的7种特征的情况下,这样的分类方法在测试集上的正确率只有54%。

3、改进模型
在上面的方法中, 的大小与输入特征的维度的平方成正比。如果两类各自的高斯分布的 不同的话,模型参数太多,容易过拟合。所以让两个 相等,都等于 =P(C1)1+P(C2)2
这样做,把准确率从54%提高到了73%。

4、在假设数据分布时,可以用你喜欢的分布。
如,假设特征的各个维度是独立的,得到朴素贝叶斯分类器。或者,对于二值特征,假设其来自于伯努利分布。

5、最后做了一些数学推导:
P(C1|x)=σ(z) σ() 表示sigmoid函数),那么在 1=2= 时, z 可以表示为wx+b
所以,在 1=2= 时,分类器有线性边界。
在生成模型中,我们通过估计 N1,N2,μ1,μ2, 来得到 w,b

Lecture 5: Logistic Regression

比较逻辑回归Logistic Regression与线性回归Linear Regression

上节课说道, P(C1|x)=σ(z)=σ(wx+b) w,b 取任意值就构成了function set。
function set

这就得到了逻辑回归Logistic Regression与线性回归Linear Regression在Step 1(选择model)时的区别。
Step 1

接下来Step 2,评价函数好坏。对训练数据(x1,C1)(x2,C1)(x3,C2)……用 y^=1 表示C1,用 y^=0 表示C2。那么似然函数可以表示为
likelyhood

(第二行等号右侧缺少一个负号)
最大化似然函数即是最小化交叉熵。交叉熵代表两个分布有多接近,若两个分布完全一样则交叉熵等于0。
这样就得到了逻辑回归Logistic Regression与线性回归Linear Regression在Step 2(评价函数好坏)时的区别。
Step 2

接下来Step 3, find the best function,用梯度下降,得到参数更新公式:
gd

对这一结果的直观理解是:模型结果与目标差距越大,参数更新幅度就越大。
逻辑回归Logistic Regression与线性回归Linear Regression在用梯度下降法更新参数时公式相同。
Step 3

Logistic Regression损失函数的选取

为什么Logistic Regression用交叉熵损失而不用平方误差损失呢?
如果用平方误差损失,在计算损失函数对参数的微分时会出现如下情况:
y_hat=1
y_hat=0
说明,在结果 far from target 时,微分很小。
为了更形象的说明问题,将交叉熵损失/平方误差损失与参数之间的关系画出来:
loss
离目标远,cross entropy微分大,square error微分小。
离目标近,cross entropy微分小,square error微分小。
不管离目标远还是近,square error微分都小。所以微分小的时候,不知道离目标远还是近。
用cross entropy可以让training顺利很多。

判别方法 v.s. 生成方法

这节课的判别方法,与上节课的生成方法,模型是一样的,都是
model
判别方法,通过梯度下降,直接找到 w,b
生成方法,通过估计 N1,N2,μ1,μ2, 来得到 w,b
同样的模型,同样的训练数据,采用两种方法所得结果( w,b )不同。因为生成方法对概率分布做了假设。
哪个更好?Discriminative model 常比Generative model表现更好。下面是一个简单例子:
example
朴素贝叶斯的结果是Class 2。

生成模型在一些情况下相对判别模型是有优势的:
1、训练数据较少时。判别模型的表现受数据量影响较大,而生成模型受数据量影响较小。
2、label有噪声时。生成模型的假设(“脑补”)反而可以把数据中的问题忽视掉。
3、判别模型直接求后验概率,而生成模型将后验概率拆成先验和似然,而先验和似然可能来自不同来源。以语音识别(生成模型)为例,DNN只是其中一部分,还需要从大量文本(不需要语音)中计算一句话说出来的先验概率。

Multi-class Classification

在做Multi-class Classification时,需要softmax。原因可参考Bishop P209-210,或Google “maximum entropy”。
Multi-class Classification
最小化交叉熵,等价于最大化似然函数。

Logistic Regression的局限性

不能表示XOR。(边界是直线。)
解决方法:做feature transformation. (Not always easy to find a good transformation.)
希望机器自己找到 transformation:把多个Logistic Regression接起来。
Cascading logistic regression models

一个Logistic Regression的input可以是其它Logistic Regression的output;一个Logistic Regression的output可以是其它Logistic Regression的input。这样,我们就得到了Neural Network,其中每个Logistic Regression叫做一个Neuron.

Lecture 6: Brief Introduction of Deep Learning

Step 1: function set

Neuron之间采用不同的连接方式,就会得到不同的网络结构。
给定了网络结构,就定义了一个function set。
给定了网络结构并给定了参数,网络就是一个函数:输入输出都是向量。

NN
NN

在output layer之前的部分,可以看做特征提取。output layer是Multi-class Classifier.

FAQ

Step 2: goodness of function

Step 2
Step 2

Step 3: pick the best function

Gradient Descent
BP


李宏毅机器学习课程笔记

李宏毅机器学习课程笔记1:Regression、Error、Gradient Descent
李宏毅机器学习课程笔记2:Classification、Logistic Regression、Brief Introduction of Deep Learning
李宏毅机器学习课程笔记3:Backpropagation、”Hello world” of Deep Learning、Tips for Training DNN
李宏毅机器学习课程笔记4:CNN、Why Deep、Semi-supervised
李宏毅机器学习课程笔记5:Unsupervised Learning - Linear Methods、Word Embedding、Neighbor Embedding
李宏毅机器学习课程笔记6:Unsupervised Learning - Auto-encoder、PixelRNN、VAE、GAN
李宏毅机器学习课程笔记7:Transfer Learning、SVM、Structured Learning - Introduction
李宏毅机器学习课程笔记8:Structured Learning - Linear Model、Structured SVM、Sequence Labeling
李宏毅机器学习课程笔记9:Recurrent Neural Network
李宏毅机器学习课程笔记10:Ensemble、Deep Reinforcement Learning

这篇关于李宏毅机器学习课程笔记2:Classification、Logistic Regression、Brief Introduction of Deep Learning的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/758774

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件