机器为什么能学习

简介: 一、为何机器可以学习?二、举例三、机器学习跟数据挖掘的关系四、总结

机器为什么能学习

 

内容介绍:

一、为何机器可以学习?

二、举例

三、机器学习跟数据挖掘的关系

四、总结

 

 

一、为何机器可以学习?

image.png

为什么机器可以学习?数学上到底是一个什么样的东西?


例:现在有一个玻璃瓶里面放了很多玻璃小玻璃球,这个瓶子很大,里面很多两种颜色的,一个是橙色,一个是绿色的,去判定里面橙色玻璃球的比率,不可能在玻璃瓶里面数,虽然数出来的概率是合理的,但是做不到,所以经常的一种做法就是去采样,比如拿一千出来去看其中橙色的比例,这是经常的做法

 

通过概率学上,只要采样的足够多,未知的这样一个橙色玻璃珠的概率,是非常等同于采样出来的样本里面橙玻璃珠的概率,在概率学上是霍夫丁不等式来保证它们接近的,近似相等的,称之为pac 理论,通过 pac 理论,知道通过采样的方式可以学的,那么把这样一个玻璃球里面橙色玻璃柱的概率跟机器学习可以等价起来。

image.png

bin

unknown orange prob.μ

marble bin

orange

green

size-N sample from bin of ii.d. marbles

learning

fixed hypothesis hximage.pngtarget  fx

x X

h is wrong ⟺ hx)≠fx

h is right⟺ hx=fx

Check h on d={(xn,yn)} with i.i.d.xn

if large N& i.i.d.xn,can probably infer unknown [h(x) f(x)] probability

by known [h(xn) yn] fraction

 

机器学习里面的learning 问题非常接近, learning 要求一个东西,未知的f(x),希望去求h(x)非常相等,就等价于不知道,可以把它理解成是玻璃瓶里面的橙色的玻璃珠的概率,采用了一些玻璃球,就等同于现在拥有一批数据,然后通过数据,知道有哪些东西是对的,哪些是不对的,在这批数据上看一下h错误的概率大概是多少,通过独立统分布,通过前面的 hypothesis 的不等式,当一个样本量非常大的时候,并且是独立同分布的时候,从概率上就可以推出来,通过在样本上学到的h(x)等价于未知的f(x)这就是机器为什么可以学习的一个直观解释。

 

 

二、举例

1General Algorithm Families

(1)Empiricalrik minization(ERM): h=argmin R(h)H

(2)Structuralrisk minimization(SRM):h= argmin R(h)hH+capacty(Hn,m)

(3)Regularization-based algorithms:h=argmin R(h)H+C||h||²

image.png

在样本上求解,把它称之为是经验风险最小化ERM,会有系列问题,所以在后面加上一个东西叫做结构风险最小化,表现形式就是加增则项,通过去惩罚模型里面的东西,这样一个算法能够尽可能简单,通过这样的方式叫做结构风险最小化。

 

2Empirical Risk Minimization

1Select hypothesis set H.

2Find hypothesis h minimizing empirical error:

3Underftting: model not complexenough to fit dat

4Overftting:model too complex, matches training sample

5cannot generalize on test example

image.png

经验风险最小化的做法就是去选择检测机,然后在这样一些经验的数据上,在获取数量上最小化个错误。这个中间就会存在一些问题,比如什么是欠拟合欠拟合这个模型不够复杂,都没有办法去很好的去拟合现在收集出来的这批样本,过拟合的模型太复杂, 在收集的样本上每个点都拟合的非常的好,但是它的推广能力非常差。

image.png

一个具体的例子,中间这个可以看到是拟合的非常好,通过这个房间大小和房子的估值得到一些数据,中间明显可以看出来是一个二的形状状,左边的那幅图很明显可以看得出来,用移结的方式画一条直线,拟合是相对比较差一点。


最右边的这幅图它在每个点上都拟合的非常好,很明显可以看出来东西太过于复杂,也违背数据本身的属性,所以它称为过拟合

 

 

三、机器学习跟数据挖掘的关系

1Machine Learning

use data to compute hypothesis g that approximates target f

2Data Mining

use(huge) data to find property that is interesting

if 'interesting property' same as "hypothesis that approximate

target'

ML = DM (usually what KDDCup does)

if 'interesting property' related to 'hypothesis that approximate target'

DM can help ML, and vice versa (often, but not always)

traditional DM also focuses on efficient computation in large

database

difficult to distinguish ML and DM in reality

image.png

其实它们俩非常像,在很多场景下这个模型能力是近似等价于机器学习的,这里举了两个概念就是机器学习通过用一些经验的数据去得到一个积,希望这个积跟未知的f是非常的近似,数据挖掘它可能更多的是希望从一个很大的数据里面能找到一些比较有用的属性,这个是它概念上的东西,这两个东西在很多程度上是几乎是等价的。

 

 

四、总结

1Mini Summary

1What is Machine Learning?use data to approximate targe

2Applications of Machine Learning: almost everywhere

3Components of Machine Learning learning algorithm take Data and hypothesis set to get final hypothesis

4Scenarios: supervised/unsupervised/reinforcement  

5Areas: classification/regression/ranking/clustering...

image.png

什么是机器学习?

再强调一下,用一些数据去近似目标去近似找到那个f,应用的东西涉及到生活中的方方面面,它的一些经典场景,包括监督、非监督、强化学习等等,它应用的领域,比如分类、回归、排序、聚类等非常多领域,它去近似这样一个未知的函数的时候。

 

2Mini Summary(Cont.)

Different Error Function:0/1 loss, square err, cross-entropy..

A lot of Regularizer: Ll, L2,.

VC Dimension: not mentioned

Probability tools: not mentioned

它有一定的 performance 定义,0/1 loss等选择方法非常多,经验风险最小化里面的结构化的风险,会加上一些政策去惩罚这样一个模型,希望使这个模型能够既简单又高效,推广能力又好,所以会有大量规则像L1,L2等等。

 

相关文章
全志平台A40I GPIO操作:adb通过debugfs控制GPIO
全志平台A40I GPIO操作:adb通过debugfs控制GPIO
567 0
|
Linux 网络安全 数据安全/隐私保护
SSH - 远程连接中遇到的两个坑与SSH
SSH - 远程连接中遇到的两个坑与SSH
455 0
|
Ubuntu Linux
荔枝派Zero(全志V3S)烧录Uboot、Kernel及rootfs到SD卡并运行在板子上
通过前面 Uboot编译及配置 我们获得了 u-boot-sunxi-with-spl.bin 通过前面 Kernel编译 我们获得了zImage镜像文件及sun8i-v3s-licheepi-zero-dock.dtb设备树文件
968 1
|
10月前
|
人工智能 测试技术 程序员
3天功能开发→3小时:通义灵码2.0+DEEPSEEK实测报告,单元测试生成准确率92%的秘密
通义灵码2.0是阿里巴巴推出的一款智能编程辅助工具,借助AI的强大能力,为开发者提供高效的代码生成、单元测试自动生成及跨语言编程支持。其核心亮点包括: 通义灵码2.0不仅提升了开发效率,还降低了编程门槛,帮助初学者快速上手。强烈推荐给所有开发者! [了解更多](https://hyk52syx.blog.csdn.net/article/details/145642464?spm=1001.2014.3001.5502)
1110 23
|
缓存 安全 网络协议
Windows 安全基础——NetBIOS篇
Windows 安全基础——NetBIOS篇
399 4
|
存储 网络协议 安全
C语言 网络编程(五)Socket和端口
Socket 是 TCP/IP 五层网络模型中应用层的编程接口,用于实现不同主机间应用程序的双向通信。它作为网络通信的端点,连接应用层与网络协议栈,提供可靠的流式或非流式数据传输服务。Socket 包括流式(SOCKET_STREAM)、数据报(SOCK_DGRAM)和原始套接字(SOCK_RAW)三种类型,分别适用于不同场景。通过 IP 地址和端口号,Socket 能准确识别并转发数据包至指定进程。端口号分为知名端口(1-1023)、注册端口(1024-49151)和动态端口(49152-65535),确保数据准确交付。
|
人工智能 自然语言处理 测试技术
Meta Llama 3 模型与amzBedrock 完美融合,释放无限潜能。如何通过SageMaker来部署和运行推理
Meta Llama 3 模型与amz Bedrock 完美融合,释放无限潜能。如何通过SageMaker 来部署和运行推理
199 0
|
Oracle Java 关系型数据库
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
如果遇到"exec format error"问题,文章建议先检查Linux操作系统是32位还是64位,并确保安装了与系统匹配的JDK版本。如果系统是64位的,但出现了错误,可能是因为下载了错误的JDK版本。文章提供了一个链接,指向Oracle官网上的JDK 17 Linux版本下载页面,并附有截图说明。
Linux下JDK环境的配置及 bash: /usr/local/java/bin/java: cannot execute binary file: exec format error问题的解决
|
运维 负载均衡 算法
|
数据采集 搜索推荐 算法
fuzzywuzzy,一个好用的 Python 库!
fuzzywuzzy,一个好用的 Python 库!
403 0