当前位置: 首页 > article >正文

一起对话式学习-机器学习02——机器学习方法三要素

【一】核方法

        首先补充一下核方法,这应是机器学习分类中的内容。

        什么是核方法呢?听起来很高级,但理解很简单:

        官方定义:核方法是使用核函数表示和学习非线性模型的一种机器学习方法,可以用于监督学习和非监督学习。      

        理解:在分类问题中很多情况下并不能用线性(二维中是一条线,三维则是一个平面,当然还有更高维)去划分,而是非线性的。核方法则可以利用核函数将输入映射到一个特征空间中,使其映射后的样本点变得可分。

        如我们常见的几种模型:核函数支持向量机、核PCA、核K-means等。

【二】 机器学习方法三要素

机器学习方法=模型+策略+算法

可以理解为:机器学习模型在一定优化策略下使用相应求解算法来达到最优化目标。 

 1.模型 

        这里只介绍监督学习的两种:决策函数与条件概率分布,即非概率模型与概率模型。

        给出二者形式就明了了:

Y=f(X)

        这是一个决策函数,就是我们平时的一个x关于y的函数,给定x,如果已知全部参数,则模型确定输出y。当然,在模型中,这样的函数很可能不止一个,而是一个集合,自变量x可能也有很多,关系可能错综复杂。

P=P(Y|X) 

        这是一个条件概率分布,就是我们平时的概率密度函数,在已知X的情况下,确定Y的相应概率分布,只不过要注意,这个分布通常由参数\theta决定,具体可以参照01贝叶斯学习 。同样,在模型中,这样的函数很可能不止一个,而是一个集合。

2.策略

        所谓策略就是以什么准则进行学习以及选取最优模型。

        我们给出损失函数与风险函数:

有以下几种损失函数

(图片来自 此,侵删)

        就是在训练完后进行测试时,用来度量预测结果和真实值之间的差异。还有其他更复杂的损失函数,具体模型最优选取不同。

        接下是风险函数,很简单,就是损失函数的期望,模型平均意义下的损失。

R=\frac{1}{N}\sum_{i=1}^{N}L(y_{i},f(x_{i}) )

        其中,模型关于训练集的平均损失称为经验风险或经验损失。根据大数定律,当数据集样本数量N趋于无穷,经验风险就是期望风险,所以我们可以用训练集下的经验风险来代替所有数据下的期望风险。

        为什么不能直接计算期望风险呢?因为你不可能知道每次实例X下的输出Y,不然什么都知道还预测什么?

        但是我们知道,用样本代替总体(大数定律) 的思想很好,但总归是有误差,所以仅仅依靠经验风险来评估是不科学的,为此,我们提出结构风险

R=\frac{1}{N}\sum_{i=1}^{N}L(y_{i},f(x_{i}) )+\lambda J(f))       

        可以看到,其实就是将经验期望后加了一项,这项称之为正则化项或惩罚项,为的就是防止过拟合(由于模型捕捉了训练集上的过多细节导致的模型过于复杂化)。其中\lambda系数决定了惩罚力度。

        所以,我们最终要做的就是将经验风险最小化与结构风险最小化。

3.算法

        经过模型和策略的选定,实际上机器学习问题到这里就变成了最优化问题——求解经验风险最小化与结构风险最小化。

        这部分可以阅读最优化问题的相关书籍或观看视频深入了解。


 Over!!! 



http://www.kler.cn/a/307606.html

相关文章:

  • 网络安全-蓝队基础
  • 软件测试面试2024最新热点问题
  • Python多进程间通讯(包含共享内存方式)
  • 小面馆叫号取餐流程 佳易王面馆米线店点餐叫号管理系统操作教程
  • Linux设置socks代理
  • Python用CEEMDAN-LSTM-VMD金融股价数据预测及SVR、AR、HAR对比可视化
  • Apache-wed服务器环境的安装
  • 智能工厂的设计软件 单一面问题分析方法的“独角兽”程序
  • JVM面试真题总结(七)
  • 总结对象相关知识
  • Go语言并发编程之select语句详解
  • 【相机方案(2)】V4L2 支持相机图像直接进入GPU内存吗?DeepStream 确实可以将图像数据高效地放入GPU内存进行处理!
  • 后端开发刷题 | 打家劫舍
  • gin基本使用
  • 30款免费好用的工具,打工人必备!
  • 基于Keil软件实现实时时钟(江协科技HAL库)
  • Java-数据结构-二叉树-基础 (o゚▽゚)o
  • 代码随想录训练营Day3 | 链表理论基础 | 203.移除链表元素 | 707.设计链表 | 206.反转链表
  • Flink学习2
  • 力扣每日一题
  • 深入剖析:C++类对象的内存布局与优化
  • 【计算机网络】应用层序列化
  • 【每日一题】LeetCode 2398.预算内的最多机器人数目(滑动窗口、数组、二分查找、前缀和、堆(优先队列))
  • 多层建筑能源参数化模型和城市冠层模型的区别
  • Typora2024最新版破解方法(亲测可用)
  • CentOS配置python版本管理工具pyenv