数据挖掘
1、定义:
数据挖掘(Data Mining)是有组织有目的地收集数据,通过分析数据使之成为信息,从而在大量数据中寻找潜在规律以形成规则或知识的技术。
2、数据挖掘与机器学习的关系:
机器学习可以用来作为数据挖掘的一种工具或手段;
数据挖掘的手段不限于机器学习,譬如还有诸如统计学等众多方法;
但机器学习的应用也远不止数据挖掘,其应用领域非常广泛,譬如人工智能;
机器学习
1、定义:
机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
2、机器学习算法类别:
2.1、分类与聚类
Classification (分类):
给定一堆样本数据,以及这些数据所属的类别标签,通过算法来对预测新数据的类别。有训练数据,是监督学习。
Clustering(聚类):
事先并不知道一堆数据可以被划分到哪些类,通过算法来发现数据之间的相似性,从而将相似的数据划入相应的类,简单地说就是把相似的东西分到一组。没有训练数据,是无监督学习。
2.2、常见的分类与聚类算法
- 常用的分类算法:决策树分类法,朴素贝叶斯分类算法(native Bayesian classifier)、基于支持向量机(SVM) 的分类器,神经网络法,k-最近邻法(k-nearest neighbor,kNN),模糊分类法等等。
- 常见聚类算法: K均值(K-means clustering)聚类算法、K-MEDOIDS算法、CLARANS算法;BIRCH算法、CURE算法、CHAMELEON算法等;基于密度的方法:DBSCAN算法、OPTICS算法、DENCLUE算法等;基于网格的方法:STING算法、CLIQUE算法、WAVE-CLUSTER算法。
2.3、监督学习与无监督学习
机器学习按照训练数据是否有“先验知识”,一般划分为三类:
1) 监督学习(supervised learning):有先验知识
2) 半监督学习(semi-supervised learning):
3) 无监督学习(unsupervised learning):没有先验知识
3、机器学习的应用步骤
1) 需求分析
2) 收集数据
3) 探索数据特性
4) 提取数据特征并建模
5) 开发代码(常用语言:R语言,Python语言)
6) 训练模型
7) 应用系统集成(比如将训练好的算法模型集成到推荐系统中)
4、机器学习必备的数学知识
4.1、概率
4.2、距离(相似度)
机器学习中衡量样本之间的相似度
4.3、线性方程
机器学习中线性拟合或回归分类
4.4、向量与矩阵
大批量样本运算