技巧:机器学习入门系列:关于机器学习算法你需要了解的东西、如何开发机器学习模型?
优采云 发布时间: 2022-11-05 08:32技巧:机器学习入门系列:关于机器学习算法你需要了解的东西、如何开发机器学习模型?
1.你需要了解的机器学习算法
摘要:分类学习算法基于构建模型所需的数据:数据是否需要收录输入和输出或仅收录输入、需要多少数据点以及何时采集数据。根据上述分类原则,可以分为4大类:监督学习、无监督学习、半监督学习和强化学习。
上次我们讨论了机器学习可以影响的业务类型。另请参阅:机器学习可以为您的企业做什么?(机器学习入门系列的第 1 部分)
现在,让我们回顾一下您需要了解的技术术语,以便您可以有效地与您的数据科学团队协作并协助您的数据科学团队,以便他们的工作可以对您的业务产生最大的影响(或者至少让您知道他们在说什么) .
算法、模型和数据
从概念上讲,我们正在构建一台机器,给定一组输入数据,它可以通过在数据中找到模式并从中学习来产生一些期望的输出。
一个很常见的情况是要求机器查找一组输入数据并产生相应的输出数据。机器识别输入数据中的模式并创建一组复杂的规则,然后将其应用于从未见过的输入并产生所需的输出。例如,给定房屋的大小、地址和房间数量(输入),让我们预测房屋的售价(输出)。假设我们有 10,000 组这样的数据,包括房子的大小、地址、房间数量和售价。然后机器会根据这些数据“训练”自己,即识别出影响房价的房间大小、地址、房间数量的模式,这样只要我们给一个房子的 3 个输入我们以前从未见过,我们可以预测房价。
数据科学家的角色是找到能够在给定输入的情况下获得预期输出的最佳机器。她有多个模板,对于机器来说,这些模板被称为**算法**。解决从这些模板生成的特定问题的机器称为**模型**。模板具有各种选项和设置,可以进行调整以从同一模板生成不同的模型。您还可以使用不同的模板生成多个模型或调整同一模板的设置以测试哪个模型提供最佳结果。
请注意,模型输出仅对具有一定概率的决策是正确或有用的。该模型并非 100% 正确,它是基于模型所看到的大量数据的“最佳猜测”。模型看到的数据越多,就越有可能提供有用的输出。
数据科学家用来“训练”机器(即让模型识别数据中的模式并创建规则)的一组已知输入和输出称为“**训练集**”。该数据与一个或多个“模板”结合使用,以创建一个或多个模型来解决问题。请记住,即使只使用一个“模板”(算法),也可以通过调整一些选项从同一个模板生成多个模型。
在获得一些“训练有素”的模型后,您必须检查它们是否有效,以及哪一个效果最好。要检查的新数据集称为“**验证集**”。将验证集作为输入,然后运行模型以查看哪个模型输出最接近验证集输出的结果。在我们上面的例子中,就是看哪个模型预测的房子价格最接近实际售价。在这个阶段,需要一组新的数据作为验证集,并且由于这些模型是从训练集创建的,它们将在训练集上运行良好,并且不会给出真实的结果。
一旦我们验证了哪个模型表现最好并选择了最好的,我们的数据科学家需要确定该模型的实际性能,即这个最佳模型在解决问题方面的表现如何。同样,我们需要另一个新数据集,因为该模型在训练集和验证集上都表现良好!最后一个数据集称为“**测试集**”。在我们的例子中,系统检查测试集预测的房价与测试集实际价格的接近程度。
“学习”的类型
您用于解决机器学习问题的算法类型取决于您拥有的数据。学习算法的分类基于构建模型所需的数据:数据是需要包括输入和输出还是只包括输入,需要多少数据点以及何时采集数据。根据上述分类原则,可以分为4大类:监督学习、无监督学习、半监督学习和强化学习。
1. 监督学习
我们在上一节中详细讨论的案例描述了我们所说的“监督学习”。这种类型的学习需要大量的**标记数据**示例,即由输入和相应输出组成的数据。在我们的房价示例中,“标记”是指用模型预测的结果标记输入。
标记数据(也称为“ground-truth”数据)可以在监督学习算法中看到,从这些数据中学习并根据这些实例进行预测。它们需要大量标记数据:虽然数据量取决于用例,但最少需要几百个数据点。
使用监督学习解决的两个经典问题是:
2. 无监督学习
在无监督学习中,算法尝试识别数据中的模式,而不用预期结果标记数据集。数据是“未标记的”,即没有附加任何有意义的标记。一些经典问题可以通过无监督学习方法解决:
3. 半监督学习
这是监督学习和非监督学习混合的结果,其中算法需要一些训练数据,但比监督学习少得多(可能差一个数量级)。它的算法可以是监督和非监督学习中使用的方法的扩展:分类、回归、聚类、异常检测等。
4. 强化学习
该算法从有限的数据集开始,在学习的同时,可以获得更多关于其预测的反馈,以进一步改进学习。
如您所见,除了要解决的问题类型之外,您拥有的数据量也会影响您可以使用的学习方法。这也适用于另一种方式:您需要使用的学习方法可能需要比您目前拥有的更多的数据才能有效地解决您的问题。我们稍后会讨论这个。
其他常见的“流行语”
在您的工作中,您会遇到其他几个术语。了解它们与我们今天讨论的类别之间的关系非常重要。
深度学习与上述定义无关。它只是将特定类型的系统应用于学习问题,其解决方案可以是有监督的或无监督的等。
人工神经网络 (ANN) 是一种学习系统,它试图模拟我们的大脑通过不同层的“神经”网络工作的方式。神经网络至少有一个输入层(即一组将数据输入网络的神经元)、一个输出层(将结果传递出去的神经元),以及介于两者之间的一个或多个层,称为“隐藏层” . ”(实际进行计算工作的层)。深度学习只是使用具有多个隐藏层的神经网络来完成学习任务。如果你曾经使用过这样的网络,那么恭喜你,你也可以合理地抛弃流行语!
集成方法或**集成学习**使用多个模型来获得比使用单个模型更好的结果。这些模型可以使用不同的算法,也可以使用具有不同参数的相同算法。例如,对于某种类型的预测,你有一组模型,每个模型都可以产生一个预测,并且有处理方法来平衡不同的预测结果并决定应该输出什么组合。集成方法通常用于监督学习(它们在预测问题中非常有用),但也可以用于无监督学习。您的数据科学团队可能会测试这些方法并在适当的时候使用它们。
自然语言处理 (NLP) 是计算机科学的一门学科,研究机器对语言的理解。并非所有类型的 NLP 都使用机器学习。例如,如果我们生成一个“标签云”(一个单词在文本中出现的次数的视觉表示),则不涉及学习。对语言和文本进行更复杂的分析和理解通常需要机器学习。这里有些例子:
NLP 不仅用于机器学习领域中面向语言的应用程序,例如聊天机器人,还广泛用于准备和预处理数据,以便这些数据可以成为许多机器学习模型的有用输入。我们稍后会讨论这个。
请注意:以上定义是为了表达其主要思想,方便大家理解;有关详细的科学定义,请参阅其他来源。
问题如何影响解决方案(以及一些关键的机器学习概念)
通过机器学习实现的战略目标将决定许多下游决策。为了确保您的数据科学团队能够为业务生成正确的解决方案,了解一些基本的机器学习概念及其对业务目标的影响非常重要。
算法的选择
问题定义的微小变化可能需要完全不同的算法来解决,或者至少需要使用不同的数据输入来构建不同的模型。可以为用户识别照片类型的约会网站 可以使用无监督学习技术(例如聚类)来识别常见主题。如果你想向特定的人推荐一个潜在的约会对象,网站可能希望使用基于特定于该人的输入数据的监督学习,例如他们已经看过的照片。
特征选择
机器学习模型识别数据中的模式。输入模型的数据被组织成特征(也称为变量或属性):这些特征是相关的,主要是描述您想要预测或识别的现象的某些方面的独立数据片段。
以前面提到的希望优先考虑贷款申请人外展的公司为例。如果我们将问题定义为“根据转化的可能性对客户进行优先排序”,我们将获得包括对公司各种外展活动的相似客户响应率在内的特征。如果我们将问题定义为“优先考虑最有可能偿还贷款的客户”,我们将不会获得这些功能,因为它们与评估客户的可能性无关。
目标函数的选择
目标函数是您要优化的内容,或者模型试图预测的内容。例如,如果您向用户推荐他们可能感兴趣的商品,则模型的输出可能是用户在看到商品时点击该商品的概率,或者用户购买该商品的概率。目标函数的选择主要取决于业务目标,在这个例子中,您是对用户参与度(目标函数可能是点击或停留时间)还是业务收入(目标函数是购买)感兴趣?另一个需要考虑的关键因素是数据的可用性:要让算法学习,您必须提供大量“标记”的正面(用户看到并点击的产品)或负面(用户看到但没有点击的产品)上)数据点。
文章原标题《你需要了解的机器学习算法以及为什么要关心》,作者:Yael Gavish,译者:Summer,审稿人:主题曲哥。
-------------------------------------------------- ----------------------------------
2. 如何开发机器学习模型?
摘要:创建一个好的机器学习模型与创建任何其他产品一样:从一个想法开始,考虑要解决的问题以及一些潜在的解决方案。一旦你有了明确的方向,你就可以对解决方案进行原型设计,然后对其进行测试,看看它是否满足你的需求,看看这篇文章是如何一步一步做到的。
建模步骤一目了然
在高层次上,创建一个出色的机器学习模型与创建任何其他产品一样:从一个想法开始,然后考虑要解决的问题以及一些潜在的解决方案。一旦有了明确的方向,就可以对解决方案进行原型设计,然后对其进行测试,看看它是否符合要求。您需要在构思、原型设计和测试之间进行迭代,直到您的解决方案足以投放市场,此时您可以将其产品化并发布。现在,让我们看看每个阶段的细节。
由于数据是机器学习的重要组成部分,我们需要在产品开发过程之上进行数据分层,所以我们的过程如下所示:
主意
此阶段的目标是将模型解决的关键问题、目标函数和潜在输入与整个模型保持一致。
数据准备
此阶段的目标是采集原创数据并将其用作原型模型的输入。您可能需要对原创数据执行复杂的转换以使其成为输入数据。例如,假设您的一个特征是消费者对品牌的看法:您首先需要找到消费者谈论您品牌的相关来源。如果品牌名称中收录常用词(如“苹果”),则需要将品牌名称与其一般含义(与水果相关)区分开来,然后通过一个意见分析模型,在构建原型之前完成。并非所有功能都难以构建,但有些功能可能是劳动密集型的。
让我们仔细看看在这个阶段需要做什么:
原型和测试
此阶段的目标是获得模型的原型,对其进行测试并对其进行迭代,直到获得足以用于生产的模型。
商品化
当原型模型很好地解决了业务问题并可以投入生产时,您就进入了这个阶段。请注意,如果您还没有准备好进行全面生产,您需要首先确定模型的缩放比例。比如一个电影推荐工具:一开始可能会为少数几个用户提供推荐服务,但是为了给每个用户提供完整的用户体验,这种情况下,模型会根据每个用户与数据库的相关性来进行. 对每部电影进行排序。这是与仅推荐动作电影不同的扩展要求。
现在,让我们探讨一些有关使模型高效的技术细节:
到目前为止,我所描述的是一个概念过程。在现实中,线一般是模糊的,你经常需要在阶段之间来回走动。您可能对数据供应不满意,考虑重新开始,或者模型商业化后,您可能会发现模型效果不太好,您必须回去重新构建原型。
文章原标题《Developing a Machine Learning Model from Start to Finish》,作者:Yael Gavish,译者:夏夏,审稿人:主题曲哥。
文章 是一个简化的翻译。更多详情请查看原文(需要梯子)。您也可以下载下方的PDF文档查看原文。
附件下载:/m/29087/
更多技术干货请关注云栖社区知乎组织编号:阿里云云栖社区-知乎
优化的解决方案:苹果CMS虚拟主机设置自动采集
苹果cms,管理功能强大,管理后台界面大方,操作简单,功能齐全,模块多,双端管理。苹果cms加上丰富的系统标签,系统内置丰富的cms标签,支持thinkphp框架标签的完美集成,可以检索系统中的所有数据,只要站长有一些前端知识 快速开发自己的模板功能。Applecms部署安装简单,任何操作系统(Windows、Mac、Linux)都可以在PHP+MYSQL环境下快速安装部署。
苹果cms是一个成熟稳定的资源管理系统,可以用来搭建自己的影视网站。苹果cms很大一部分影视网站都是用苹果cms搭建的。苹果cms有很多优点,包括一键建站、配置简单、资源方便采集等。
以下是如何构建 Apple cms 系统以及如何配置它。要申请自己的VPS主机,首先要拥有自己的VPS。我们的 Apple cms 系统将安装在此 VPS 上。目前主流的VPS有很多,而且大部分都非常稳定。一键配置服务器环境非常方便。二、搭建LAMP环境 在安装苹果cms之前,首先要在你的VPS上搭建一个LAMP环境。
所谓LAMP就是指Linux+Apache+Mysql+PHP。其中,苹果cms的操作系统ubuntu是Linux。Apache是一个服务器,浏览器可以通过Apache在服务器(也就是你的VPS)上提供的服务获取网页资源,并显示在你的电脑屏幕上。Mysql 是一个数据库,在您的 网站(这里是 Apple cms)动态运行时访问的数据由数据库管理。
PHP 和 Apache 相互配合,为用户提供动态网页。我们要安装的苹果cms是用PHP语言编写的,必须依赖苹果cms的运行。数据库的信息可以根据网站的MySQL中的实际配置填写。目的是让 Apple cms 通过这些参数登录你的 MySQL。只有这样,Apple cms 才能使用数据库读写所需的数据。
Apple cms采集 可能会报错类别未绑定。这是因为站长站点的电影类别与资源站点的电影类别之间没有一一对应的关系。因此,Apple cms 不知道资源站上的哪个A类对应你网站上的哪个类别。此时,只需要绑定分类即可。这些操作并不难,稍微探索一下就可以上手。
Applecms 已成为易用性和功能性的领导者。程序体积小,程序代码优化,运行速度快,缓存处理效率高,只要能完美搭建普通虚拟主机,建站成本很低。类MVC模板分离,内置标签,自定义功能标签界面,强大的自定义采集功能,只要站长懂HTML,就可以轻松制作个性化网站。
苹果cms一直积极采纳广大站长在易用性和功能方面提出的各种好的建议,对各种紧迫问题做出快速响应,确保每一位站长都能从容应对每一个环节。. v10采用tp5.x内核开发,扩展了模板处理引擎,简单地将后台程序与html模板分离。Apple cms 允许设计师和程序员在不互相干扰的情况下最大限度地发挥自己的优势。大大加快了项目的有序、快速完成。即使站长是第一次接触,他也会在最短的时间内掌握苹果cms的使用方法。后台管理模块一目了然,操作简单,绝不会让站长眼花缭乱。