李宏毅机器学习笔记_李宏毅 机器学习笔记 - CSDN
  • (1950年提出)人工智能是我们希望达成的目标,希望机器可以和人一样智能,而机器学习是实现人工智能的一种方式,而深度学习是机器学习中的一种方式,深度学习主要指的是基于机器学习中神经网络的各种模型。...

     

         (1950年提出)人工智能是我们希望达成的目标,希望机器可以和人一样智能,而机器学习是实现人工智能的一种方式,而深度学习是机器学习中的一种方式,深度学习主要指的是基于机器学习中神经网络的各种模型。

           下面介绍几种为了实现人工智能的方式:

    hand-crafted rules人工智能:早期的人工智能,其本质就是通过许多if判断语句去实现,通俗的讲就是用大量的判断语句,如果接收到一些信号,就做出相应的指令。这样并不能完成比较复杂的任务,通过编写大量的if语句,没有真正的“智慧”,之前的早期人工智能,基本都是用这种技术,无法超越其创造者。

    Machine learning :使机器有学习的能力,让其有云辨识的能力。即寻找出我们所需要的function。通俗的讲,我们希望机器拥有识别,学习的能力,可以理解为寻找一个模型,通过输入一些信号(样本),让机器去建立一个模型,得到结果。

    比如:在图像识别中,我们先确定一大堆函数集(模型)提供给机器,并且提供给机器一大堆样本集(猫和狗的各种图片),告诉机器你看到什么样本(猫或者狗的图片)就要输出什么,看到猫的图片输出猫,看到狗的图片输出狗。最终让机器寻找模型,未来你给机器一个没有见过的样本(图片),它也可以识别出来。

    Deep learning :机器学习的一个分支。

     

     

    图1-1 人工智能与机器学习深度学习大致包含关系

           在实际模型设计过程中,通过从函数集中选取合适的模型与训练集进行处理,得出模型的优劣,从而取得较为适应的模型,对该模型便可输入新的样本,得到输出。可以从下图进行理解,左边的部分称作学习器,学习器就是我们让机器寻找模型的过程,我们从很多很多函数集(模型)中通过让各种样本进行测试,得到很多不同函数的输出,然后通过这些输出去评价这个模型的优劣(这里的优劣指是否适合我们输入的数据,输出数据是否真的符合实际样本的数据,比如:输入了猫的图片,模型的输出是否是猫)。相比之下较优的模型拿出来可以用于实际。右边的部分是你可以作为应用的过程,即你可以用你的模型去使用,给它一个新的输入,它会给你一个新的输出。

           在机器学习中,输入的样本通常会用于进行训练与测试,用于训练模型的叫训练集,用于测试模型优劣的叫测试集,样本的真实输入叫做样本的标签(比如一张猫的图片做样本,猫就是这个样本的标签)。

           以上使用有标记的样本进行训练(即样本的输出是知道的,就是说输入是猫的图片,机器知道这张图片是猫),叫做有监督学习supervised learning。

    图1-2 机器学习大致框架

     

          可以看下图,下图主要讲的是机器学习的一些不同的问题与包含。首先是回归,回归问题很好理解可以理解为给一组数(样本),寻找一个函数将这些样本的函数关系进行拟合,得到函数后可以进行一些预测或者分析,比如:已知某城市前几年的PM2.5的值,通过模型去预测未来几年的值。

          分类问题指的是提供一组样本,进行分类,比如我们上文提到的识别猫或狗图片的问题,就是一个分类问题。分类问题包含了二分类问题(经常是判定是否问题,如提供很多邮件,去判定是否是垃圾邮件),还有多分类问题(如我们提供很多类别的新闻,将他们分类)。

           分类问题中有很多模型,最简单的模型是线性模型。当然还包含了深度学习等很多模型。当然,分类问题不仅仅是做简单的分类,其实可以引申为很多问题,比如下棋。

     

     

    图1-3 机器学习整体框架

    Semi-supervised learning:半监督学习,不进行标识的训练集对学习也会有帮助,提供的样本有一部分没有标记,同样会对模型训练有帮助。

    Transfer Learning:迁移学习,提供了一些与问题不相干的样本,比如:猫狗图片识别中,样本中有一些不相干的训练集,比如一些风景照。这些不相干的样本对机器学习也有帮助。

    Unsupervised learning:无监督学习,有大量样本,这些样本都没有标记。比如:把很多动物图片给机器,让机器创造一些新的动物图片。

    Structured learning :结构化学习,让机器输入有结构性复杂的东西,比如在声音识别,输入语音信号,输出语音表达的含义;在文字翻译,输入文字,输出翻译文字;在人脸识别中,出入图片,输出识别出的人。

    Reinforcement learning:强化学习,在决策中不会告诉机器好坏,只会告诉他评价的指标,即好坏或者评价分数。比如下围棋,不会告诉机器中间过程好坏,但是会告诉它最后胜负或者很多步后占的目数多少。

    alpha go是使用监督学习与强化学习的结合。

    上图中各种模型没有任何高下之分,只是不同情况下的适应。

           这篇文章是我之前写的,后自己看发现可读性比较差,忽略了很多基比较弱或是没有接触的小伙伴,于是重新把全部文章重写一遍啦。虽然机器学习目前已经发展的很不错了,会用的人也非常的多,比我强的人也大有人在,但还是把这系列文章写完,也算是无愧于心了。


           一些最初学习时的个人思考:在课程中提到的强化学习是给计算机做出的响应一个“好”或“坏”,来修正计算机之后的行为,为什么不能使用一个数值作为一个修正的条件呢?比如说我们期望最好的结果是0,在作出判决之后可以给计算机一个数(可正可负),对其进行修正,这样可以使用控制领域的一些理论(比如PID控制)来预测出模型的一些特性。同时,多种分支路线情况下,也可以给不同的值定义不同的含义,使有更多的选择,也可以做成多维的坐标进行更多维的求解。一点个人思考,天马行空,如果该想法已经实现或者实现很困难,暂且先赔个不是。

          今天主要学习了李宏毅机器学习的第一节课,大概了解了机器学习的整个过程,使用训练集与函数库种的模型优劣分析筛选,得到较为合适的模型。同时,学到了机器学习种的大致分类,写了自己第一篇博客,很开心,希望自己可以更加努力学好机器学习,未来可以帮助更多的人。

    展开全文
  • 课程学习内容介绍 一,方案: 1.监督学习(有标签) 2.半监督学习 比如识别猫狗,有少量猫狗有标签的照片还有很...1.regression:一个机器学习task,输出一个数值。如:预测明天的pm2.5.输出明天可能的pm2.5值。 ...

    课程学习内容介绍

    在这里插入图片描述
    一,方案:
    1.监督学习(有标签)

    2.半监督学习
    在这里插入图片描述
    比如识别猫狗,有少量猫狗有标签的照片还有很多没有标签的猫狗照片。

    3.无监督学习

    4.迁移学习(transfer learning)
    在这里插入图片描述
    5.强化学习(边感知自己的行为和结果,意识这样做对不对)

    二,其它介绍
    1.regression:一个机器学习task,输出一个数值。如:预测明天的pm2.5.输出明天可能的pm2.5值。
    2.classification:分两种{二元yes或者no,很多个选项选择正确的问题(如下棋,在19 X 19个格子中选择正确的一个格子下)}
    3.structured learning:如语言识别(新的黑暗大陆)

    展开全文
  • 李宏毅机器学习·笔记自己整理成了PDF,现在分享给大家。
  • Auto-encoder 1.encode:将原来高维sample encode成低维的code,再将code尽量decode成原来的sample。 2.deep auto-encoder只是将层数加深。auto encode的construction error不是重点,重点是code表示的有多好。...

    Auto-encoder

    1.encode:将原来高维sample encode成低维的code,再将code尽量decode成原来的sample。
    在这里插入图片描述
    2.deep auto-encoder只是将层数加深。auto encode的construction error不是重点,重点是code表示的有多好。
    在这里插入图片描述
    3. De-noising auto-encoder:在原来的sample上加入噪声数据,但是仍然需要reconstruction成原来的sample。

    在这里插入图片描述
    4. Auto-encoder——Text Retrieval:输入需要查询的词汇,在vector space model上求解查询的词语与库中文本的相似程度。用Bag-of-word来表示一个句子,但是这种情况并没有考虑到句子的语义表示。

    在这里插入图片描述
    将查询的句子和文本auto encoder进行降维。不同类别的文章得到了很好的区分。
    在这里插入图片描述
    5. Auto-encoder——similar image search:传统方法是通过计算像素上的欧几里得相似性。如果把整个图像encode以后,再计算其相似度,会得到更好的结果。

    在这里插入图片描述
    6.auto-encoder for CNN:先按照常规的convolution来做encode,然后用deconvolution 和 unpooling来进行decode。
    在这里插入图片描述
    其中unpooling的方式,因为max pooling只是记住最大点的位置,而不知道其他位置的值,所以做unpooling的时候,将这些位置补0就可以了。

    在这里插入图片描述
    Deconvolution的方式只不过convolution的逆过程,也可以看成是原来的特征拓宽补0以后进行convolution。
    在这里插入图片描述
    7. 可以用Auto-encoder来做pre-training DNN(在整体训练之前,先对每一层上的权重进行训练),可以加上regularization term或者加上noising来防止网络在较宽的部分直接传送。
    在这里插入图片描述
    8. 可以用后面的decode来随机生成图片
    在这里插入图片描述

    展开全文
  • 李宏毅机器学习笔记】1、回归问题(Regression) 【李宏毅机器学习笔记】2、error产生自哪里? 【李宏毅机器学习笔记】3、gradient descent 【李宏毅机器学习笔记】4、Classification 【李宏毅机器学习笔记】5...

     

    【李宏毅机器学习笔记】1、回归问题(Regression)

    【李宏毅机器学习笔记】2、error产生自哪里?

    【李宏毅机器学习笔记】3、gradient descent

    【李宏毅机器学习笔记】4、Classification

    【李宏毅机器学习笔记】5、Logistic Regression

    【李宏毅机器学习笔记】6、简短介绍Deep Learning

    【李宏毅机器学习笔记】7、反向传播(Backpropagation)

    【李宏毅机器学习笔记】8、Tips for Training DNN

    【李宏毅机器学习笔记】9、Convolutional Neural Network(CNN)

    【李宏毅机器学习笔记】10、Why deep?(待填坑)

    【李宏毅机器学习笔记】11、 Semi-supervised

    【李宏毅机器学习笔记】 12、Unsupervised Learning - Linear Methods

    【李宏毅机器学习笔记】 13、Unsupervised Learning - Word Embedding(待填坑)

    【李宏毅机器学习笔记】 14、Unsupervised Learning - Neighbor Embedding(待填坑)

    【李宏毅机器学习笔记】 15、Unsupervised Learning - Auto-encoder(待填坑)

    【李宏毅机器学习笔记】 16、Unsupervised Learning - Deep Generative Model(待填坑)

    【李宏毅机器学习笔记】 17、迁移学习(Transfer Learning)

    【李宏毅机器学习笔记】 18、支持向量机(Support Vector Machine,SVM)

    【李宏毅机器学习笔记】 19、Structured Learning - Introduction(待填坑)

    【李宏毅机器学习笔记】 20、Structured Learning - Linear Model(待填坑)

    【李宏毅机器学习笔记】 21、Structured Learning - Structured SVM(待填坑)

    【李宏毅机器学习笔记】 22、Structured Learning - Sequence Labeling(待填坑)

    【李宏毅机器学习笔记】 23、循环神经网络(Recurrent Neural Network,RNN)

    【李宏毅机器学习笔记】 24、集成学习(Ensemble)

    ------------------------------------------------------------------------------------------------------

    【李宏毅深度强化学习】视频地址:https://www.bilibili.com/video/av10590361?p=13

    课件地址:http://speech.ee.ntu.edu.tw/~tlkagk/courses_ML17_2.html

    -------------------------------------------------------------------------------------------------------

    使用反向传播(Backpropagation)原因

    经过前面几篇笔记的介绍,知道可以用gradient descent来更新参数,使Loss Function最小化。

    但是面对Neural Network可能上百万的参数,做gradient descent会很困难。所以需要引入反向传播(Backpropagation)使gradient descent 做得更有效率一点

    链式法则(Chain Rule)

    反向传播(Backpropagation)就用到链式法则(Chain Rule)的知识,没有涉及其他高深的知识。

    反向传播(Backpropagation)

     C^n是估测出来的y和target值y\hat之间的距离,Loss Function则是所有 C^n 的累加。

    对Loss Function求w的偏微分结果如图所示,等于。接下来就主要讲怎么解这个偏微分。

    为方便讲解,取网络中的红色三角形标识的区域进一步讲解。

    以图中的部分网络为例,根据链式法则可以知道,偏微分 

    计算的过程叫做Forward pass,因为这一项是从网络由前往后计算得出的(等下就知道为什么是由前往后)。

    计算的过程叫做Backward pass,因为这一项是从网络由后往前计算得出的(等下就知道为什么是由后往前)。

    Forward pass

    Forward pass就是计算  。以图中的例子,其实可以知道,这个偏微分的结果是可以口算的。

    它都会等于weight前面的输入 x1,x2 。

    举个更具体的例子,如图,每一个 都会等于前面weight的输入值。

    Backward pass

     就不像前面Forward pass那么简单,因为 z 后面还要经过很多过程才能得到 C 。

    但是不管那么多,先把  写成 

    由于 z 通过sigmoid函数得到 a,所以 代表 sigmoid函数的微分。

    然后还剩下 这一项怎么算呢?

     使用链式法则可以写成如图所示。

    由于现在不知道网络后面又有怎样的过程,所以有两项是我们现在还不知道的。

    这两项的计算方法等下再讲,现在先假设我们知道这两项的值,这样就能算出  的值,如下

     这个就是  的结果。

     把Backward pass的过程用另一种方式展现出来,如图所示,更能体现Backward pass由后往前的特点。

    其中是一个常数,因为在Forward pass的过程就已经算出 z ,所以在z算出来的情况下,再经过sigmoid函数也仍然是一个固定的值。

    所以在Backward pass由后往前的过程中,在三角形那里,做的运算并不是通过一个非线性函数,而是直接乘上一个常数 。

     

    刚才为了简便,先假设了 这两项未知的值是已知,然后就能算出  。

    下面来具体讲下如何计算那两项的结果。 

    第一种情况:后面接的就已经是Output Layers

    那很直接, 的计算结果就如图所示。

    第二种情况:后面不是Output Layers,还有很多层

    其实原理和前面例子的计算一样。

    z对C的微分,取决于 z 后一层 的 z'对C的微分 和 z''对C的微分。

    所以,如果 z' 和 z'' 后面还有很多层,那就一直往后推下去。直到最后一层,这时计算方法就如刚才的第一种情况那样可以直接算出来。然后再反推回来,知道最后一层就可以求倒数第二层,知道倒数第二层又可以求倒数第三层……

    按刚才的方法来看,感觉挺复杂的。为了算第一层要算后面的每一层直到output layer,再反推回第一层。

    所以为了使计算更有效率,就把刚才的顺序颠倒过来,直接从output layer开始算起,这样就发现每一层都能直接秒算。

    以上图为例子,本来为了算出,需要先算出,……直到最后一层。

    但现在从output layer开始算,只要算出,就能秒算出前面的,立刻变得有效率了。

    总结

    1. 由前往后,做Forward Pass,算出 
    2. 由后往前,做Backward Pass,算出
    3. 两者相乘就是最后的结果 
    展开全文
  • [机器学习入门] 李宏毅机器学习笔记-10 (Tips for Deep Learning;深度学习小贴士) PDF VIDEORecipe of Deep Learning 在 training data上的performance不好Deeper usually does not imply betterVanishing ...
  • Contents0 Introduction of this Course1 Regression-Case Study2 Where does the error come from? 0 Introduction of this Course AI : 目标 Machine Learning :手段 Deep Learning:Machine Learning的一种方法...
  • 1.首先,机器学习是什么?机器学习,就是“根据所给数据,寻找一个函数,给出适当输出”。通过这个函数,我们可以给它一个输入,得到理想的、正确的输出。我们通常需要给它数据,训练一个机器的学习能力。例如:...
  •   Classification:Probabilistic Generative Model,本节课讲的是基于概率生成模型的分类。   分类任务本质上是找到一个函数,函数的输入是输入数据,输出是类别。应用范围比较广,例如信用卡评分、医学诊断、...
  • 李宏毅机器学习完整笔记

    千次阅读 2019-08-08 14:15:39
    李宏毅机器学习完整笔记》发布,笔记+视频+代码一应俱全!
  • 自1956年提出人工智能的概念,其一方面被认为是人类文明未来的发展方向,另一方面也被认为是难以企及的梦想。然而过去几年,随着GPU并行计算...现在我将系统学习《李宏毅机器学习这门课》,并整理笔记,供学习讨论。
  • 李宏毅机器学习笔记

    千次阅读 2017-11-02 19:40:06
    转自:... [机器学习入门] 李宏毅机器学习笔记-13 (Semi-supervised Learning ;半监督学习) PDF VIDEO Introduction Why semi-superv
  • 李宏毅机器学习笔记(一) 本次学习的资源为B站上2017年李宏毅老师的网课视频。 机器学习的目标 机器学习的目标实际上是通过 training data 找到一个函数,使该函数拥有根据某些输入而输出的能力。类似于给出一些...
  • 李宏毅机器学习笔记】1、回归问题(Regression) 【李宏毅机器学习笔记】2、error产生自哪里? ------------------------------------------------------------------------------------------------------ ...
  • 机器学习介绍(李宏毅机器学习笔记(LeeML-Notes))) ##机器学习介绍 这门课,我们预期可以学到什么呢?我想多数同学的心理预期就是你可以学到一个很潮的人工智慧。我们知道,从今年开始,人工智慧这个词突然变得...
  • 李宏毅机器学习笔记】1、回归问题(Regression) 【李宏毅机器学习笔记】2、error产生自哪里? 【李宏毅机器学习笔记】3、gradient descent 【李宏毅机器学习笔记】4、Classification 【李宏毅机器学习笔记】5...
  • 李宏毅机器学习笔记】1、回归问题(Regression) 【李宏毅机器学习笔记】2、error产生自哪里? 【李宏毅机器学习笔记】3、gradient descent 【李宏毅机器学习笔记】4、Classification -----------------------...
  • 首先是机器学习的三个步骤: Step1: Model Step2: Goodness of Function Step3: Find the best function Step1: 本次是分析宝可梦(神奇宝贝!!!)进化前的CP值对进化后的CP值的预测。 线性回归的分析,这里先假设...
  • 李宏毅机器学习笔记】1、回归问题(Regression) 【李宏毅机器学习笔记】2、error产生自哪里? 【李宏毅机器学习笔记】3、gradient descent 【李宏毅机器学习笔记】4、Classification 【李宏毅机器学习笔记】5...
  • 李宏毅机器学习笔记】1、回归问题(Regression) 【李宏毅机器学习笔记】2、error产生自哪里? 【李宏毅机器学习笔记】3、gradient descent 【李宏毅机器学习笔记】4、Classification -----------------------...
1 2 3 4 5 ... 20
收藏数 1,687
精华内容 674
关键字:

李宏毅机器学习笔记