机器学习过程

合集下载

机器学习模型的工作原理

机器学习模型的工作原理

机器学习模型的工作原理机器学习是一种人工智能的分支,它研究如何使计算机具备自我学习的能力。

机器学习模型是机器学习的核心组件,它通过从大量的数据中学习规律和模式,并用于预测和决策。

本文将介绍机器学习模型的工作原理,包括数据预处理、模型训练和模型评估等方面。

一、数据预处理在机器学习中,数据预处理是非常重要的一步,它对模型的性能和精度有着直接影响。

数据预处理包括以下几个主要步骤:1. 数据清洗:对原始数据进行清理和去除异常值、缺失值等。

清洗的目的是保证数据的完整性和准确性。

2. 特征选择:选择与预测任务相关的特征,去除冗余和无关的特征。

特征选择可以减少计算复杂度,提高模型的训练效率。

3. 特征变换:对特征进行变换和映射,使其具备更好的数据表达性。

常用的特征变换包括标准化、归一化、离散化等。

4. 数据划分:将数据集划分为训练集和测试集,用于模型的训练和评估。

常用的划分方法包括随机划分和交叉验证等。

二、模型训练模型训练是机器学习模型的核心环节,它通过学习训练数据中的规律和模式,生成一个能够对未知数据进行预测的模型。

常见的机器学习模型包括决策树、神经网络、支持向量机等。

1. 设计模型结构:选择适合预测任务的模型结构,并确定模型的参数和超参数。

模型结构的选择需要根据具体的问题和数据特点进行。

2. 损失函数定义:根据预测任务的特点,选择适当的损失函数来度量模型的预测误差。

常见的损失函数包括均方误差、交叉熵等。

3. 模型优化算法:通过优化算法来调整模型的参数,使损失函数达到最小值。

常用的优化算法包括梯度下降、遗传算法等。

4. 模型训练:使用训练数据对模型进行训练,不断迭代优化模型的参数,直到模型达到预定的性能要求。

三、模型评估模型评估是对训练得到的模型进行性能评估和验证的过程。

通过模型评估,可以了解模型的泛化能力和预测准确度,进而选择最佳的模型。

1. 准确度评估:使用测试数据集对模型进行评估,计算模型的准确度、精确度、召回率等指标。

使用机器学习技术进行无监督学习的步骤与技巧

使用机器学习技术进行无监督学习的步骤与技巧

使用机器学习技术进行无监督学习的步骤与技巧无监督学习是一种机器学习方法,其目标是从未标记的数据中发现数据的结构和模式。

与监督学习不同,无监督学习不需要预先标记的数据来进行训练,而是通过算法自动识别出数据中的隐藏模式、关系和聚类。

本文将介绍使用机器学习技术进行无监督学习的步骤与技巧。

步骤一:数据预处理无监督学习的第一步是数据预处理。

数据预处理的目的是将原始数据转换为适合用于算法训练的形式。

这包括数据清洗、数据标准化和数据降维等步骤。

数据清洗的过程可以包括去除缺失值、处理异常值和去噪等。

数据标准化是将数据转换为具有相同尺度的形式,以便更好地进行比较和计算。

数据降维是将高维数据映射到低维空间,以便更好地可视化和分析。

步骤二:选择合适的无监督学习算法选择适合的无监督学习算法取决于数据的特点和任务的目标。

常用的无监督学习算法包括聚类、关联规则、降维和异常检测等。

聚类算法将数据分为不同的组或群集,每个群集具有相似的特征。

关联规则算法用于发现数据中的关联关系和规律。

降维算法用于将高维数据映射到低维空间,以减少数据的复杂性。

异常检测算法用于识别和处理异常值。

步骤三:选择适当的评估指标在无监督学习中,评估指标用于衡量算法的性能和表现如何。

常用的评估指标包括轮廓系数、互信息和均方根误差等。

轮廓系数用于衡量聚类结果的紧密度和分离度,值越接近1表示聚类效果越好。

互信息用于衡量聚类结果与真实标签之间的一致性,值越大表示聚类结果越准确。

均方根误差用于衡量降维算法的重构误差,值越小表示降维效果越好。

步骤四:应用无监督学习算法在预处理和选择算法之后,我们可以应用所选择的无监督学习算法来训练数据并获得结果。

聚类算法可以将数据划分为不同的群集,可以使用K-means、层次聚类和DBSCAN等算法。

关联规则算法可以发现数据之间的关联关系,可以使用Apriori和FP-growth等算法。

降维算法可以将高维数据映射到低维空间,可以使用主成分分析(PCA)和 t-SNE等算法。

机器学习入门教程

机器学习入门教程

机器学习入门教程机器学习是一门让计算机具备智能的领域,在今天的互联网和人工智能时代,机器学习已经越来越受到关注和重视。

因此,作为初学者,学习机器学习是非常重要的。

在本文中,将为大家提供一份机器学习入门教程,帮助初学者快速入门,掌握机器学习基础。

第一部分:了解机器学习在开始学习机器学习之前,我们需要了解机器学习的基本概念。

机器学习是通过学习数据,从数据中提取规律和模式,进而做出预测和决策的过程。

举个例子,我们可以用机器学习的方法来训练一台计算机,使其能够识别和分类数字图像。

在这个过程中,计算机学习了不同数字图像的特征,找到它们之间的相似性和差异性,并且能够自动分类新的数字图像。

机器学习是人工智能的一个重要分支,它的目标是使计算机具备智能。

机器学习的方法可以应用在许多领域,比如自然语言处理、图像识别、智能推荐等等。

目前,机器学习在商业和科学领域都得到了广泛的应用,并被认为是一个很有前途的领域。

第二部分:机器学习的基本模型了解了机器学习的基本概念之后,我们需要了解机器学习的基本模型。

机器学习的模型通常分为以下几类:监督学习、非监督学习和强化学习。

在监督学习中,我们需要为计算机提供一组带有标签的数据,计算机通过学习这些数据,并利用学到的规律对新的数据进行分类或预测。

常见的监督学习算法包括回归分析、决策树、朴素贝叶斯、支持向量机等。

在非监督学习中,我们不提供标签信息,计算机需要自己找出数据中的规律和模式。

常见的非监督学习算法包括聚类分析、主成分分析、关联规则挖掘等。

在强化学习中,计算机需要通过学习一种行为策略,并根据环境的反馈来调整行为策略。

强化学习常用于机器人控制、游戏等领域。

第三部分:机器学习的基本步骤了解了机器学习的基本模型之后,我们需要了解机器学习的基本步骤。

机器学习的基本步骤包括数据预处理、特征提取、模型选择、训练和评估。

数据预处理是机器学习中非常关键的一步,它可以减少数据中的噪声和异常值,提高模型的准确性。

机器学习中的马尔可夫决策过程详解

机器学习中的马尔可夫决策过程详解

机器学习中的马尔可夫决策过程详解马尔可夫决策过程(Markov Decision Process,MDP)是机器学习中重要的数学模型之一,广泛应用于强化学习问题的建模和求解。

MDP提供了一种形式化的方式来描述具有时序关联的决策问题,通过定义状态空间、动作空间、状态转移概率和奖励函数等元素,可以找到在不确定环境下最优的决策策略。

首先,我们来了解一下MDP的基本概念。

MDP由一个五元组<S, S, S, S, S>构成,其中:- S表示状态空间,包含所有可能的状态。

- S表示动作空间,包含所有可能的动作。

- S(S'|S, S)表示从状态S执行动作S后的状态转移概率,即在状态S下执行动作S后转移到状态S'的概率。

- S(S, S, S')表示在状态S下执行动作S后转移到状态S'获得的奖励。

- S是一个折扣因子,用于调整未来奖励的重要性。

在MDP中,决策是根据当前的状态选择一个动作,然后将系统转移到下一个状态,并根据奖励函数获得相应的奖励。

决策的目标是找到一个策略S,使得在当前状态下选择动作时能够最大化预期总奖励。

为了形式化地描述MDP的决策过程,我们引入了价值函数和策略函数。

价值函数S(S)表示在状态S下按照策略S执行动作所获得的预期总奖励。

策略函数S(S|S)表示在状态S下选择动作S的概率。

根据马尔可夫性质,一个好的策略应该只依赖于当前的状态,而不受之前的状态和动作的影响。

马尔可夫决策过程的求解通常采用动态规划的方法,其中最著名的方法是价值迭代和策略迭代。

价值迭代是一种基于价值函数的迭代方法。

它通过不断更新状态的价值函数来逐步优化策略。

在每一次迭代中,我们根据贝尔曼方程S(S) = max S∑S' S(S'|S, S) (S(S, S, S') + SS(S'))来更新每个状态的价值函数。

其中max运算表示在当前状态下选择能够最大化预期总奖励的动作,S(S'|S, S)表示从状态S执行动作S后转移到状态S'的概率,S(S, S, S')表示在状态S下执行动作S后转移到状态S'获得的奖励,S是折扣因子,S(S')表示状态S'的价值函数。

一文全览机器学习建模流程(Python代码)

一文全览机器学习建模流程(Python代码)

一文全览机器学习建模流程(Python代码)1.1 明确问题明确业务问题是机器学习的先决条件,即抽象出该问题为机器学习的预测问题:需要学习什么样的数据作为输入,目标是得到什么样的模型做决策作为输出。

1.2 数据选择“数据和特征决定了机器学习结果的上限,而模型算法只是尽可能逼近这个上限”,意味着数据及其特征表示的质量决定了模型的最终效果,且在实际的工业应用中,算法通常占了很小的一部分,大部分的工作都是在找数据、提炼数据、分析数据及特征工程。

数据选择是准备机器学习原料的关键,需要关注的是:① 数据的代表性:数据质量差或无代表性,会导致模型拟合效果差;② 数据时间范围:对于监督学习的特征变量X及标签Y,如与时间先后有关,则需要划定好数据时间窗口,否则可能会导致数据泄漏,即存在和利用因果颠倒的特征变量的现象。

;③ 数据业务范围:明确与任务相关的数据表范围,避免缺失代表性数据或引入大量无关数据作为噪音。

2 特征工程特征工程就是对原始数据分析处理转化为模型可用的特征,这些特征可以更好地向预测模型描述潜在规律,从而提高模型对未见数据的准确性。

特征工程按技术上可分为如下几步:① 探索性数据分析:数据分布、缺失、异常及相关性等情况;② 数据预处理:缺失值/异常值处理,数据离散化,数据标准化等;③ 特征提取:特征表示,特征衍生,特征选择,特征降维等;2.1 探索性数据分析拿到数据后,可以先做探索性数据分析(EDA)去理解数据本身的内部结构及规律,如果你对数据情况不了解也没有相关的业务背景知识,不做相关的分析及预处理,直接将数据喂给传统模型往往效果不太好。

通过探索性数据分析,可以了解数据分布、缺失、异常及相关性等情况,利用这些基本信息做数据的处理及特征加工,可以进一步提高特征质量,灵活选择合适的模型方法。

2.2 数据预处理异常值处理收集的数据由于人为或者自然因素可能引入了异常值(噪音),这会对模型学习进行干扰。

通常需要处理人为引起的异常值,通过业务或技术手段(如3σ准则)判定异常值,再由(正则式匹配)等方式筛选异常的信息,并结合业务情况删除或者替换数值。

AI机器学习技术

AI机器学习技术

AI机器学习技术AI(人工智能)机器学习技术是一种通过算法使机器能够学习和实现自主决策的技术。

它在各个领域的应用日益广泛,并取得了许多突破性的成果。

本文将介绍AI机器学习技术的定义、原理、应用和挑战。

一、定义AI机器学习技术是指机器通过学习和分析数据,从而能够获取并应用新知识,实现自主决策的能力。

机器学习的目标是使机器能够通过自身学习和调整,不断提高性能和准确性。

二、原理AI机器学习技术的原理主要有以下几个方面:1. 数据收集:机器学习的第一步是收集大量的数据,这些数据将被用于训练机器学习算法。

2. 特征提取:在机器学习中,将数据转化为计算机可以处理的形式非常重要。

特征提取是将原始数据转化为可以让机器学习算法理解的有用特征的过程。

3. 模型训练:在数据准备好后,机器学习算法将被应用于这些数据,不断调整和优化模型以使其能够准确预测未来的情况。

4. 模型评估和调整:训练完成后,机器学习模型需要进行评估以确保其准确性和性能。

根据评估结果,模型可能需要进行调整和改进。

三、应用AI机器学习技术已经在各个领域得到广泛应用,包括但不限于以下几个方面:1. 语音识别和自然语言处理:机器学习技术可以让机器学会识别和理解人类的语音和语言,从而实现智能助理、语音控制和机器翻译等功能。

2. 图像和视频分析:机器学习可以使机器具备分析和理解图像和视频的能力,用于人脸识别、图像搜索和视频内容分析等应用。

3. 数据分析和预测:机器学习可以通过对大量数据的分析和学习,帮助人们预测未来的趋势和情况,用于金融、市场和医疗等领域。

4. 自动驾驶:机器学习技术是自动驾驶汽车的核心,通过学习和分析道路情况和其他车辆的行为,实现智能驾驶和交通管理等功能。

四、挑战尽管AI机器学习技术已经取得了许多突破性的进展,但仍面临一些挑战:1. 数据隐私和安全:机器学习需要大量的数据进行训练,但这也带来了数据隐私和安全的问题。

如何保护用户数据的隐私和安全是一个重要的挑战。

使用Python进行机器学习算法实现的基本步骤

使用Python进行机器学习算法实现的基本步骤

使用Python进行机器学习算法实现的基本步骤第一章:介绍机器学习算法及其应用领域机器学习是一种通过使计算机系统在未经编程的情况下从数据中学习和改进的方法。

它在许多领域中都有广泛的应用,包括自然语言处理、图像识别、推荐系统等。

第二章:准备数据集在实施机器学习算法之前,首先需要准备好用于训练和测试的数据集。

数据集应具有足够的样本量和多样性,以便能够准确地代表所研究的问题。

第三章:数据清洗和预处理数据集通常会包含缺失值、异常值和噪声。

为了提高模型的准确性和鲁棒性,需要对数据进行清洗和预处理。

常见的方法包括移除缺失值、处理异常值、归一化和标准化等。

第四章:特征选择和重要性分析在机器学习中,特征选择是选择最相关和最具信息量的特征,以在训练模型时提高性能和效率。

特征选择方法包括过滤方法、包装方法和嵌入方法等。

第五章:选择合适的模型根据具体任务的需求和数据属性,选择适当的机器学习模型进行建模。

常见的机器学习模型包括线性回归、逻辑回归、决策树、支持向量机和神经网络等。

第六章:模型训练和评估使用选定的机器学习模型对数据集进行训练,并利用评估指标来评价模型的性能。

常见的评估指标包括准确率、精确率、召回率、F1值和AUC等。

第七章:调参和优化为了提高模型的性能,需要对模型进行调参和优化。

常见的调参方法包括网格搜索、随机搜索和贝叶斯优化等。

第八章:模型预测和应用在训练好的模型上进行预测和应用。

通过将新的数据输入到模型中,可以预测未来的结果或对新样本进行分类。

第九章:模型解释和可解释性机器学习模型通常具有一定的黑盒性,因此理解模型的决策过程和预测结果的原因至关重要。

通过可视化、特征重要性分析等方法,可以提高模型的可解释性。

第十章:模型部署和持续优化将训练好的模型部署到生产环境,并进行持续优化和监控。

持续优化包括模型更新、数据更新和性能监控等。

总结:本文介绍了使用Python进行机器学习算法实现的基本步骤。

从准备数据集、数据清洗和预处理、特征选择和重要性分析,到选择合适的模型、模型训练和评估、调参和优化,再到模型预测和解释、模型部署和持续优化,每个步骤都有具体的内容介绍。

机器学习建模一般流程

机器学习建模一般流程

机器学习建模一般流程Machine learning modeling is a complex process that involves multiple steps to ensure the development of accurate and reliable models. The general workflow starts with data collection, where relevant data is gathered from various sources such as databases, APIs, and files. 数据收集是机器学习建模的第一步,有效地获取数据来源至关重要,数据的质量将直接影响最终模型的准确性和可靠性。

Once the data has been collected, the next step involves data preprocessing, where the data is cleaned, transformed, and formatted to make it suitable for modeling. 数据预处理包括数据清洗、转换和格式化,目的是消除数据中的噪音和不一致性,为建模做好准备。

After data preprocessing, the next step is feature engineering, where relevant features are selected and extracted from the data to improve the model's predictive performance. 特征工程是建模的关键步骤,通过选择和提取相关特征,可以提高模型的预测性能,使模型更加准确。

Once the features have been engineered, the next step is model selection, where different machine learning algorithms are evaluatedand compared to identify the best performing model for the task at hand. 模型选择是一个重要环节,通过评估和比较不同的机器学习算法,可以找到最适合当前任务的性能最佳模型。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

转载]机器学习的经典教程(不断更新中)(2014-07-15 16:29:34)转载▼标签:转载初学者转载原文地址:机器学习的经典教程(不断更新中)作者:MachineLearner如今机器学习的学习资源越来越多,对于入行的朋友们来说,他们只需要关注自己从事的具体研究方向最新的国际会议、杂志上的paper就差不多了,而对于那些想要入行的朋友们,选择经典的教程入手可能会事半功倍。

以下这些教程,是我这些年接触机器学习以来觉得比较经典的,也欢迎朋友们补充。

一、公开课Andrew Ng教授的机器学习课程。

多啰嗦几句Andrew Ng,他虽然没出过啥书,但是他对这两年接触机器学习的人应该帮助最大了。

这哥们是机器学习界大牛Michael Jordan的最得意的门生(据说没有之一),最早只是把公开课视频放到网上,国内网易公开课做了翻译,课程内容安排的真是深入浅出,只要有点微积分和线性代数基础,都能够看明白一些复杂算法的推导(其实这点很重要,一些大牛的paper或者书籍由于篇幅所限,往往一个公式推导需要10步,他只会写最重要的两步,对于初学者来说还是很痛苦的)。

由于这个公开课视频受众甚广,好评如潮,Andrew Ng老师伙同斯坦福另一位同事Daphne Koller创建了Coursera这个在线教育平台,和公开课视频相比这个平台更注重和学生交互,能够帮助学生更好地掌握所follow的课程。

公开课推荐:1、https:///course/ml Andrew Ng在coursera上的机器学习课程,相比公开课来说,内容更简单一些,入门甚佳。

2、/special/opencourse/machinelearning.html Andrew Ng的公开课视频3、https:///course/pgm Daphne Koller在course上图模型的课程4、https:///course/neuralnets Geoffrey Hinton的神经网络的课。

如果问最近业界最火的机器学习技术是啥?一定是deep learning。

如果问是谁让deep learning这么火的,那就是Hinton老师。

应该还有其他类似的公开课资源,但我都没有看过,这里就不乱推荐了,欢迎大家补充。

二、经典书籍1、Tom M.Mitchell. Machine Learning(有中文版)2、Kevin P. Murphy. Machine Learning: A Probabilistic Perspective3、Christopher M.Bishop. Pattern Recognition and Machine Learning4、Trevor Hastie , Robert Tibshirani , Jerome Friedman. The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Second Edition(有中文版)5、Richard O. Duda. Pattern Classification(有中文版)6、李航,统计学习方法7、David Barber,Bayesian Reasoning and Machine Learning(@星空下的巫师)个人认为前三本作为入门更合适一些,4还是有些艰深,5是我最初接触这个领域的时候,当时为数不多的参考书,对我个人帮助还是很大的,列在这里更多的是纪念一下。

6是国内相关教程里最好的了,李老师将一些机器学习的经典算法介绍的非常详细,推导也没偷工减料,有点Andrew老师上课推公式的风范。

这些书籍基本上都有电子版可以google到,如果不行,推荐/,这真是一个神奇的地方,找外国图书的电子版效果甚佳。

有趣的机器学习:最简明入门指南2014/08/16 ·IT技术·8 评论·机器学习分享到:368本文由伯乐在线- toolate翻译。

未经许可,禁止转载!英文出处:Adam Geitgey。

欢迎加入翻译组。

在听到人们谈论机器学习的时候,你是不是对它的涵义只有几个模糊的认识呢?你是不是已经厌倦了在和同事交谈时只能一直点头?让我们改变一下吧!本指南的读者对象是所有对机器学习有求知欲但却不知道如何开头的朋友。

我猜很多人已经读过了“机器学习”的维基百科词条,倍感挫折,以为没人能给出一个高层次的解释。

本文就是你们想要的东西。

本文目标在于平易近人,这意味着文中有大量的概括。

但是谁在乎这些呢?只要能让读者对于ML更感兴趣,任务也就完成了。

何为机器学习?机器学习这个概念认为,对于待解问题,你无需编写任何专门的程序代码,泛型算法(generic algorithms)能够在数据集上为你得出有趣的答案。

对于泛型算法,不用编码,而是将数据输入,它将在数据之上建立起它自己的逻辑。

举个例子,有一类算法称为分类算法,它可以将数据划分为不同的组别。

一个用来识别手写数字的分类算法,不用修改一行代码,就可以用来将电子邮件分为垃圾邮件和普通邮件。

算法没变,但是输入的训练数据变了,因此它得出了不同的分类逻辑。

机器学习算法是个黑盒,可以重用来解决很多不同的分类问题。

“机器学习”是一个涵盖性术语,覆盖了大量类似的泛型算法。

两类机器学习算法你可以认为机器学习算法分为两大类:监督式学习(Supervised Learning)和非监督式学习(Unsupervised Learning)。

两者区别很简单,但却非常重要。

监督式学习假设你是一名房产经纪,生意越做越大,因此你雇了一批实习生来帮你。

但是问题来了——你可以看一眼房子就知道它到底值多少钱,实习生没有经验,不知道如何估价。

为了帮助你的实习生(也许是为了解放你自己去度个假),你决定写个小软件,可以根据房屋大小、地段以及类似房屋的成交价等因素来评估你所在地区房屋的价值。

你把3个月来城里每笔房屋交易都写了下来,每一单你都记录了一长串的细节——卧室数量、房屋大小、地段等等。

但最重要的是,你写下了最终的成交价:这是我们的“训练数据”。

我们要利用这些训练数据来编写一个程序来估算该地区其他房屋的价值:这就称为监督式学习。

你已经知道每一栋房屋的售价,换句话说,你知道问题的答案,并可以反向找出解题的逻辑。

为了编写软件,你将包含每一套房产的训练数据输入你的机器学习算法。

算法尝试找出应该使用何种运算来得出价格数字。

这就像是算术练习题,算式中的运算符号都被擦去了:天哪!一个阴险的学生将老师答案上的算术符号全擦去了。

看了这些题,你能明白这些测验里面是什么样的数学问题吗?你知道,你应该对算式左边的数字“做些什么”以得出算式右边的答案。

在监督式学习中,你是让计算机为你算出数字间的关系。

而一旦你知道了解决这类特定问题所需要的数学方法后,你就可以解答同类的其它问题了。

非监督式学习让我们回到开头那个房地产经纪的例子。

要是你不知道每栋房子的售价怎么办?即使你所知道的只是房屋的大小、位置等信息,你也可以搞出很酷的花样。

这就是所谓的非监督式学习。

即使你不是想去预测未知的数据(如价格),你也可以运用机器学习完成一些有意思的事。

这就有点像有人给你一张纸,上面列出了很多数字,然后对你说:“我不知道这些数字有什么意义,也许你能从中找出规律或是能将它们分类,或是其它什么-祝你好运!”你该怎么处理这些数据呢?首先,你可以用个算法自动地从数据中划分出不同的细分市场。

也许你会发现大学附近的买房者喜欢户型小但卧室多的房子,而郊区的买房者偏好三卧室的大户型。

这些信息可以直接帮助你的营销。

你还可以作件很酷的事,自动找出房价的离群数据,即与其它数据迥异的值。

这些鹤立鸡群的房产也许是高楼大厦,而你可以将最优秀的推销员集中在这些地区,因为他们的佣金更高。

本文余下部分我们主要讨论监督式学习,但这并不是因为非监督式学习用处不大或是索然无味。

实际上,随着算法改良,不用将数据和正确答案联系在一起,因此非监督式学习正变得越来越重要。

老学究请看:还有很多其它种类的机器学习算法。

但初学时这样理解不错了。

太酷了,但是评估房价真能被看作“学习”吗?作为人类的一员,你的大脑可以应付绝大多数情况,并且没有任何明确指令也能够学习如何处理这些情况。

如果你做房产经纪时间很长,你对于房产的合适定价、它的最佳营销方式以及哪些客户会感兴趣等等都会有一种本能般的“感觉”。

强人工智能(Strong AI)研究的目标就是要能够用计算机复制这种能力。

但是目前的机器学习算法还没有那么好——它们只能专注于非常特定的、有限的问题。

也许在这种情况下,“学习”更贴切的定义是“在少量范例数据的基础上找出一个等式来解决特定的问题”。

不幸的是,“机器在少量范例数据的基础上找出一个等式来解决特定的问题”这个名字太烂了。

所以最后我们用“机器学习”取而代之。

当然,要是你是在50年之后来读这篇文章,那时我们已经得出了强人工智能算法,而本文看起来就像个老古董。

未来的人类,你还是别读了,叫你的机器仆人给你做份三明治吧。

让我们写代码吧!前面例子中评估房价的程序,你打算怎么写呢?往下看之前,先思考一下吧。

如果你对机器学习一无所知,很有可能你会尝试写出一些基本规则来评估房价,如下:Python1 2 3 4 5 6 7 8 91011121314151617181920212223242526 27def estimate_house_sales_price(num_of_bedrooms, sqft, neighborhood): price = 0# In my area, the average house costs $200 per sqftprice_per_sqft = 200if neighborhood == "hipsterton":# but some areas cost a bit moreprice_per_sqft = 400elif neighborhood == "skid row":# and some areas cost lessprice_per_sqft = 100# start with a base price estimate based on how big the place isprice = price_per_sqft * sqft# now adjust our estimate based on the number of bedroomsif num_of_bedrooms == 0:# Studio apartments are cheapprice = price — 20000else:# places with more bedrooms are usually# more valuableprice = price + (num_of_bedrooms * 1000)return price假如你像这样瞎忙几个小时,也许会取得一点成效,但是你的程序永不会完美,而且当价格变化时很难维护。

相关文档
最新文档