自动学习算法
㈠ 浜哄伐鏅鸿兘镄勭畻娉曚腑瀛︿範鏂规硶链夊嚑绉
浜哄伐鏅鸿兘镄勭畻娉曞︿範鏂规硶链5绉嶃
1銆佺洃镌e︿範锛氱洃镌e︿範鏄涓绉嶉氲繃宸茬煡杈揿叆鍜岃緭鍑烘潵璁缁冩ā鍨嬬殑瀛︿範鏂规硶銆傚畠阃氲繃浣跨敤璁缁冩暟鎹闆嗘潵璁缁冩ā鍨嬶纴浠ヤ究鍦ㄧ粰瀹氲緭鍏ユ椂鑳藉熼勬祴杈揿嚭銆
2銆佹棤鐩戠潱瀛︿範锛氭棤鐩戠潱瀛︿範鏄涓绉嶉氲繃镞犳爣绛炬暟鎹𨱒ヨ缁冩ā鍨嬬殑瀛︿範鏂规硶銆傚畠阃氲繃鍒嗘瀽鏁版嵁涓镄勬ā寮忓拰缁撴瀯𨱒ュ︿範鏁版嵁镄勫唴鍦ㄧ壒寰佸拰鍒嗗竷銆
3銆佸己鍖栧︿範锛氩己鍖栧︿範鏄涓绉嶉氲繃鏅鸿兘浣扑笌鐜澧冧氦浜掓潵璁缁冩ā鍨嬬殑瀛︿範鏂规硶銆傚畠阃氲繃璁╂櫤鑳戒綋鍦ㄧ幆澧冧腑镓ц屼竴绯诲垪锷ㄤ綔骞惰瘎浼扮粨鏋沧潵纭瀹氭渶浣冲姩浣灭瓥鐣ャ
3銆佽嚜铹惰瑷澶勭悊锛氢汉宸ユ櫤鑳界畻娉曞彲浠ヨ嚜锷ㄧ悊瑙e拰瑙f瀽镊铹惰瑷鏂囨湰锛屾彁鍙栧叾涓镄勫疄浣撱佹傚康銆佹儏镒熺瓑淇℃伅锛屽府锷╀紒涓氲繘琛屾枃链鍒嗘瀽鍜屼俊鎭鎻愬彇銆傝繖绉嶆妧链鍦ㄦ悳绱㈠紩镎庛佹櫤鑳藉㈡湇銆佹儏镒熷垎鏋愮瓑棰嗗烟链夌潃骞挎硾镄勫簲鐢ㄣ
4銆佸浘镀忓拰璇阔宠瘑鍒锛氢汉宸ユ櫤鑳界畻娉曞彲浠ヨ嚜锷ㄨ瘑鍒鍜屽垎鏋愬浘镀忓拰璇阔充俊鎭锛屽疄鐜拌嚜锷ㄥ寲褰曞叆銆佽阔宠浆鏂囧瓧銆佽阔冲悎鎴愮瓑锷熻兘銆傝繖绉嶆妧链鍦ㄦ櫤鑳戒氦浜掋佹櫤鑳藉畨阒茬瓑棰嗗烟链夌潃骞挎硾镄勫簲鐢ㄣ
㈡ 机器学习一般常用的算法有哪些
机器学习是人工智能的核心技术,是学习人工智能必不可少的环节。机器学习中有很多算法,能够解决很多以前难以企的问题,机器学习中涉及到的算法有不少,下面小编就给大家普及一下这些算法。
一、线性回归
一般来说,线性回归是统计学和机器学习中最知名和最易理解的算法之一。这一算法中我们可以用来预测建模,而预测建模主要关注最小化模型误差或者尽可能作出最准确的预测,以可解释性为代价。我们将借用、重用包括统计学在内的很多不同领域的算法,并将其用于这些目的。当然我们可以使用不同的技术从数据中学习线性回归模型,例如用于普通最小二乘法和梯度下降优化的线性代数解。就目前而言,线性回归已经存在了200多年,并得到了广泛研究。使用这种技术的一些经验是尽可能去除非常相似(相关)的变量,并去除噪音。这是一种快速、简单的技术。
二、Logistic 回归
它是解决二分类问题的首选方法。Logistic 回归与线性回归相似,目标都是找到每个输入变量的权重,即系数值。与线性回归不同的是,Logistic 回归对输出的预测使用被称为 logistic 函数的非线性函数进行变换。logistic 函数看起来像一个大的S,并且可以将任何值转换到0到1的区间内。这非常实用,因为我们可以规定logistic函数的输出值是0和1并预测类别值。像线性回归一样,Logistic 回归在删除与输出变量无关的属性以及非常相似的属性时效果更好。它是一个快速的学习模型,并且对于二分类问题非常有效。
三、线性判别分析(LDA)
在前面我们介绍的Logistic 回归是一种分类算法,传统上,它仅限于只有两类的分类问题。而LDA的表示非常简单直接。它由数据的统计属性构成,对每个类别进行计算。单个输入变量的 LDA包括两个,第一就是每个类别的平均值,第二就是所有类别的方差。而在线性判别分析,进行预测的方法是计算每个类别的判别值并对具备最大值的类别进行预测。该技术假设数据呈高斯分布,因此最好预先从数据中删除异常值。这是处理分类预测建模问题的一种简单而强大的方法。
四、决策树
决策树是预测建模机器学习的一种重要算法。决策树模型的表示是一个二叉树。这是算法和数据结构中的二叉树,没什么特别的。每个节点代表一个单独的输入变量x和该变量上的一个分割点。而决策树的叶节点包含一个用于预测的输出变量y。通过遍历该树的分割点,直到到达一个叶节点并输出该节点的类别值就可以作出预测。当然决策树的有点就是决策树学习速度和预测速度都很快。它们还可以解决大量问题,并且不需要对数据做特别准备。
五、朴素贝叶斯
其实朴素贝叶斯是一个简单但是很强大的预测建模算法。而这个模型由两种概率组成,这两种概率都可以直接从训练数据中计算出来。第一种就是每个类别的概率,第二种就是给定每个 x 的值,每个类别的条件概率。一旦计算出来,概率模型可用于使用贝叶斯定理对新数据进行预测。当我们的数据是实值时,通常假设一个高斯分布,这样我们可以简单的估计这些概率。而朴素贝叶斯之所以是朴素的,是因为它假设每个输入变量是独立的。这是一个强大的假设,真实的数据并非如此,但是,该技术在大量复杂问题上非常有用。所以说,朴素贝叶斯是一个十分实用的功能。
六、K近邻算法
K近邻算法简称KNN算法,KNN 算法非常简单且有效。KNN的模型表示是整个训练数据集。KNN算法在整个训练集中搜索K个最相似实例(近邻)并汇总这K个实例的输出变量,以预测新数据点。对于回归问题,这可能是平均输出变量,对于分类问题,这可能是众数类别值。而其中的诀窍在于如何确定数据实例间的相似性。如果属性的度量单位相同,那么最简单的技术是使用欧几里得距离,我们可以根据每个输入变量之间的差值直接计算出来其数值。当然,KNN需要大量内存或空间来存储所有数据,但是只有在需要预测时才执行计算。我们还可以随时更新和管理训练实例,以保持预测的准确性。
七、Boosting 和 AdaBoost
首先,Boosting 是一种集成技术,它试图集成一些弱分类器来创建一个强分类器。这通过从训练数据中构建一个模型,然后创建第二个模型来尝试纠正第一个模型的错误来完成。一直添加模型直到能够完美预测训练集,或添加的模型数量已经达到最大数量。而AdaBoost 是第一个为二分类开发的真正成功的 boosting 算法。这是理解 boosting 的最佳起点。现代 boosting 方法建立在 AdaBoost 之上,最显着的是随机梯度提升。当然,AdaBoost 与短决策树一起使用。在第一个决策树创建之后,利用每个训练实例上树的性能来衡量下一个决策树应该对每个训练实例付出多少注意力。难以预测的训练数据被分配更多权重,而容易预测的数据分配的权重较少。依次创建模型,每一个模型在训练实例上更新权重,影响序列中下一个决策树的学习。在所有决策树建立之后,对新数据进行预测,并且通过每个决策树在训练数据上的精确度评估其性能。所以说,由于在纠正算法错误上投入了太多注意力,所以具备已删除异常值的干净数据十分重要。
八、学习向量量化算法(简称 LVQ)
学习向量量化也是机器学习其中的一个算法。可能大家不知道的是,K近邻算法的一个缺点是我们需要遍历整个训练数据集。学习向量量化算法(简称 LVQ)是一种人工神经网络算法,它允许你选择训练实例的数量,并精确地学习这些实例应该是什么样的。而学习向量量化的表示是码本向量的集合。这些是在开始时随机选择的,并逐渐调整以在学习算法的多次迭代中最好地总结训练数据集。在学习之后,码本向量可用于预测。最相似的近邻通过计算每个码本向量和新数据实例之间的距离找到。然后返回最佳匹配单元的类别值或作为预测。如果大家重新调整数据,使其具有相同的范围,就可以获得最佳结果。当然,如果大家发现KNN在大家数据集上达到很好的结果,请尝试用LVQ减少存储整个训练数据集的内存要求