
想了解机器学习?你需要知道的十个基础算法
毫无疑问,作为人工智能的子领域—机器学习在过去的几年中越来越受欢迎。由于大数据是目前科技行业最热门的趋势,基于大量的数据机器学习在提前预测和做出建议方面有巨大的潜力。一些有关机器学习常见的例子有:Netflix基于你以前看过的电影再给你做出影片的推荐,或者亚马逊根据你以前买过的书籍再给你进行图书推荐。
如果想了解更多有关机器学习的知识,要从哪里开始呢?作者第一次入门是在哥本哈根海外交流时选了一门有关人工智能的课程。这门课程的讲师是丹麦科技大学(Technical University of Denmark)的应用数学以及计算机科学全职教授,他的研究领域主要是逻辑学和人工智能方面,主要研究内容是使用逻辑来对计算机类人行为(比如计划、推理以及问题解决等)进行建模。这门课包括理论、核心概念探讨以及亲自动手解决问题。作者所使用的教材是人工智能(AI)领域的经典教材之一:Peter Norvig’s Artificial Intelligence — A Modern Approach(人工智能—现代方法),在其中我们学习的几个主题包括:智能agents、通过搜索解决问题、社会化AI、AI的哲学/社会学/未来。在课程的结尾,作者使用简单的基于搜索的agents来解决虚拟环境中的传输问题。
作者表示通过这门课程学到了相当多的知识,也决定继续学习这个特殊的课题。在接下来的几个星期,作者在旧金山参加了很多关于机器学习、神经网络、数据架构的科技讲座,特别是一个有很多业内知名学者参加的机器学习会议。最重要的是,作者在Udacity中选修了一门“机器学习入门”的在线课程,最近已经完成学习。在本文中,作者将在课程中学习到的机器学习算法分享给大家。
机器学习算法可以分为三个大类:监督学习、无监督学习、强化学习。其中:
监督学习对于有标签的特定数据集(训练集)是非常有效的,但是它需要对于其他的距离进行预测。
无监督学习对于在给定未标记的数据集(目标没有提前指定)上发现潜在关系是非常有用的。
强化学习介于这两者之间—它针对每次预测步骤(或行动)会有某种形式的反馈,但是没有明确的标记或者错误信息。本文主要介绍有关监督学习和无监督学习的10种算法。
1.决策树(Decision Trees):
决策树是一个决策支持工具,它使用树形图或决策模型以及序列可能性。包括各种偶然事件的后果、资源成本、功效。下图展示的是它的大概原理:
从业务决策的角度来看,大部分情况下决策树是评估作出正确的决定的概率最不需要问是/否问题的办法。它能让你以一个结构化的和系统化的方式来处理这个问题,然后得出一个合乎逻辑的结论。
2.朴素贝叶斯分类(Naive Bayesian classification):
朴素贝叶斯分类是一种十分简单的分类算法,叫它朴素贝叶斯分类是因为这种方法的思想真的很朴素,朴素贝叶斯的思想基础是这样的:对于给出的待分类项,求解在此项出现的条件下各个类别出现的概率,哪个最大,就认为此待分类项属于哪个类别。
它的现实使用例子有:
将一封电子邮件标记(或者不标记)为垃圾邮件
将一篇新的文章归类到科技、政治或者运动
检查一段文本表达的是积极情绪还是消极情绪
脸部识别软件
3.最小二乘法(Ordinary Least Squares Regression):
如果你懂统计学的话,你可能以前听说过线性回归。最小二乘法是一种计算线性回归的方法。你可以把线性回归当做在一系列的点中画一条合适的直线的任务。有很多种方法可以实现这个,“最小二乘法”是这样做的 —你画一条线,然后为每个数据点测量点与线之间的垂直距离,并将这些全部相加,最终得到的拟合线将在这个相加的总距离上尽可能最小。
4.逻辑回归(Logistic Regression):
逻辑回归是一种强大的统计方法,它能建模出一个二项结果与一个(或多个)解释变量。它通过估算使用逻辑运算的概率,测量分类依赖变量和一个(或多个)独立的变量之间的关系,这是累积的逻辑分布情况。
总的来说,逻辑回归可以用于以下几个真实应用场景:
信用评分
测量营销活动的成功率
预测某一产品的收入
特定某一天是否会发生地震
5.支持向量机(Support Vector Machine):
SVM(Support Vector Machine)是二元分类算法。给定一组2种类型的N维的地方点,SVM(Support Vector Machine)产生一个(N – 1)维超平面到这些点分成2组。假设你有2种类型的点,且它们是线性可分的。 SVM(Support Vector Machine)将找到一条直线将这些点分成2种类型,并且这条直线会尽可能地远离所有的点。
在规模方面,目前最大的使用支持向量机SVM(Support Vector Machine)(在适当修改的情况下)的问题是显示广告,人类剪接位点识别,基于图像的性别检测,大规模的图像分类等。
6.组合方法(Ensemble methods):
组合方法是学习算法,它构建一系列分类,然后通过采取加权投票预测的方式来对新的数据点进行分类。原始的集成方法是贝叶斯平均法,但最近的算法包括对其纠错输出编码、套袋、加速等。
那么组合方法如何运行的呢?为什么说它们比其他的模型要优秀?因为:
它们将偏差平均了:如果你将民主党派的民意调查和共和党的民意调查发在一起平均化,那么你将得到一个均衡的结果,且不偏向任何一方。
它们减少了差异:一堆模型的总结意见没有一个模型的单一意见那么嘈杂。在金融领域,这就是所谓的多元化 — 有许多股票组合比一个单独的股票的不确定性更少,这也为什么你的模型在数据多的情况下会更好的原因。
它们不太可能过度拟合:如果你有没有过度拟合的独立模型,你通过一个简单的方式(平均,加权平均,逻辑回归)对每个独立模型的预测进行结合,这样的话不太可能会出现过度拟合的情况。
7.聚类算法(Clustering Algorithms):
聚类是一种聚集对象的任务,例如:相比其他不同的组在同一组(集群)的对象彼此更为相似。
每个聚类算法都是不同的,比如说有以下几种:
基于质心的算法
基于连接的算法
基于密度的算法
可能性
维度缩减
8.主成分分析(Principal Component Analysis,PCA):
通过正交变换将一组可能存在相关性的变量转换为一组线性不相关的变量,转换后的这组变量叫主成分。
一些主成分分析PCA程序的应用包括压缩、简化数据、可视化。注意,对于选择是否使用主成分分析领域知识是非常重要的。当数据是嘈杂的时候(所有的组件的主成分分析有相当高的方差),它是不适合的。
9. 奇异值分解(Singular Value Decomposition):
在线性代数中,SVD是一个非常复杂矩阵的因数分解。对于一个给定的m×n矩阵M,存在一个分解,M = UΣV,其中u和v是单一矩阵,Σ是对角矩阵。
主成分分析PCA其是奇异值分解SVD的简单应用。在计算机视觉领域,第一人脸识别算法,运用主成分分析PCA其是奇异值分解SVD来代表面孔作为一个线性组合的“特征脸”,并对其做降维,然后通过简单的方法匹配合适的身份;虽然现代方法更复杂,但是许多人仍然依靠类似的技术。
10.独立成分分析(Independent Component Analysis):
独立成分分析(Independent Component Analysis,ICA)是一种揭示构筑随机变量、技术测量、信号等隐藏因素的统计技术。ICA定义了所观察到的多变量数据生成模型,这通常是给定为一个大型数据库的样本。在该模型中,数据变量被假定为一些未知潜变量的线性混合,同时混合系统也仍然未知。潜变量被假定是非高斯和相互独立的,它们被称为所观察到的数据的独立分量。
ICA与PCA是相关的,但它更强大。在这些经典的方法完全失败的时候,ICA能够找到源头的潜在因素。它的应用包括数字图像、文档数据库、经济指标和心理测试。
通过以上介绍,相信大部分人对于机器学习的算法都有一定的了解。如果对这方面感兴趣的话,可以接着运用你理解的算法去创造机器学习应用,为世界各地的人们创造更好的生活条件。
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
基于 SPSS 的 ROC 曲线平滑调整方法与实践指南 摘要 受试者工作特征曲线(ROC 曲线)是评估诊断模型或预测指标效能的核心工具, ...
2025-08-25神经网络隐藏层神经元个数的确定方法与实践 摘要 在神经网络模型设计中,隐藏层神经元个数的确定是影响模型性能、训练效率与泛 ...
2025-08-25CDA 数据分析师与数据思维:驱动企业管理升级的核心力量 在数字化浪潮席卷全球的当下,数据已成为企业继人力、物力、财力之后的 ...
2025-08-25CDA数据分析师与数据指标:基础概念与协同逻辑 一、CDA 数据分析师:数据驱动时代的核心角色 1.1 定义与行业价值 CDA(Certified ...
2025-08-22Power Query 移动加权平均计算 Power Query 移动加权平均设置全解析:从原理到实战 一、移动加权平均法的核心逻辑 移动加权平均 ...
2025-08-22描述性统计:CDA数据分析师的基础核心与实践应用 一、描述性统计的定位:CDA 认证的 “入门基石” 在 CDA(Certified Data Analy ...
2025-08-22基于 Python response.text 的科技新闻数据清洗去噪实践 在通过 Python requests 库的 response.text 获取 API 数据后,原始数据 ...
2025-08-21基于 Python response.text 的科技新闻综述 在 Python 网络爬虫与 API 调用场景中,response.text 是 requests 库发起请求后获取 ...
2025-08-21数据治理新浪潮:CDA 数据分析师的战略价值与驱动逻辑 一、数据治理的多维驱动引擎 在数字经济与人工智能深度融合的时代,数据治 ...
2025-08-21Power BI 热力地图制作指南:从数据准备到实战分析 在数据可视化领域,热力地图凭借 “直观呈现数据密度与分布趋势” 的核心优势 ...
2025-08-20PyTorch 矩阵运算加速库:从原理到实践的全面解析 在深度学习领域,矩阵运算堪称 “计算基石”。无论是卷积神经网络(CNN)中的 ...
2025-08-20数据建模:CDA 数据分析师的核心驱动力 在数字经济浪潮中,数据已成为企业决策的核心资产。CDA(Certified Data Analyst)数据分 ...
2025-08-20KS 曲线不光滑:模型评估的隐形陷阱,从原因到破局的全指南 在分类模型(如风控违约预测、电商用户流失预警、医疗疾病诊断)的评 ...
2025-08-20偏态分布:揭开数据背后的非对称真相,赋能精准决策 在数据分析的世界里,“正态分布” 常被视为 “理想模型”—— 数据围绕均值 ...
2025-08-19CDA 数据分析师:数字化时代的价值创造者与决策智囊 在数据洪流席卷全球的今天,“数据驱动” 已从企业战略口号落地为核心 ...
2025-08-19CDA 数据分析师:善用 Power BI 索引列,提升数据处理与分析效率 在 Power BI 数据分析流程中,“数据准备” 是决定后续分析质量 ...
2025-08-18CDA 数据分析师:巧用 SQL 多个聚合函数,解锁数据多维洞察 在企业数据分析场景中,单一维度的统计(如 “总销售额”“用户总数 ...
2025-08-18CDA 数据分析师:驾驭表格结构数据的核心角色与实践应用 在企业日常数据存储与分析场景中,表格结构数据(如 Excel 表格、数据库 ...
2025-08-18PowerBI 累计曲线制作指南:从 DAX 度量到可视化落地 在业务数据分析中,“累计趋势” 是衡量业务进展的核心视角 —— 无论是 “ ...
2025-08-15Python 函数 return 多个数据:用法、实例与实战技巧 在 Python 编程中,函数是代码复用与逻辑封装的核心载体。多数场景下,我们 ...
2025-08-15