
想了解机器学习?你需要知道的十个基础算法
毫无疑问,作为人工智能的子领域—机器学习在过去的几年中越来越受欢迎。由于大数据是目前科技行业最热门的趋势,基于大量的数据机器学习在提前预测和做出建议方面有巨大的潜力。一些有关机器学习常见的例子有: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
SQL Server 中 CONVERT 函数的日期转换:从基础用法到实战优化 在 SQL Server 的数据处理中,日期格式转换是高频需求 —— 无论 ...
2025-09-18MySQL 大表拆分与关联查询效率:打破 “拆分必慢” 的认知误区 在 MySQL 数据库管理中,“大表” 始终是性能优化绕不开的话题。 ...
2025-09-18CDA 数据分析师:表结构数据 “获取 - 加工 - 使用” 全流程的赋能者 表结构数据(如数据库表、Excel 表、CSV 文件)是企业数字 ...
2025-09-18DSGE 模型中的 Et:理性预期算子的内涵、作用与应用解析 动态随机一般均衡(Dynamic Stochastic General Equilibrium, DSGE)模 ...
2025-09-17Python 提取 TIF 中地名的完整指南 一、先明确:TIF 中的地名有哪两种存在形式? 在开始提取前,需先判断 TIF 文件的类型 —— ...
2025-09-17CDA 数据分析师:解锁表结构数据特征价值的专业核心 表结构数据(以 “行 - 列” 规范存储的结构化数据,如数据库表、Excel 表、 ...
2025-09-17Excel 导入数据含缺失值?详解 dropna 函数的功能与实战应用 在用 Python(如 pandas 库)处理 Excel 数据时,“缺失值” 是高频 ...
2025-09-16深入解析卡方检验与 t 检验:差异、适用场景与实践应用 在数据分析与统计学领域,假设检验是验证研究假设、判断数据差异是否 “ ...
2025-09-16CDA 数据分析师:掌控表格结构数据全功能周期的专业操盘手 表格结构数据(以 “行 - 列” 存储的结构化数据,如 Excel 表、数据 ...
2025-09-16MySQL 执行计划中 rows 数量的准确性解析:原理、影响因素与优化 在 MySQL SQL 调优中,EXPLAIN执行计划是核心工具,而其中的row ...
2025-09-15解析 Python 中 Response 对象的 text 与 content:区别、场景与实践指南 在 Python 进行 HTTP 网络请求开发时(如使用requests ...
2025-09-15CDA 数据分析师:激活表格结构数据价值的核心操盘手 表格结构数据(如 Excel 表格、数据库表)是企业最基础、最核心的数据形态 ...
2025-09-15Python HTTP 请求工具对比:urllib.request 与 requests 的核心差异与选择指南 在 Python 处理 HTTP 请求(如接口调用、数据爬取 ...
2025-09-12解决 pd.read_csv 读取长浮点数据的科学计数法问题 为帮助 Python 数据从业者解决pd.read_csv读取长浮点数据时的科学计数法问题 ...
2025-09-12CDA 数据分析师:业务数据分析步骤的落地者与价值优化者 业务数据分析是企业解决日常运营问题、提升执行效率的核心手段,其价值 ...
2025-09-12用 SQL 验证业务逻辑:从规则拆解到数据把关的实战指南 在业务系统落地过程中,“业务逻辑” 是连接 “需求设计” 与 “用户体验 ...
2025-09-11塔吉特百货孕妇营销案例:数据驱动下的精准零售革命与启示 在零售行业 “流量红利见顶” 的当下,精准营销成为企业突围的核心方 ...
2025-09-11CDA 数据分析师与战略 / 业务数据分析:概念辨析与协同价值 在数据驱动决策的体系中,“战略数据分析”“业务数据分析” 是企业 ...
2025-09-11Excel 数据聚类分析:从操作实践到业务价值挖掘 在数据分析场景中,聚类分析作为 “无监督分组” 的核心工具,能从杂乱数据中挖 ...
2025-09-10统计模型的核心目的:从数据解读到决策支撑的价值导向 统计模型作为数据分析的核心工具,并非简单的 “公式堆砌”,而是围绕特定 ...
2025-09-10