林轩田机器学习基石1:机器学习问题(The Learning Problem)

2024-08-21 07:48

本文主要是介绍林轩田机器学习基石1:机器学习问题(The Learning Problem),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

欢迎关注公众号-AI圈终身学习。
公众号首页回复“机器学习”查看所有系列文章。


机器学习基石课程大概八周,分为四个部分:

  • When Can Machines Learn?
  • Why Can Machines Learn?
  • How Can Machines Learn?
  • How Can Machines Learn Better?

课程主页:
http://www.csie.ntu.edu.tw/~htlin/

本节笔记Lecture 1-The Learning Problem包含内容如下:

  • When Can Machines Learn?(什么时候用机器学习)
    • What is Machine learning(什么是机器学习)
    • Applications of Machine Learning(机器学习应用)
    • Components of Machine Learning(机器学习组成部分)
    • Machine Learning and Other Fields(机器学习和其他领域)

一、什么是机器学习(What is Machine Learning)

机器学习和学习的异同是什么?首先学习和机器学习的共通性就是观察,他们也有差异性。

1.1 学习的流程

学习的主体是人,人通过观察(听、观、触觉)出发,经过脑袋的内化转化,变成有用的技能。流程图如下:

1.2 机器学习的流程

机器学习的主体是电脑,电脑通过观察资料(语料),经过电脑的CPU运作,变成对电脑有用的技能。流程图如下:

什么是“变成有用的技能”?技能就是在某种领域做事靠谱,比如

  • 对于人,自己的英语能力、数学能力得到了提高
  • 对于电脑,预测股票的能力得到了提高

因此机器学习更准确的定义是:
通过观察计算有规律的数据,根据某种评价指标,提升电脑性能。
流程图如下:

1.3机器学习的三个关键要素

什么时候适合使用机器学习,林老师总结三个关键要素如下:

  1. 编程定义不明确,普通编程难以完成的任务
  2. 资料数据具有某种潜藏的规律,可以学习
  3. 有关于潜藏的规律资料数据

(测试题)下面哪种情况最适合使用机器学习?

  1. 预测小女孩下一次哭的时间是奇数还是偶数(No,没有规律)
  2. 判断一个图是否有环(No,可以编程定义明确)
  3. 预测下一个十年地球是否会毁灭(No,没有数据)
  4. 决定是否同意给用户办理信用卡(Yes,有用户历史行为数据且难以编程解决)

二、机器学习应用(Applications of Machine Learning)

  • 衣(Abu-Mostafa, 2012)
    • 技能:穿衣搭配推荐
    • 数据:衣服销售数字+顾客调差反馈
  • 食(Sadilek et al., 2013)
    • 技能:正确告诉餐厅食物中毒的可能性
    • 数据:用户的Twitter数据(评论的文字+餐厅地点)
  • 住(Tsanas and Xifara, 2012)
    • 技能:预测建房所需能源消耗
    • 数据:历史修建房屋的能源消耗数据
  • 行(Stalkamp et al., 2012)
    • 技能:识别交通信号
    • 数据:交通信号图片和含义数据

除此之外,还有教育(流利说)、金融(信用卡办理)、医疗(药效预测)、法律(摘要)、娱乐(推荐系统)等各种行业。

二、机器学习组成部分(Components of Learning)


以信用卡办理为例,任务是给要用信用卡花钱的用户办理。机器学习组件如下:

  • 输入X(银行用户数据特征,如年龄、性别、工资等)
  • 输出Y(办卡后刷还信用卡的好坏)
  • 训练数据 D = ( x 1 , y 1 ) , ( x 2 , y 2 ) , . . . , ( x n , y n ) D={(x_1, y_1),(x_2, y_2),...,(x_n, y_n)} D=(x1,y1),(x2,y2),...,(xn,yn)
  • 目标函数 f : x → y f:x \rightarrow y f:xy(理想的函数,表示实际训练数据的分布规律,但是未知)
  • 假设集合H(hypothesis set),我们需要通过算法学到集合中最佳的假设,其对应的函数为 g : x → y g:x \rightarrow y g:xy我们希望最终的模型表达式 g 满 足 g ≈ f g满足g\approx f ggf

机器学习整个流程可以表示如下:

比如以上面的信用卡办理为例,假设其中的hypothesis set H为:

  • h1: 年薪 > 80万
  • h2: 欠款 > 10 万
  • h3: 工龄 < 2年

我们的H中的假设有好有坏,我们通过演算法A去选择最好的一个作为g。

因此我们在机器学习中常说的模型是 演算法A+假设集合H

我们再以预测用户给歌曲打分(0-100分)为例,我们有:

训练数据D = 100万条((userid, songid), rating)对
输入X = 所有可能的(userid, songid)对
输出Y = [0, 100]
假设集合H = 将用户因素和歌曲因子相乘,并由所有可能的因素组合索引

我们以训练数据D为入口,通过演算法A选出H中最好的假设得到g。

四、机器学习和其他领域(Machine Learning and Other Fields)

  • 机器学习与统计

  • 机器学习与数据挖掘

  • 机器学习与人工智能

总结来说:

  • 统计可以实现机器学习
  • 机器学习和数据挖掘相互缠绕,难以区分
  • 机器学习是实现人工智能的一种方式

五、总结

本节主要概括性的讲了机器学习的方方面面,高层笼统,概念清晰,没有太多技术性的东西。

这篇关于林轩田机器学习基石1:机器学习问题(The Learning Problem)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

MySQL 设置AUTO_INCREMENT 无效的问题解决

《MySQL设置AUTO_INCREMENT无效的问题解决》本文主要介绍了MySQL设置AUTO_INCREMENT无效的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录快速设置mysql的auto_increment参数一、修改 AUTO_INCREMENT 的值。

关于跨域无效的问题及解决(java后端方案)

《关于跨域无效的问题及解决(java后端方案)》:本文主要介绍关于跨域无效的问题及解决(java后端方案),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录通用后端跨域方法1、@CrossOrigin 注解2、springboot2.0 实现WebMvcConfig

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码

Java死锁问题解决方案及示例详解

《Java死锁问题解决方案及示例详解》死锁是指两个或多个线程因争夺资源而相互等待,导致所有线程都无法继续执行的一种状态,本文给大家详细介绍了Java死锁问题解决方案详解及实践样例,需要的朋友可以参考下... 目录1、简述死锁的四个必要条件:2、死锁示例代码3、如何检测死锁?3.1 使用 jstack3.2

解决JSONField、JsonProperty不生效的问题

《解决JSONField、JsonProperty不生效的问题》:本文主要介绍解决JSONField、JsonProperty不生效的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录jsONField、JsonProperty不生效javascript问题排查总结JSONField

github打不开的问题分析及解决

《github打不开的问题分析及解决》:本文主要介绍github打不开的问题分析及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、找到github.com域名解析的ip地址二、找到github.global.ssl.fastly.net网址解析的ip地址三

MySQL版本问题导致项目无法启动问题的解决方案

《MySQL版本问题导致项目无法启动问题的解决方案》本文记录了一次因MySQL版本不一致导致项目启动失败的经历,详细解析了连接错误的原因,并提供了两种解决方案:调整连接字符串禁用SSL或统一MySQL... 目录本地项目启动报错报错原因:解决方案第一个:第二种:容器启动mysql的坑两种修改时区的方法:本地

springboot加载不到nacos配置中心的配置问题处理

《springboot加载不到nacos配置中心的配置问题处理》:本文主要介绍springboot加载不到nacos配置中心的配置问题处理,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录springboot加载不到nacos配置中心的配置两种可能Spring Boot 版本Nacos

Java中JSON格式反序列化为Map且保证存取顺序一致的问题

《Java中JSON格式反序列化为Map且保证存取顺序一致的问题》:本文主要介绍Java中JSON格式反序列化为Map且保证存取顺序一致的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未... 目录背景问题解决方法总结背景做项目涉及两个微服务之间传数据时,需要提供方将Map类型的数据序列化为co