机器学习基础

[亡魂溺海] 提交于 2019-11-29 19:06:23

数据挖掘VS机器学习?

  "数据挖掘" 与 "机器学习"是近年来经常同时出现的词语,两者有何不同呢?到底是数据挖掘涵盖机器学习,还是机器学习包括数据挖掘,各种观点莫衷一是。实际上,两者本就不是非此即彼的关系,所以大可不必拘泥于特定的称谓,从具体的业务场景、算法应用出发即可。在这里,按笔者的理解,一般是用机器学习算法来实现数据挖掘的特定需求,如是而已。

1. 机器学习概念

  ---“这是最好的时代,也是最坏的时代”,如今,这是一个大数据的时代。

  提起机器学习(Machine Learning),近年来发展的可谓如火如荼,IBM的“深蓝计算机”、Google的AlphaGo(人工智能程序)以及无人驾驶汽车等,引领我们走入了“数据科学革命”。那么何谓机器学习呢?简单来说,机器学习是一个从大量无序数据中学习和提取有用信息的过程,涉及到计算机科学、工程技术和统计学等多个学科的知识。具体而言,机器学习是一类算法的总称,这些算法企图从大量历史数据中挖掘出其中隐含的规律,用于完成特定的业务需求。目前已实现的典型应用如垃圾邮件检测、商品智能推荐、手写识别软件、贷款信用评定、实时工业监测等。

2. 机器学习步骤

  • 数据收集:多种方式收集样本数据,如:制作网络爬虫从网站上抽取数据、从API中得到信息、设备传感器发来的实测数据等等
  • 数据探索:检验数据集的数据质量、绘制图表、计算某些特征量等手段,对样本数据集的结构和分布规律进行初步了解和分析
  • 数据准备:根据需要完成一系列的数据预处理操作,如数据清洗、数据集成、数据变换和数据规约等,将数据转换为符合算法要求的格式
  • 算法训练:从这一步才真正开始学习,根据业务目标,选择相应的机器学习算法。其中,对于无监督学习,由于不存在目标变量值,故不需要训练算法
  • 算法评估:对于有监督学习,需要使用测试数据检验算法的准确率(性能);对于无监督学习,运行机器学习算法,并使用其它方式检验算法性能
  • 算法使用:将机器学习算法转换为应用程序,执行实际任务,以检验上述步骤是否可以在实际环境中正常工作

3. 机器学习算法

  机器学习算法种类繁多,划分方式不一。通常根据任务的不同,机器学习可分为有监督学习(Supervised Learning)、无监督学习(Unsupervised Learning)、半监督学习(Semi-Supervised Learning)和增强学习(Reinforcement Learing)。其中,笔者目前主要研究有监督学习和无监督学习两种学习算法。

3.1 有监督学习

  有监督学习的训练数据集要求包括输入与输出,即特征(Feature)与目标(Target)。有监督学习从给定的训练数据集中学习出一个函数,当新的数据到来时,可以根据这个函数预测结果。典型问题是分类(Classification)和回归 (regression),常用算法有逻辑回归(Logistic Regression)、K-近邻(K-Nearest Neighbor)、决策树(Desicion Trees)、朴素贝叶斯(Naive Bayes)、支持向量机(Support Vector Machines)、BP神经网络(Back-Propagation Neural Network)、时序预测(Time Series Forecasting)等。

3.2 无监督学习

无监督学习(Unsupervised Learning): 无监督学习的训练数据集只有输入,即特征,不含目标信息。典型问题是聚类(Clustering)、降维(Dimensionality Reduction)与关联分析(Affinity Analysis)。常用算法有K-均值(K-Means)、主成分分析(PCA)、Apriori算法、FP-增长算法等。

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!