目录:

正文:

(一)機器學習就是让机器自動找函式

语音/图像识别

(二)你想找什麼樣的函式?

(2.1)Regression

找出的函数其输出是一个数值

(2.2)Classification

(2.1)Binary Classification

函数输出只有两种可能性是Y or N 或其他......

(2.2)Multi-class Classification

在multi-class classification里,机器要做的是选择题,等于给他数个选项,每一个选项就是一个类别,它要从数个类别里面选择正确的类别

比如document classification(新闻文章分类),输入是一则新闻,输出是这个新闻属于哪一个类别(选项)

(2.3)Generation

不只有Regression, Classification,还有產生有結構的複雜東西 (例如:文句、圖片)

(三)怎麼告訴機器 你想要什麼樣的函式?

你已经想清楚了你找什么样的函式,可是怎麼告訴機器,你想找什麼樣的函式尼?你的想法怎么传达给机器昵?有以下方法:

model(function set) 选择模型

在解任务的过程中,第一步是要选一个function的set,选不同的function set,会得到不同的结果;而选不同的function set就是选不同的model,model又分为很多种:

    • Linear Model(线性模型):最简单的模型

    • Non-linear Model(非线性模型):最常用的模型,包括:

      • deep learning

        如alpha-go下围棋,输入是当前的棋盘格局,输出是下一步要落子的位置;由于棋盘是19*19的,因此可以把它看成是一个有19*19个选项的选择题

      • SVM

      • decision tree

      • K-NN

(3.1)Supervised Learning

你想输入一张猫的图片,机器输出cat(类别)。那怎么告诉机器你想要这种函式昵?所以需要给机器大量的训练资料(图片和标记-----lable),这就是监督学习。

(3.1.1)接下來機器會自動找出 Loss 最低的函式

(3.2)Reinforcement Learning

Supervised Learning:我们会告诉机器正确的答案是什么 ,其特点是Learning from teacher

  • 比如训练一个聊天机器人,告诉他如果使用者说了“Hello”,你就说“Hi”;如果使用者说了“Bye bye”,你就说“Good bye”;就好像有一个家教在它的旁边手把手地教他每一件事情

Reinforcement Learning:我们没有告诉机器正确的答案是什么,机器最终得到的只有一个分数,就是它做的好还是不好,但他不知道自己到底哪里做的不好,他也没有正确的答案;很像真实社会中的学习,你没有一个正确的答案,你只知道自己是做得好还是不好。其特点是Learning from critics

  • 比如训练一个聊天机器人,让它跟客人直接对话;如果客人勃然大怒把电话挂掉了,那机器就学到一件事情,刚才做错了,它不知道自己哪里做错了,必须自己回去反省检讨到底要如何改进,比如一开始不应该打招呼吗?还是中间不能骂脏话之类的

再拿下棋这件事举例,supervised Learning是说看到眼前这个棋盘,告诉机器下一步要走什么位置;而reinforcement Learning是说让机器和对手互弈,下了好几手之后赢了,机器就知道这一局棋下的不错,但是到底哪一步是赢的关键,机器是不知道的,他只知道自己是赢了还是输了。赢了就是它学习的策略方向!!!!!

其实Alpha Go是用supervised Learning+reinforcement Learning的方式去学习的,机器先是从棋谱学习,有棋谱就可以做supervised的学习;之后再做reinforcement Learning,机器的对手是另外一台机器,Alpha Go就是和自己下棋,然后不断的进步

(3.3)Unsupervised Learning

区别于supervised learning,unsupervised learning希望机器学到无师自通,在完全没有任何label的情况下,机器到底能学到什么样的知识

举例来说,如果我们给机器看大量的文章,机器看过大量的文章之后,它到底能够学到什么事情?它能不能学会每个词汇的意思?

学会每个词汇的意思可以理解为:我们要找一个function,然后把一个词汇丢进去,机器要输出告诉你说这个词汇是什么意思,也许他用一个向量来表示这个词汇的不同的特性,不同的attribute

又比如,我们带机器去逛动物园,给他看大量的动物的图片,对于unsupervised learning来说,我们的data中只有给function的输入的大量图片,没有任何的输出标注;在这种情况下,机器该怎么学会根据testing data的输入来自己生成新的图片?

(3.4)Semi-supervised Learning(半监督学习)

举例:如果想要做一个区分猫和狗的function

手头上有少量的labeled data,它们标注了图片上哪只是猫哪只是狗;同时又有大量的unlabeled data,它们仅仅只有猫和狗的图片,但没有标注去告诉机器哪只是猫哪只是狗

在Semi-supervised Learning的技术里面,这些没有labeled的data,对机器学习也是有帮助.

(3.5)Structured Learning(结构化学习)----属于监督学习

在structured Learning里,我们要机器输出的是,一个有结构性的东西

在分类的问题中,机器输出的只是一个选项;在structured类的problem里面,机器要输出的是一个复杂的物件

举例来说,在语音识别的情境下,机器的输入是一个声音信号,输出是一个句子;句子是由许多词汇拼凑而成,它是一个有结构性的object

或者说机器翻译、人脸识别(标出不同的人的名称)

比如GAN也是structured Learning的一种方法

(四)機器怎麼 找出你想要的函式?

那机器怎么实际找出你想要的函式?,第一步限制函式尋找範圍,第二部。。。。

(4.1)限制函式尋找範圍

Liner和Network Architecture 可以限制函式尋找範圍

(4.2)函式尋找方法 – Gradient Descent

限制函式尋找範圍后,那怎么找出最好的函式尼?

(五)前沿研究

(5.1)Explainable AI

如,为什么这是猫!

(5.2)Adversarial Attack

(5.3)Network Compression

网络压缩,研究压缩后放到小设备上!

(5.4)Anomaly Detection

异常探测。给出一个怪怪的东西,如何让机器知道”这东西我不知道“。因为现在机器都会将它归类成某一类,这不好!

(5.5)Transfer Learning (Domain Adversarial Learning)

训练资料和测试资料不一样时,还可以学到一些东西,如上图右边需要迁移学习

(5.6)Meta Learning

学习如何学习能力。发明自己的演算方法

(5.7)Life-long Learning

(5.8)Reinforcement Learning

总结:

1-Introduction(介绍)的更多相关文章

  1. 1.Introduction 介绍

    Welcome to Log4j 2! Introduction Almost every large application includes its own logging or tracing ...

  2. 一: Introduction(介绍)

    Welcome to SQLBackupRestore.com, your online resource for SQL Server backup and recovery issues.  Th ...

  3. Security » Authorization » 介绍

    Introduction¶ 介绍 77 of 87 people found this helpful Authorization refers to the process that determi ...

  4. rabbitmq 的心跳机制&应用

    官方文档说: If a consumer dies (its channel is closed, connection is closed, or TCP connection is lost) w ...

  5. [原创博文] 用Python做统计分析 (Scipy.stats的文档)

    [转自] 用Python做统计分析 (Scipy.stats的文档) 对scipy.stats的详细介绍: 这个文档说了以下内容,对python如何做统计分析感兴趣的人可以看看,毕竟Python的库也 ...

  6. Lua 架构 The Lua Architecture

    转载自:http://magicpanda.net/2010/10/lua%E6%9E%B6%E6%9E%84%E6%96%87%E6%A1%A3/ Lua架构文档(翻译) 十 102010 前段时间 ...

  7. 【转】Application.mk 文件语法规范

    原文网址:http://blog.sina.com.cn/s/blog_4c451e0e0100s6q4.html Application.mk file syntax specification A ...

  8. .htaccess文件的详解以及404页面的设置

    打开记事本,写入以下代码: ErrorDocument 404 /404.html保存成.htaccess文件上传到网站的根目录. /404.html是目录名和文件名,可以改成自己的名字.QUOTE: ...

  9. SharePoint 2010中使用SPListItemCollectionPosition更快的结果

    转:http://www.16kan.com/article/detail/318657.html Introduction介绍 In this article we will explore the ...

  10. 任何时候都适用的20个C++技巧

    这些小技巧之所以特别,是因为这些信息通常吧不能在C++书籍或者网站上找到.比如说,成员指针,即使对于高级程序员也是比较棘手,和易于产生bugs的,是应该尽量避免的问题之一. <翻 by凌云健笔& ...

随机推荐

  1. [洛谷日报#204] StackEdit——Markdown 编辑器的功能介绍

    本文同时发表于洛谷日报,您也可以通过洛谷博客进行查看. 1.介绍与开始使用 1.1 这是什么? StackEdit是基于PageDown.Stack Overflow和其他堆栈交换站点使用的Markd ...

  2. efcore分表分库原理解析

    ShardingCore ShardingCore 易用.简单.高性能.普适性,是一款扩展针对efcore生态下的分表分库的扩展解决方案,支持efcore2+的所有版本,支持efcore2+的所有数据 ...

  3. JDK源码阅读(4):HashMap类阅读笔记

    HashMap public class HashMap<K, V> extends AbstractMap<K, V> implements Map<K, V>, ...

  4. SpringBoot入门05-全局配置文件

    springboot全局配置文件作用是设置或修改默认设置 springboot全局配置文件有下面两种方式 application.xml配置文件 示例 server.port=8088 server. ...

  5. Spring的JDK动态代理如何实现的(源码解析)

    前言 上一篇文章中提到了SpringAOP是如何决断使用哪种动态代理方式的,本文接上文讲解SpringAOP的JDK动态代理是如何实现的.SpringAOP的实现其实也是使用了Proxy和Invoca ...

  6. [源码解析]PyTorch如何实现前向传播(1) --- 基础类(上)

    [源码解析]PyTorch如何实现前向传播(1) --- 基础类(上) 目录 [源码解析]PyTorch如何实现前向传播(1) --- 基础类(上) 0x00 摘要 0x01 总体逻辑 0x02 废弃 ...

  7. change or reset WSL password

    change or reset WSL password To change or reset your password, open the Linux distribution and enter ...

  8. Windows 安装 gcc

    Windows 安装 gcc ① 官网下载 GCC, the GNU Compiler Collection - GNU Project - Free Software Foundation (FSF ...

  9. ZooKeeper分布式配置——看这篇就够了

    ZooKeeper 的由来 PS:这一节不重要, 不感兴趣的小伙伴可以跳过 ZooKeeper 最早起源于雅虎研究院的一个研究小组,在当时,研究人员发现,在雅虎内部有很多的大型系统基本上都需要依赖一个 ...

  10. 性能利器 Takin 来了!首个生产环境全链路压测平台正式开源

    6 月 25 日,国内知名的系统高可用专家数列科技宣布开源旗下核心产品能力,对外开放生产全链路压测平台产品的源代码,并正式命名为 Takin. 目前中国人寿.顺丰科技.希音.中通快递.中国移动.永辉超 ...