《R语言机器学习:实用案例分析》——2.2节机器学习算法

简介:

本节书摘来自华章社区《R语言机器学习:实用案例分析》一书中的第2章,第2.2节机器学习算法,作者[印度] 拉格哈夫·巴利(Raghav Bali)迪潘简·撒卡尔(Dipanjan Sarkar),更多章节内容可以访问云栖社区“华章社区”公众号查看

2.2 机器学习算法
目前为止,我们已经大致了解了机器学习。我们理解了机器学习的定义是指,计算机程序在经验E形式的数据的帮助下,改进其性能P,进而学习了任务T。我们还看到,由于没有一步一步执行的代码,而是让程序形成对问题的理解,进而帮助我们解决问题,所以机器学习与传统的程序范式是不同的。更让我们惊讶的是,这样的一个程序就工作在我们面前。
一直以来,虽然我们学习了机器学习的概念,但是我们仍将这个神奇的计算机程序当作一个帮助我们学习和解决问题的神秘黑匣子。现在是让我们揭晓谜底,探究面纱下这些神奇算法的时候了。
我们将从机器学习中最常见和最广泛使用的一些算法开始,探究它们复杂的细节和应用,以及少量必需的数学原理。通过本章,你将了解不同的算法类别。这里给出的算法列表并不详尽,尽管对一些算法进行了很详细的解释,对每一个算法的深刻理论理解超出了本书的范围。有大量有关机器学习的资料可以容易地从书籍、在线课程、博客等诸多的渠道获取。
感知机
这个算法就像机器学习领域中的Hello World算法。这或许是所有算法中最易于理解和使用的算法,但这并不意味着这个算法不强大。
感知机(perceptron)算法由Frank Rosenblatt于1958年提出,由于它找到了可分类数据的分类器(separator)而受到了极大的关注。
感知机是一个函数(或者精确地说,一个简单化的神经元),它将一个实数向量作为输入,并生成一个实数作为输出。
在数学上,感知机可以表示为以下形式:
y = f(w1x1 + w2x2 + … + wnxn + b)= f(wTx + b)
这里,w1,…,wn表示权重,b是一个表示偏差(或误差)的常数项,x1,…,xn是输入,y是函数f的输出,函数f称为激活函数。
感知机算法如下所示:
1)用小的随机数作为权重向量w和误差项b的初始值。
2)基于函数f和向量x计算输出向量y。
3)通过更新权重向量w和误差项b来校正偏差。
4)重复步骤2和3,直到没有偏差或将误差减小到一个给定的范围内。
感知机算法尝试找到一种分类器,通过应用称为训练集(训练集对应上一节中机器学习定义中的经验E)的带标签的数据集,将输入数据分为两个类。该算法通过随机数设置初值权重向量w和误差项b。然后通过函数f对输入数据进行处理,给出向量y。然后将这个生成的输出y与训练集中正确的输出值进行比较,并对权重向量w和误差项b进行相应的调整。为了理解向量调整过程,假设存在点p1,其正确的输出值是+1。现在,假如感知机将p1错误地分类为-1,为了正确地对p1进行分类,感知机将向量w和误差项b向p1方向进行微小的移动(为防止突然的跳跃,移动将受到学习率的限制)。当找到正确的分类器或者将偏差限定在一个用户给定的特定范围内时,算法将停止。
现在让我们通过一个简单的例子来了解感知机算法是如何运行的。
为了让感知机算法工作,我们需要一个线性可分的数据集。假定数据通过下式生成:
x2 = x1 + 1/2
基于上式,正确的分类器由下式给出:


35610cc4d1283996a77c1eec412275f9a34d624e


f5603483d952de48b1518daf54a9838b44b0aa8a

现在是时候训练感知机了!


75173d6d2860b8f55ca4d6fcd88b7c1b10b4e9af

感知机找到正确分类器的工作方式示意图。正确的分类器用黑色表示
上面的图形给出了感知机的训练状态。每一个错误的分类器用一根灰色线表示。如图所示,在找到用黑色线标识正确的分类器后,感知机停止运算。
最后的分类器的放大视图如下所示。


(<a href=https://yqfile.alicdn.com/bdeab76a1c1d72f6f138a345bde57faee3fd9ad1.png" >

![image]( https://yqfile.alicdn.com/a4504e9beeb1ff53391f89f5405b2671136319b8.png" >
相关文章
|
1月前
|
机器学习/深度学习 数据采集 人工智能
【机器学习算法篇】K-近邻算法
K近邻(KNN)是一种基于“物以类聚”思想的监督学习算法,通过计算样本间距离,选取最近K个邻居投票决定类别。支持多种距离度量,如欧式、曼哈顿、余弦相似度等,适用于分类与回归任务。结合Scikit-learn可高效实现,需合理选择K值并进行数据预处理,常用于鸢尾花分类等经典案例。(238字)
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
1153 6
|
6月前
|
机器学习/深度学习 数据采集 人工智能
20分钟掌握机器学习算法指南
在短短20分钟内,从零开始理解主流机器学习算法的工作原理,掌握算法选择策略,并建立对神经网络的直观认识。本文用通俗易懂的语言和生动的比喻,帮助你告别算法选择的困惑,轻松踏入AI的大门。
|
7月前
|
机器学习/深度学习 存储 Kubernetes
【重磅发布】AllData数据中台核心功能:机器学习算法平台
杭州奥零数据科技有限公司成立于2023年,专注于数据中台业务,维护开源项目AllData并提供商业版解决方案。AllData提供数据集成、存储、开发、治理及BI展示等一站式服务,支持AI大模型应用,助力企业高效利用数据价值。
|
8月前
|
机器学习/深度学习 人工智能 自然语言处理
AI训练师入行指南(三):机器学习算法和模型架构选择
从淘金到雕琢,将原始数据炼成智能珠宝!本文带您走进数字珠宝工坊,用算法工具打磨数据金砂。从基础的经典算法到精密的深度学习模型,结合电商、医疗、金融等场景实战,手把手教您选择合适工具,打造价值连城的智能应用。掌握AutoML改装套件与模型蒸馏术,让复杂问题迎刃而解。握紧算法刻刀,为数字世界雕刻文明!
305 6
|
9月前
|
机器学习/深度学习 算法 数据安全/隐私保护
基于机器学习的人脸识别算法matlab仿真,对比GRNN,PNN,DNN以及BP四种网络
本项目展示了人脸识别算法的运行效果(无水印),基于MATLAB2022A开发。核心程序包含详细中文注释及操作视频。理论部分介绍了广义回归神经网络(GRNN)、概率神经网络(PNN)、深度神经网络(DNN)和反向传播(BP)神经网络在人脸识别中的应用,涵盖各算法的结构特点与性能比较。
|
10月前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
1863 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
10月前
|
机器学习/深度学习 算法 网络安全
CCS 2024:如何严格衡量机器学习算法的隐私泄露? ETH有了新发现
在2024年CCS会议上,苏黎世联邦理工学院的研究人员提出,当前对机器学习隐私保护措施的评估可能存在严重误导。研究通过LiRA攻击评估了五种经验性隐私保护措施(HAMP、RelaxLoss、SELENA、DFKD和SSL),发现现有方法忽视最脆弱数据点、使用较弱攻击且未与实际差分隐私基线比较。结果表明这些措施在更强攻击下表现不佳,而强大的差分隐私基线则提供了更好的隐私-效用权衡。
256 14
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
解锁机器学习的新维度:元学习的算法与应用探秘
元学习作为一个重要的研究领域,正逐渐在多个应用领域展现其潜力。通过理解和应用元学习的基本算法,研究者可以更好地解决在样本不足或任务快速变化的情况下的学习问题。随着研究的深入,元学习有望在人工智能的未来发展中发挥更大的作用。
|
12月前
|
机器学习/深度学习 算法 数据挖掘
C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出
本文探讨了C语言在机器学习中的应用及其重要性。C语言以其高效性、灵活性和可移植性,适合开发高性能的机器学习算法,尤其在底层算法实现、嵌入式系统和高性能计算中表现突出。文章还介绍了C语言在知名机器学习库中的作用,以及与Python等语言结合使用的案例,展望了其未来发展的挑战与机遇。
333 1