入门机器学习新手必看10大算法算法机器学习数据集新浪科技

本文介绍了机器学习新手需要了解的10大算法,包括线性回归、Logistic回归、朴素贝叶斯、K近邻算法等。

在机器学习中,有一种叫做「没有免费的午餐」的定理。简而言之,它指出没有任何一种算法对所有问题都有效,在监督学习(即预测建模)中尤其如此。

例如,你不能说神经网络总是比决策树好,反之亦然。有很多因素在起作用,例如数据集的大小和结构。

因此,你应该针对具体问题尝试多种不同算法,并留出一个数据「测试集」来评估性能、选出优胜者。

当然,你尝试的算法必须适合你的问题,也就是选择正确的机器学习任务。打个比方,如果你需要打扫房子,你可能会用吸尘器、扫帚或拖把,但是你不会拿出铲子开始挖土。

大原则

不过也有一个普遍原则,即所有监督机器学习算法预测建模的基础。

机器学习算法被描述为学习一个目标函数f,该函数将输入变量X最好地映射到输出变量Y:Y=f(X)

这是一个普遍的学习任务,我们可以根据输入变量X的新样本对Y进行预测。我们不知道函数f的样子或形式。如果我们知道的话,我们将会直接使用它,不需要用机器学习算法从数据中学习。

最常见的机器学习算法是学习映射Y=f(X)来预测新X的Y。这叫做预测建模或预测分析,我们的目标是尽可能作出最准确的预测。

对于想了解机器学习基础知识的新手,本文将概述数据科学家使用的top10机器学习算法。

1.线性回归

线性回归可能是统计学和机器学习中最知名和最易理解的算法之一。

线性回归的表示是一个方程,它通过找到输入变量的特定权重(称为系数B),来描述一条最适合表示输入变量x与输出变量y关系的直线。

线性回归

例如:y=B0+B1*x

我们将根据输入x预测y,线性回归学习算法的目标是找到系数B0和B1的值。

可以使用不同的技术从数据中学习线性回归模型,例如用于普通最小二乘法和梯度下降优化的线性代数解。

2.Logistic回归

Logistic回归是机器学习从统计学中借鉴的另一种技术。它是解决二分类问题的首选方法。

Logistic回归与线性回归相似,目标都是找到每个输入变量的权重,即系数值。与线性回归不同的是,Logistic回归对输出的预测使用被称为logistic函数的非线性函数进行变换。

logistic函数看起来像一个大的S,并且可以将任何值转换到0到1的区间内。这非常实用,因为我们可以规定logistic函数的输出值是0和1(例如,输入小于0.5则输出为1)并预测类别值。

Logistic回归

由于模型的学习方式,Logistic回归的预测也可以作为给定数据实例(属于类别0或1)的概率。这对于需要为预测提供更多依据的问题很有用。

3.线性判别分析(LDA)

Logistic回归是一种分类算法,传统上,它仅限于只有两类的分类问题。如果你有两个以上的类别,那么线性判别分析是首选的线性分类技术。

LDA的表示非常简单直接。它由数据的统计属性构成,对每个类别进行计算。单个输入变量的LDA包括:

每个类别的平均值;

所有类别的方差。

线性判别分析

进行预测的方法是计算每个类别的判别值并对具备最大值的类别进行预测。该技术假设数据呈高斯分布(钟形曲线),因此最好预先从数据中删除异常值。这是处理分类预测建模问题的一种简单而强大的方法。

4.分类与回归树

决策树是预测建模机器学习的一种重要算法。

决策树模型的表示是一个二叉树。这是算法和数据结构中的二叉树,没什么特别的。每个节点代表一个单独的输入变量x和该变量上的一个分割点(假设变量是数字)。

决策树

决策树的叶节点包含一个用于预测的输出变量y。通过遍历该树的分割点,直到到达一个叶节点并输出该节点的类别值就可以作出预测。

决策树学习速度和预测速度都很快。它们还可以解决大量问题,并且不需要对数据做特别准备。

5.朴素贝叶斯

朴素贝叶斯是一个简单但是很强大的预测建模算法。

该模型由两种概率组成,这两种概率都可以直接从训练数据中计算出来:1)每个类别的概率;2)给定每个x的值,每个类别的条件概率。一旦计算出来,概率模型可用于使用贝叶斯定理对新数据进行预测。当你的数据是实值时,通常假设一个高斯分布(钟形曲线),这样你可以简单的估计这些概率。

贝叶斯定理

朴素贝叶斯之所以是朴素的,是因为它假设每个输入变量是独立的。这是一个强大的假设,真实的数据并非如此,但是,该技术在大量复杂问题上非常有用。

6.K近邻算法

KNN算法非常简单且有效。KNN的模型表示是整个训练数据集。是不是很简单?

KNN算法在整个训练集中搜索K个最相似实例(近邻)并汇总这K个实例的输出变量,以预测新数据点。对于回归问题,这可能是平均输出变量,对于分类问题,这可能是众数(或最常见的)类别值。

诀窍在于如何确定数据实例间的相似性。如果属性的度量单位相同(例如都是用英寸表示),那么最简单的技术是使用欧几里得距离,你可以根据每个输入变量之间的差值直接计算出来其数值。

K近邻算法

KNN需要大量内存或空间来存储所有数据,但是只有在需要预测时才执行计算(或学习)。你还可以随时更新和管理训练实例,以保持预测的准确性。

7.学习向量量化

K近邻算法的一个缺点是你需要遍历整个训练数据集。学习向量量化算法(简称LVQ)是一种人工神经网络算法,它允许你选择训练实例的数量,并精确地学习这些实例应该是什么样的。

学习向量量化

LVQ的表示是码本向量的集合。这些是在开始时随机选择的,并逐渐调整以在学习算法的多次迭代中最好地总结训练数据集。在学习之后,码本向量可用于预测(类似K近邻算法)。最相似的近邻(最佳匹配的码本向量)通过计算每个码本向量和新数据实例之间的距离找到。然后返回最佳匹配单元的类别值或(回归中的实际值)作为预测。如果你重新调整数据,使其具有相同的范围(比如0到1之间),就可以获得最佳结果。

如果你发现KNN在你的数据集上达到很好的结果,请尝试用LVQ减少存储整个训练数据集的内存要求。

8.支持向量机(SVM)

支持向量机可能是最受欢迎和最广泛讨论的机器学习算法之一。

超平面是分割输入变量空间的一条线。在SVM中,选择一条可以最好地根据输入变量类别(类别0或类别1)对输入变量空间进行分割的超平面。在二维中,你可以将其视为一条线,我们假设所有的输入点都可以被这条线完全的分开。SVM学习算法找到了可以让超平面对类别进行最佳分割的系数。

超平面和最近的数据点之间的距离被称为间隔。分开两个类别的最好的或最理想的超平面具备最大间隔。只有这些点与定义超平面和构建分类器有关。这些点被称为支持向量,它们支持或定义了超平面。实际上,优化算法用于寻找最大化间隔的系数的值。

SVM可能是最强大的立即可用的分类器之一,值得一试。

9.Bagging和随机森林

随机森林是最流行和最强大的机器学习算法之一。它是BootstrapAggregation(又称bagging)集成机器学习算法的一种。

bootstrap是从数据样本中估算数量的一种强大的统计方法。例如平均数。你从数据中抽取大量样本,计算平均值,然后平均所有的平均值以便更好的估计真实的平均值。

bagging使用相同的方法,但是它估计整个统计模型,最常见的是决策树。在训练数据中抽取多个样本,然后对每个数据样本建模。当你需要对新数据进行预测时,每个模型都进行预测,并将所有的预测值平均以便更好的估计真实的输出值。

随机森林是对这种方法的一种调整,在随机森林的方法中决策树被创建以便于通过引入随机性来进行次优分割,而不是选择最佳分割点。

因此,针对每个数据样本创建的模型将会与其他方式得到的有所不同,不过虽然方法独特且不同,它们仍然是准确的。结合它们的预测可以更好的估计真实的输出值。

如果你用方差较高的算法(如决策树)得到了很好的结果,那么通常可以通过bagging该算法来获得更好的结果。

10.Boosting和AdaBoost

Boosting是一种集成技术,它试图集成一些弱分类器来创建一个强分类器。这通过从训练数据中构建一个模型,然后创建第二个模型来尝试纠正第一个模型的错误来完成。一直添加模型直到能够完美预测训练集,或添加的模型数量已经达到最大数量。

AdaBoost是第一个为二分类开发的真正成功的boosting算法。这是理解boosting的最佳起点。现代boosting方法建立在AdaBoost之上,最显著的是随机梯度提升。

AdaBoost

AdaBoost与短决策树一起使用。在第一个决策树创建之后,利用每个训练实例上树的性能来衡量下一个决策树应该对每个训练实例付出多少注意力。难以预测的训练数据被分配更多权重,而容易预测的数据分配的权重较少。依次创建模型,每个模型在训练实例上更新权重,影响序列中下一个决策树的学习。在所有决策树建立之后,对新数据进行预测,并且通过每个决策树在训练数据上的精确度评估其性能。

因为在纠正算法错误上投入了太多注意力,所以具备已删除异常值的干净数据非常重要。

THE END
1.2021年计算机数据结构与算法[1]知识点第一章:数据结构与算法 1.1 算法 算法:是指解题方案的准确而完整的描述。 算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计。 算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效的,是明确的,此顺序将在有限的次数下终止。特征包括: https://xue.baidu.com/okam/pages/strategy-tp/index?strategyId=137041646971828&source=natural
2.算法学习攻略总结:入门至进阶,通关之路指南51CTO博客其中,递归是最重要的算法思想之一,你必须要入门。而动态规划、回溯等可以后面刷题遇到时再学。枚举和贪心相对比较简单。 3.3. 如何刷题 掌握了基础的数据结构和算法思想之后,你就可以开始刷题了。 3.3.1. 了解互联网算法笔 在刷题之前,我想先说一说笔试。如果笔试不考算法,面试也不考算法,那么我可能在学习算法https://blog.51cto.com/u_16542656/12047317
3.算法学习与应用从入门到精通全书共20章,其中,第1章讲解了算法为什么是程序的灵魂;第2~8章分别讲解了常用的算法,如线性表、队列和栈,树,图,查找算法,内部排序算法,外部排序算法等知识,这些内容都是算法技术核心的语法知识;第9~15章分别讲解了经典的数据结构问题、解决数学问题、解决趣味问题、解决图像问题、算法的经典问题、解决奥赛问题、常http://reader.hnlib.com/Book/Detail/377965
4.算法入门:从零开始学习算法的简单教程本文介绍了算法入门的基础知识,包括算法的基本概念、重要性及其应用领域。文章详细解释了如何描述和分析算法,并列举了常见的算法类型及其应用场景,适合希望从零开始学习算法的读者。 算法入门:从零开始学习算法的简单教程 算法基础概念介绍 什么是算法 算法是一组定义明确的指令,用于解决特定问题或完成特定任务。算法可https://www.imooc.com/article/357937
5.机器学习之十大算法入门算法机器学习之十大算法入门 一、决策树(有监督算法)原理就是条件熵 特点: 1、只能接受离散特征 分类决策树 2、准确类不高,可解释性强,可视化 3、贪心算法,无法从全局的观点来观察决策树,从而难以调优 4、决策树算法可以看成把多个逻辑回归算法集成起来 https://download.csdn.net/blog/column/7768934/80750198
6.初学机器学习?推荐从这十大算法入手这篇博文中的十大机器学习算法是专门写给初学者的。这些算法大多数都是我在孟买大学攻读计算机工程学士学位的时候,在“数据存储和挖掘“课程中学到的。“数据存储和挖掘“课程是一个非常棒的机器学习算法领域的入门课程。由于最后两个算法(集成方法)广泛运用于 Kaggle 比赛中,我专门把它们也写到了文章中。希望你喜欢这https://36kr.com/p/1721961660417
7.深度学习入门,一文讲解神经网络的构成训练和算法深度学习入门,一文讲解神经网络的构成、训练和算法 神经网络的构成、训练和算法 什么是神经网络 人工神经网络(Artificial Neural Network,ANN),简称神经网络(Neural Network,NN),是一种模仿生物神经网络的结构和功能的数学/计算模型,用于拟合各种函数。 一个神经网络,有两个基本要素:神经元和连接。https://cloud.tencent.com/developer/article/1518746?areaSource=102001.5&traceId=qq7DcMnNSWaY5OAZi0FEp
8.清华大学出版社图书详情以Python为基础,使用sklearn平台,封装丰富的机器学习算法;代码详解便于更快地掌握机器学习的思想,加速入门过程;突出实用性,针对每个机器学习算法都有相关案例。作者:周元哲 丛书名:计算机系列教材 定价:49.90元 印次:1-4 ISBN:9787302599982 出版日期:2022.02.01 印刷日期:2023.06.29http://www.tup.tsinghua.edu.cn/bookscenter/book_09067201.html
9.趣学算法(第2版)本书是用轻松有趣的方法学习算法的入门指南。按照算法策略分为8章。第1章以算法之美、趣味故事引入算法,讲解算法复杂度的计算方法,以及爆炸性增量问题。2~7章讲解经典算法,包括贪心算法、分治算法、动态规划算法、回溯法、分支限界法、网络流算法。第8章讲解实际应用中的算法和高频面试算法,包括启发式搜索、敏感词https://www.epubit.com/bookDetails?id=UB7d85fa69dcbd8
10.超详细算法岗的学习路线大总结!学习笔记:https://github.com/datawhalechina/leeml-notes 4. 书籍|《机器学习》 周志华的《机器学习》被大家亲切地称为“西瓜书”。这本书非常经典,讲述了机器学习核心数学理论和算法,适合有作为学校的教材或者中阶读者自学使用,入门时学习这本书籍难度稍微偏高了一些。 https://leetcode.cn/circle/discuss/SX3aa6/
11.趣学算法(陈小玉著)带目录完整pdf[95MB]电子书下载第1章 算法之美 1 1.1 打开算法之门 2 1.2 妙不可言—算法复杂性 2 1.3 美不胜收—魔鬼序列 9 1.4 灵魂之交—马克思手稿中的数学题 16 1.5 算法学习瓶颈 21 1.6 你怕什么 22 第2章 贪心算法 24 2.1 人之初,性本贪 25 2.1.1 贪心本质 25 https://www.jb51.net/books/635507.html
12.算法小白的机器学习入门实践,从零到上线总之一句话,可预见的未来策略会继续膨胀,维护难度也会进一步提升。意识到技术风险后,组内讨论认为如果使用机器学习方案一方面可降低解决方案的复杂度(降低维护成本),另一方面利于后期场景扩展和能力迁移。至少也应该能做到模型解决通用场景,在此基础上再定制优化策略(降低开发成本)。 https://www.jianshu.com/p/c0beb46b92d6
13.如何选择机器学习算法Python 入门(第 1 天) 训练和部署图像分类 构建训练管道 (Python) 与Azure 机器学习交互 处理数据 自动化机器学习 训练模型 使用基础模型 负责任地开发和监视 使用管道协调工作流 概述 设计器(拖放 ML) 什么是设计器 算法备忘单 如何选择算法 转换数据 https://docs.microsoft.com/zh-cn/azure/machine-learning/studio/algorithm-choice
14.图分析与学习算法自动驾驶技术……这两位人大学子,获奖降低大规模图分析与学习算法的复杂度 创造自动驾驶技术多任务通用模型 …… 每一项科研成果的背后 都是无数个日夜的辛苦与坚持 近日,中国人民大学信息学院2019级直博生王涵之、2020届硕士毕业生丁明宇与来自香港大学、清华大学、上海交通大学、南京大学、斯坦福大学、华盛顿大学、加州大学洛杉矶分校的8名学子一同获得了第https://t.m.youth.cn/transfer/index/url/tech.youth.cn/wzlb/202201/t20220129_13411740.htm
15.《机器学习实战》学习笔记k近邻算法(1)本渣渣的第 1 篇学习圈文章,就写一写广受大家好评的《机器学习实战》里面的入门程序 kNN 吧,以下内容均是在 macOS 上实现的。 k-近邻算法(kNN)的工作原理是:存在一个样本数据集合,其中每个数据都存在标签。我们输入没有标签的新数据后,将新数据的每个特征与样本集中数据对应的特征进行比较,提取样本集中特征最相https://www.flyai.com/article/895