机器学习初学者——常见算法篇

机器学习的数据结构——张量(详细介绍及Python中对张量的操作) 张量 一、张量的轴、阶和形状 张量是机器学习程序中的数字容器,本质上就是各种不同维度的数组,我们把张量的维度称为轴(axis),轴的个数称为阶(rank)(也就是俗称的维度,但是为了把张量的维度和每个阶的具体维度区分开,这里统一把张量的维度称为正脸那个的阶,Numpy中把它叫做数组的秩) 张量的形状(shape)就是张量的阶,加上每个阶的维度(每个阶的元素数目) 张量都可以通过Numpy来定义、操作。因此把Numpy数学函数库里面的数组用好,就可以搞定机器学习里面的数据结构。 二、标量——0D(阶)张量 仅 阅读详情

一.ML算法的类型

1、监督学习(Supervised Learning):


监督学习可以理解为:使用标记的训练数据来学习从输入变量(X)到输出变量(Y)的映射函数。Y=f(X)

监督学习问题可以有两种类型:


1)分类:预测输出变量处于类别形式的给定样本结果。例如男性和女性,健康与病态等。

2)回归:预测给定样本的输出变量的实值结果。例如包括表示降雨量和人的身高等实值标签。


线性回归、Logistics回归、CART、朴素贝叶斯、KNN都属于监督学习。

人工智能领域的大牛吴恩达曾在他的公开课中提到,目前机器学习带来的经济价值全部来自监督学习。


2、无监督学习(Unsupervised Learning):


无监督学习只有输入变量(X),但没有相应的输出变量。它使用无标签的训练数据来模拟数据的基本结构。

无监督学习问题也可以有两种类型:

1)关联:发现数据集合中相关数据共现的概率。广泛应用于市场篮子分析。例如如果顾客买面包,他80%的可能会买鸡蛋。

2)群集:对样本进行分组,是的同一个群集内的对象彼此之间的关系比两一个群集的对象更为相似。

3)降低维度:降纬意味着减少数据集的变量数量,同时确保重要的信息仍然保持传达。可使用特征提取和特征选择方法来完成降维。特征选择选择原始变量的一个子集。特征提取执行从高维空间到低维空间的转换。例如:PCA算法是一种特征提取方法。


Apriori,K-means、PCA都是无监督学习。


3、强化学习(Reinforcement Learning):


强化学习是根据当前状态决定最佳的下一个状态。通过反复的实验来学习最佳行为。通常用于机器人的训练,机器人可以通过碰到障碍物后收到负面反馈来学习避免碰撞。近期的AlphaGo zero 就是采用强化学习的方法来完成实验的。


二、监督学习的算法

1、线性回归:


在ML中,我们有一组输入变量(x)用于确定输出变量(y)。输入变量和输出变量之间存在某种关系,ML的目标是量化这种关系。

在线性回归中,输入变量(x)和输出变量(y)之间的关系表示为形式为y = ax + b的方程。因此,线性回归的目标是找出系数a和b的值。这里,a是截距,b是线的斜率。

上图显示了数据集的绘制x和y值。目标是拟合最接近大部分点的线。


2、Logistic回归:


逻辑回归最适合二进制分类(y=0或1的数据集,其中1表示默认类)例如:在预测事件是否发生时,发生的事件被分类为1。在预测人会生病或不生病,生病的实例记为1。它是以其中使用的变换函数命名的,称为逻辑函数h(x)= 1 /(1 + e ^ x),它是一个S形曲线。

在逻辑回归中,输出是以缺省类别的概率形式出现的。因为这是一个概率,所以输出在0——1的范围内。输出(y值)通过对数转换x值,使用对数函数h(x)= 1 /(1 + e ^ -x)来生成。然后应用一个阈值来强制这个概率进入二元分类。


上图中,为了确定肿瘤是否是恶性的,默认变量是y = 1(肿瘤=恶性);x变量可以是肿瘤的量度,例如肿瘤的大小。如图所示,逻辑函数将数据集的各种实例的x值转换成0到1的范围。如果概率超过阈值0.5(由水平线示出),则将肿瘤分类如恶性。


P(x) = e ^ (b0 +b1*x) / (1 + e^(b0 + b1*x)) 可以转化为 

ln(p(x) / 1-p(x)) = b0 + b1*x.


逻辑回归的目标是使用训练数据来找到系数b0和b1的值,以使预测结果与实际结果之间的误差最小化。这些系数是使用最大似然估计技术估计的。

现实中应用:

  • 信用评分
  • 衡量营销活动的成功率
  • 预测某一产品的收入
  • 在某一天会有地震吗?

3、CART(Classification and Regression Trees ):


分类和回归树(CART)是决策树的一个实现方式。


非终端节点是根节点和内部节点,终端节点是叶节点。每个非终端节点表示单个输入变量(x), 叶节点表示输出变量(y)。该模型用于做出如下预测:遍历树的分裂到达一个叶节点,并输出叶节点上存在的值。

上图中的决策树根据年龄和婚姻状况分类是否购买跑车或小型货车。如果这个人30多年没有结婚,我们可以如下预测:“30多年? - >是 - >'已婚? - >不。因此,该模型输出一个跑车。


4、朴素贝叶斯(Naive Bayes ):


为了计算事件发生的概率,假设已经发生了另一个事件,我们使用贝叶斯定理。为了计算给定某个变量值的结果的概率,也就是说,根据我们的先验知识(d)计算假设(h)为真的概率,我们使用贝叶斯定理如下:

P(h | d)=(P(d | h)* P(h))/ P(d)

·         P(h | d)=后验概率。
·         P(d | h)=可能性。数据d的概率假设h是真的。
·         P(h)=类别先验概率。假设h的可能性为真(不考虑数据)。
·         P(d)=预测值先验概率。数据的可能性(与假设无关)。


以上图为例,如果天气=“阳光”,结果如何?

为了确定结果play ='yes'或'no',给定变量weather ='sunny'的值,计算P(yes| sunny)和P(no | sunny),并选择结果的概率较高。

P(yes| sunny)=(P(晴天|是)* P(yes))/ P(晴天)

 =(3/9 * 9/14)/(5/14)

 = 0.60

P(no | sunny)=(P(晴天)* P(no))/ P(晴天)

 =(2/5 * 5/14)/(5/14)

 = 0.40

因此,如果天气=“晴天”,结果是play ='是'。

5、KNN:


K邻近算法使用整个数据集作为训练集,而不是将数据集分成训练集和测试集。


当新的数据实例需要结果时,KNN算法遍历整个数据集,以找到新实例的k个最近的实例,或者与新记录最相似的k个实例,然后对于分类问题的结果(对于回归问题)或模式输出均值。k的值可以自定义。

实例之间的相似度使用欧几里德距离和Hamming距离等度量来计算。

现实中应用:

  • 将邮件标记为垃圾邮件或非垃圾邮件
  • 把一篇关于技术、政治或体育的新闻文章分类
  • 检查一段表达积极情绪或消极情绪的文章?
  • 用于人脸识别软件。

三、无监督学习的算法

6、Apriori:

Apriori算法用于事务数据库挖掘,然后生成关联规则。它在市场篮子分析中被广泛使用,在这个分析中,检查数据库中经常出现的产品组合。一般来说,我们写出如果一个人购买项目X,然后他购买项目Y的关联规则为:X - > Y。



例如:如果一个人购买牛奶和糖,那么他很可能会购买咖啡粉。这可以写成关联规则的形式:{牛奶,糖} - >咖啡粉。


7、K-means:


K-means是一种迭代算法,将相似的数据分组到簇中。计算k个簇的质心,并将一个数据点分配给质心和数据点之间距离最小的簇。


步骤1:k-means初始化:

a)选择k的值。在这里,让我们取k = 3。

b)将每个数据点随机分配到3个群集中的任何一个。

c)为每个集群计算集群质心。红色,蓝色和绿色星星表示3个星团中的每一个的质心。

步骤2:将每个观察结果与群集相关联:

将每个点重新分配到最近的集群质心。这里,上面的5个点被分配到具有蓝色质心的簇。按照相同的步骤将点分配给包含红色和绿色质心的群集。

第3步:重新计算质心:

计算新簇的质心。旧的质心由灰色星星表示,而新的质心是红色,绿色和蓝色星星。

第4步:迭代,然后退出,如果不变。

重复步骤2-3,直到没有从一个群集切换到另一个群集。一旦连续两个步骤没有切​​换,退出k-means算法。

8、PCA :

主成分分析(PCA)用于通过减少变量的数量来使数据易于探索和可视化。这是通过将数据中的最大方差捕获到一个称为“主要成分”的轴上的新的坐标系来完成的。每个组件是原始变量的线性组合,并且彼此正交。组件之间的正交性表明这些组件之间的相关性为零。


第一个主成分捕捉数据中最大变化的方向。第二个主要组件捕获数据中的剩余变量,但变量与第一个组件不相关。


9、SVD(Singular Value Decomposition):


在线性代数中,奇异值分解是实复矩阵的一个因式分解。对于一个给定的m×n矩阵M,存在一个分解,M = UΣV,其中u和v是酉矩阵,Σ是一个对角矩阵。



PCA实际上是奇异值分解的一个简单应用。在计算机视觉中,第一个人脸识别算法,运用主成分分析和奇异值分解为代表的面孔的一个线性组合的“脸”,做降维,然后通过简单的方法进行人脸匹配;尽管如今的方法更复杂,许多仍然依靠类似的技术。


四、集成学习的算法


集成学习方法结合多学习结果(分类)的改进的结果,通过投票或平均。在分类过程中使用投票,在回归过程中使用平均值。其观点是,学习者的整体表现要优于单个学习者。

常见的集成学习算法: Bagging, Boosting and Stacking


参考:

Top 10 Machine Learning Algorithms for Beginners  

The 10 Algorithms Machine Learning Engineers Need to Know








人工智能-算法篇05篇-机器学习(Machine Learning)体系学习 机器学习是一种基于数据和模式识别的人工智能技术,通过让计算机从大量数据中学习和提取模式,从而实现自动化的决策和预测。机器学习的核心思想是通过算法和模型对数据进行分析和处理,从而让计算机能够自动学习并改进其性能,而无需显式地编程。机器学习的基本原理是基于统计学和概率论,通过从训练数据中学习模型的参数和规律,然后利用这些模型对新的数据进行预测和分类。机器学习可以分为监督学习、无监督学习和强化学习三种类型。 阅读详情

相关推荐

人工智能-算法篇01篇-机器学习简单介绍

机器学习(,简称ML)是人工智能领域的一个重要分支,通过让计算机系统从数据中自动学习并改进,使其能够完成特定任务,而无需明确的编程指令。机器学习的目标是让计算机具备类似人类的学习能力,通过不断积累经验和数据,提高其性能和预测能力。计算机视觉(Computer Vision):计算机视觉致力于让计算机能够理解和解释图像和视频数据。它包括图像识别、目标检测、人脸识别、图像生成等任务。自然语言处理(Natural Language Processing):自然语言处理研究计算机如何理解和处理人类语言。

GIS摆渡人 248

转行程序员?你可能忽略了一件事。

程序 = 数据结构 + 算法             ——图灵奖得主,计算机科学家N.Wirth(沃斯)作为程序员,我们做机器学习也好,做python开发也好,java开...

Python开发者 1608

博主JULY的数据结构算法之机器学习资料(总)

博主JULY的数据结构算法之机器学习资料(总)

Pandas的Series结构

Pandas中一共有三种数据结构,分别为:Series、DataFrame和MultiIndex(老版本中叫Panel )。 其中Series是一维数据结构,DataFrame是二维的表格型数据结构,MultiIndex是三维的数据结构。 Series Series是一个类似于一维数组的数据结构,它能够保存任何类型的数据,比如整数、字符串、浮点数等,主要由一组数据和与之相关的索引两部分构成。 Series的创建 # 导入pandas import pandas as pd pd..

缘 源 园 1086

DC综合中set_dft_signal的实战配置与优化策略

本文深入解析了DC综合中set_dft_signal命令的实战配置与优化策略。文章从命令的核心作用出发,详细拆解了-view、-type、-usage等关键参数,并通过扫描使能与时钟门控的实战案例,展示了如何正确配置以实现测试模式下的功耗优化。同时,文章总结了高级优化策略、与低功耗流程的协同方法以及常见错误排查清单,旨在帮助数字芯片设计工程师构建高可测性、低功耗的稳健DFT基础。

weixin_28347369的博客 403

DeepL Pro免费使用技巧与API调用优化方案

机器翻译技术通过神经网络模型实现跨语言语义转换,其核心价值在于保持专业术语准确性的同时实现自然语言流畅度。现代翻译工具如DeepL采用注意力机制等深度学习技术,在医疗、法律等专业领域展现出接近人工翻译的质量。针对API调用场景,开发者可通过请求模拟实现小批量自动化处理,而文档预处理和术语库优化则能显著提升免费额度使用效率。本文重点解析如何通过字符计算优化、临时接口调用等工程实践方法,在合规前提下最大化利用免费翻译资源。

weixin_29038303的博客 266

机器学习,深度学习基础算法原理详解(数据结构部分(持续更新))

机器学习,深度学习基础算法原理详解(数据结构[持续更新]) 文章目录机器学习,深度学习基础算法原理详解(数据结构[持续更新])1. 链表、数组、栈、队列2.哈希表、堆、二叉查找树3. 常用基础排序算法(附实现代码)4. 常用基础查找算法(附实现代码) 1. 链表、数组、栈、队列 链表:数据结构之一,其中的数据呈线性排列,数据添加与删除比较方便,访问较为耗时。链表中的数据是分散存储在内存中的,无需存储在连续空间。而访问数据则需要从第一个数据根据指针进行访问,而数据的增添、删除也对应其指针的改变以及增删。此外,

weixin_46236212的博客 2155

服务器测试之网卡性能调优

nvidia下载mlnx_ofed:https://network.nvidia.com/products/infiniband-drivers/linux/mlnx_ofed/intel下载驱动固件:https://www.intel.com/content/www/us/en/download-center/home.html。然而,你可以根据实际情况手动调整中断相关配置。老生常谈了,一些性能相关的设置项打开,节能的关闭,虚拟化相关的VMX/SR-IOV/IOMMU最好也都关掉。

qq_41897488的博客 4908

与机器学习算法有关的数据结构

拥有机器学习技能是不够的。你还需要良好的数据结构的工作知识。学习更多,并解决一些问题。 因此,你已经决定不再使用固定的算法并开始编写自己的机器学习方法。也许你已经有了一种新的集群数据的新方法,或者你可能对你最喜欢的统计分类包的局限性感到失望。 无论哪种情况,你对数据结构和算法的了解越多,在代码编写时就越容易。 我不认为机器学习中使用的数据结构与其他软件开...

weixin_33813128的博客 517

gitlab远程子仓库配置SSH - 保姆级教程

在网上搜索了一些方法,但是不够详细,走了好多弯路,所以记录下配置SSH的详细过程吧。

是菠萝的博客 1万+

戴尔笔记本装Ubuntu 20.04,别急着分区!先搞定这个BIOS设置(Intel RST避坑指南)

本文详细介绍了在戴尔笔记本上安装Ubuntu 20.04时遇到的Intel RST技术兼容性问题及解决方案。通过安全切换至AHCI模式,避免安装过程中找不到硬盘的常见问题,并提供双系统分区策略和安装后的优化建议,确保Ubuntu与Windows 10双系统稳定运行。

weixin_31315567的博客 272

机器学习之算法篇

机器学习之算法篇

江城子_Lay的博客 335

第38节:cesium 风场效果(含源码+视频)

cesium 风场效果

qq_29384639的博客 2330

【强烈推荐】机器学习之算法篇

机器学习算法机器学习算法数据类型:可用数据集:监督学习和无监督学习:算法分类:scikit-learn数据集获取数据集:获取数据集方式:数据集的划分:本地数据集:分类数据集:回归数据集:远程数据集:分类数据集:K近邻算法K近邻算法原理:使用`sklearn`实现`K`近邻算法:案例:`K`(也就是`n_neighbors`)值该去多大?K近邻算法的优缺点:作业:朴素贝叶斯贝叶斯:概率计算小案例:联合概率和条件概率:联合概率:条件概率:朴素贝叶斯公式:贝叶斯公式例子:文档分类:拉普拉斯平滑系数:文章分类实战:

全网粉丝30W+,优快云、稀土掘金人工智能领域签约作者,人工智能、大模型、Python 爬虫,商务合作,请私信沟通。 1127

lammps多晶正弦粗糙界面建模

其中,30可以理解为正弦曲线的幅度,150为正弦曲线的基准坐标值,80控制周期,改变参数多试试就能找到规律。很久之前介绍过lammps粗糙界面建模,主要是在lammps中进行一维和二维的正弦粗糙面建模。运行完成后,会生成final.data,这个模型即为上表面为正弦波动的粗糙界面。新建1.py文件,粘贴下面内容后,运行:python 1.py。多晶需要在atomsk中进行,因此上述的方法就不再适用。最近有学员咨询多晶模型的正弦粗糙界面建模应该如何实现。在cmd窗口按顺序运行以下命令创建多晶模型。

lammps_jiayou的博客 389

ROSTCM6软件下载及语义网络分析详细操作教程(附网盘链接)

ROSTCM6是武汉大学沈阳教授研发编码的国内目前唯一的以辅助人文社会科学研究的大型免费社会计算平台。该软件可以实现微博分析、聊天分析、全网分析、网站分析、浏览分析、分词、词频统计、英文词频统计、流量分析、聚类分析等一系列文本分析。

m0_64336780的博客 4万+

15分钟带你入门sklearn与机器学习——分类算法篇

作者 |何从庆本文转载自AI算法之心(ID:AIHeartForYou)【导读】众所周知,Scikit-learn(以前称为scikits.learn)是一个用于Pyt...

AI科技大本营 2191

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

应用数学与机器学习基础 - 学习算法篇

深度学习是机器学习的一个特定分支。要想学好深度学习,必须对机器学习的基本原理有深刻的理解。 首先,我们将介绍学习算法的定义,并介绍一个简单的示例:线性回归算法。接下来,我们会探讨拟合训练数据和泛化到新数据之间有哪些不同的挑战。大部分机器学习算法都有超参数(必须在学习算法外设定);我们将讨论如何使用额外的数据设置超参数。

绎岚科技的博客 1584

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

给大家拓宽点边界,15分钟带你入门sklearn与机器学习——分类算法篇

我经常和大家提过,不要给自己设限,这不仅包括技术设限,还有领域设限。那今天我就给大家分享一些关于机器学习的东西,不用你弄懂原理,记住那些专业名词,起码知道怎么回事,别人说...

Python专栏 408

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

应用数学与机器学习基础 - 构建机器学习算法篇

在数字化浪潮的推动下,机器学习算法已逐渐成为推动科技进步和创新的核心动力。构建机器学习算法,不仅是对数据规律的深入挖掘,更是对智能未来的一次勇敢探索。通过精心设计的算法,我们能够让机器从海量数据中学习、归纳、预测,从而助力各行各业实现智能化升级。在这个过程中,每一步的推进都凝聚着智慧与汗水,每一个突破都预示着新的可能。让我们携手并进,共同开启这场关于智能的奇妙旅程。

绎岚科技的博客 1231

【机器学习】嘿马机器学习(算法篇)第1篇:Introduction,定位【附代码文档】

复习:机器学习的两个核心任务前往gitee仓库查看目标了解什么是KNN算法知道KNN算法求解过程根据你的“邻居”来推断出你的类别1)计算已知类别数据集中的点与当前点之间的距离2)按距离递增次序排序3)选取与当前点距离最小的k个点4)统计前k个点所在的类别出现的频率5)返回前k个点出现频率最高的类别作为当前点的预测分类Python语言的机器学习工具Scikit-learn包括许多知名的机器学习算法的实现Scikit-learn文档完善,容易上手,丰富的API。

rita_0567的博客 953

15 分钟带你入门 sklearn 与机器学习(分类算法篇)

众所周知,Scikit-learn(以前称为scikits.learn)是一个用于Python编程语言的免费软件机器学习库。它具有各种分类,回归和聚类算法,包括支持向量机,随机森林,梯度增强,k-means和DBSCAN,旨在与Python数值和科学库NumPy和SciPy互操作。本文将带你入门常见的机器学习分类算法——逻辑回归、朴素贝叶斯、KNN、SVM、决策树。 逻辑回归 (Logistic...

ctrigger的专栏 295

【机器学习】嘿马机器学习(算法篇)第10篇:逻辑回归,学习目标【附代码文档】

复习:机器学习的两个核心任务https://gitee.com/yinuo112/AI/tree/master/机器学习/嘿马机器学习(算法篇)/note.md数据介绍原始数据的下载地址:[数据描述(1)699条样本,共11列数据,第一列用语检索的id,后9列分别是与肿瘤相关的医学特征,最后一列表示肿瘤类型的数值。(2)包含16个缺失值,用”?”标出。

rita_0567的博客 1080

【机器学习算法篇】K-近邻算法

K-近邻算法(KNN)是一种基于实例的监督学习算法,通过计算待分类样本与训练集中各样本的距离,选取最近的K个邻居,统计其类别频率来预测结果。文章介绍了7种距离度量方法,包括欧式距离、曼哈顿距离、余弦相似度等,并分析了Scikit-learn机器学习库的主要模块结构和应用场景。KNN算法简单直观,是机器学习中最基础且常用的分类算法之一。

zhangxulang 1774

机器学习算法篇---线性回归

机器学习从上面的图来看是属于人工智能的部分,机器学习主要分为回归,聚类,分类 那么机器学习的定义是什么呢?可以参考https://www.zhihu.com/question/336275116/answer/759177861 何谓 “机器学习”,学界尚未有统一的定义。但有两个定义特别值得了解:一个来自卡内基梅隆大学的Tom Mitchell教授,一个来自Goodfellow、Bengi...

zhihuiyu123的博客 361
上一篇: 计算两个日期之间相差多少天,计算当前日期是星期几
下一篇: 机器学习初学者——模型评估与选择
say_haha
博客等级 码龄13年 48粉丝 64原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值