机器学习以及相关算法
机器学习简介
机器学习是人工智能的一个分支。机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习算法是一类从数据中自动分析获得规律,并利用规律对未知数据进行预测的算法。现实问题抽象为数学问题,机器解决数学问题从而解决现实问题。
机器学习算法
有监督学习是机器学习任务的一种。它从有标记的训练数据中推导出预测函数。有标记的训练数据是指每个训练实例都包括输入和期望的输出。一句话:给定数据,预测标签。有监督学习的结果可分为两类:分类或回归。
无监督学习是机器学习任务的一种。它从无标记的训练数据中推断结论。最典型的无监督学习就是聚类分析,它可以在探索性数据分析阶段用于发现隐藏的模式或者对数据进行分组。一句话:给定数据,寻找隐藏的结构。无监督学习有聚类和降维。
线性回归
回归的目的是为了预测,比如预测明天的天气温度,预测股票的走势。回归之所以能预测是因为他通过历史数据,摸透了“套路”,然后通过这个套路来预测未来的结果。
线性关系不仅仅只能存在 2 个变量(二维平面)。3 个变量时(三维空间),线性关系就是一个平面,4 个变量时(四维空间)。
逻辑回归
逻辑回归(Logistic Regression)主要解决二分类问题,用来表示某件事情发生的可能性。
容易欠拟合,一般准确度不太高。只能处理两分类问题(在此基础上衍生出来的softmax可以用于多分类),且必须线性可分。
决策树
决策树是一种逻辑简单的机器学习算法,它是一种树形结构,所以叫决策树。决策树是一种解决分类问题的算法,决策树算法采用树形结构,使用层层推理来实现最终的分类。决策树由下面几种元素构成:
- 根节点:包含样本的全集
- 内部节点:对应特征属性测试
- 叶节点:代表决策的结果
预测时,在树的内部节点处用某一属性值进行判断,根据判断结果决定进入哪个分支节点,直到到达叶节点处,得到分类结果。这是一种基于 if-then-else 规则的有监督学习算法,决策树的这些规则通过训练得到。
流程:
- 特征选择 特征选择的作用就是筛选出跟分类结果相关性较高的特征,也就是分类能力较强的特征。
- 决策树生成 从根节点触发,对节点计算所有特征的信息增益,选择信息增益最大的特征作为节点特征,根据该特征的不同取值建立子节点;对每个子节点使用相同的方式生成新的子节点,直到信息增益很小或者没有特征可以选择为止。
- 决策树剪枝 剪枝的主要目的是对抗「过拟合」,通过主动去掉部分分支来降低过拟合的风险。
3 种典型的决策树算法
- ID3 算法
- C4.5 算法
- CART(Classification and Regression Tree)
随机森林
随机森林是由很多决策树构成的,不同决策树之间没有关联。每个决策树会得到一个自己的分类结果,决策树的分类结果中哪一个分类最多,那么随机森林就会把这个结果当做最终的结果。
K-Means
k-平均算法(K-Means)是一种无监督学习算法,为聚类问题提供了一种解决方案。
聚类分析指将物理或抽象对象的集合分组为由类似的对象组成的多个类的分析过程。衡量不同数据源间的相似性,以及把数据源分类到不同的簇中。
梯度增强算法 Gradient Boosting
梯度增强算法(Gradient Boosting)使用多个弱算法来创建更强大的精确算法。梯度增强算法有几种:
- XGBoost — 使用线性和树算法
- LightGBM — 只使用基于树的算法
最近邻居/k-近邻算法 (K-Nearest Neighbors,KNN)
KNN算法是一种基于实例的学习,用最近的邻居(k)来预测未知数据点。
支持向量机算法(Support Vector Machine,SVM)
支持向量机/网络算法(SVM)属于分类型算法。SVM模型将实例表示为空间中的点,将使用一条直线分隔数据点。
朴素贝叶斯算法
朴素贝叶斯算法(Naive Bayes)基于概率论的贝叶斯定理,应用非常广泛,从文本分类、垃圾邮件过滤器、医疗诊断等等。朴素贝叶斯适用于特征之间的相互独立的场景,例如利用花瓣的长度和宽度来预测花的类型。“朴素”的内涵可以理解为特征和特征之间独立性强。
降维算法
在机器学习和统计学领域,降维是指在限定条件下,降低随机变量个数,得到一组“不相关”主变量的过程,并可进一步细分为特征选择和特征提取两大方法。