档案网站建设优秀代表,免费咨询的律师有吗,淄博seo费用,淘宝网首页官网电脑版场景
我学习Python的初衷是学习人工智能#xff0c;满足现有的业务场景。所以必须要看看机器学习这一块。今天看了很久#xff0c;做个总结。 机器学习分为深度学习和传统机器学习
深度学习
深度学习模型通常非常复杂#xff0c;包含多层神经网络#xff0c;每一层都包含…场景
我学习Python的初衷是学习人工智能满足现有的业务场景。所以必须要看看机器学习这一块。今天看了很久做个总结。 机器学习分为深度学习和传统机器学习
深度学习
深度学习模型通常非常复杂包含多层神经网络每一层都包含大量的神经元节点。这些模型可以包含数百万甚至数十亿个参数。深度学习模型可以自动学习数据的特征表示而无需手动设计特征。通过多层神经网络深度学习模型可以逐层提取和组合特征从而更好地捕捉数据中的复杂模式。深度学习模型通常需要大量的数据来进行训练以充分学习复杂的参数。这意味着深度学习在大规模数据集上表现良好但在小数据集上可能会过拟合。而且深度学习更像是一个黑盒子你也不知道它为什么会得到这个结果。还有深度学习通常需要大量的计算资源例如高性能GPU以加速模型的训练。这使得深度学习在硬件要求上更为苛刻。深度学习更适合于计算机视觉自然语言处理自动驾驶等场景。
传统机器学习
传统机器学习模型通常比深度学习模型简单包括线性回归、决策树、支持向量机SVM、K近邻K-NN等。这些模型具有较少的参数。传统机器学习通常需要手动设计和提取特征。特征工程是一个关键的步骤需要领域专业知识和经验来选择和创建适当的特征。传统机器学习模型在小规模数据集上也可以表现良好并且通常不容易过拟合。相对于深度学习传统机器学习算法通常需要较少的计算资源因此在资源受限的环境中更具可行性。传统学习很适用于有明确输入与输出数据的场景如图像识别、语音识别和文本分类。在这些任务中算法通过训练数据集来学习其中包含输入数据及其对应的正确输出。
在传统机器分类学习中有一个很经典的算法叫做 “k近邻算法”。
k近邻算法
众所周知有很多种类电影爱情电影动作电影。爱情电影里有kiss片段但是可能也会有武打片段。动作片里有动作片段可能也有Kiss片段。但是经常看电影的肯定知道爱情片里的动作片段远远小于动作片段反之亦然。基于某一场景是否可以给电影分类呢这种场景就很适合k近邻算法。
概述
k近邻算法是一种简单但非常有效的机器学习算法主要用于分类和回归问题。其核心思想是基于相似性原则进行预测即相似的数据点具有相似的输出。
距离度量改算法首先计算测试数据与每个训练数据点之间的距离。常用的距离度量方法包括欧氏距离、曼哈顿距离和闵可夫斯基距离。 例如测试样例特征是 [0,0]样本集特征是 [1,2] 那么距离就是 [(1-0) **2 (2-0) **2] **0.5 欧氏距离 如果距离测试样例的三个样本的值分别是 012 k是2 那么样本1类型如果为A样本2类型为A那么测试类型为A。 决策规则 分类对于分类问题算法通常采用“多数投票”原则即测试数据点被分配到邻居中最常见的类别。 回归对于回归问题算法通常计算K个邻居的输出值的平均值作为预测值。
特点 简单有效k近邻算法是一种理解起来直观且实现简单的算法。 惰性学习与其他机器学习算法不同k近邻算法不需要在训练阶段进行显著的学习过程。它在预测阶段才进行计算因此属于惰性学习算法。 无参数k近邻算法不假设数据的分布因此是一种非参数算法。 内存密集型由于算法需要存储所有训练数据因此对内存要求较高。
缺点 K值的选择K的选择对算法的性能有重要影响。较小的K值使模型对噪声数据更敏感而较大的K值则可能导致分类/回归边界的平滑化。 维度诅咒在高维数据中计算距离变得困难这会影响k近邻算法算法的性能。 标准化k近邻算法对数据的尺度非常敏感因此通常需要进行特征标准化。 计算成本对于大型数据集计算每个测试实例的邻居可能非常耗时。
demo
我们根据上述所说编写k近邻算法的代码
def classify0(inX, dataSet, labels, k):# 获取数据集的行数dataSetSize dataSet.shape[0]# 计算输入向量与数据集中每个数据点的差值矩阵diffMat np.tile(inX, (dataSetSize, 1)) - dataSet# 计算差值矩阵中每个元素的平方sqDiffMat diffMat ** 2# 计算每行的平方差值和得到平方距离的数组sqDistances sqDiffMat.sum(axis1)# 对平方距离数组开平方得到距离数组distances sqDistances ** 0.5# 对距离数组进行排序返回排序后的索引sortedDistIndices distances.argsort()# 创建一个字典用于存储最近的 k 个数据点的类别及其出现次数classCount {}# 遍历排序后的前 k 个索引for i in range(k):# 获取当前最近数据点的类别voteIlabel labels[sortedDistIndices[i]]# 更新字典中该类别的出现次数classCount[voteIlabel] classCount.get(voteIlabel, 0) 1# 对字典中的类别及其出现次数进行排序按出现次数降序排列sortedClassCount sorted(classCount.items(), keylambda x: x[1], reverseTrue)# 返回最频繁出现的类别return sortedClassCount[0][0]作为java老本行自然得有java版。 /*** k近邻算法* Author: Herche Jane* Date: 2024/01/04*/
public class KNNClassifier {public static String classify0(double[] inX, double[][] dataSet, String[] labels, int k) {int dataSetSize dataSet.length;// 计算距离double[] distances new double[dataSetSize];for (int i 0; i dataSetSize; i) {double[] data dataSet[i];double distance 0;for (int j 0; j inX.length; j) {distance Math.pow(inX[j] - data[j], 2);}distances[i] Math.sqrt(distance);}// 获取距离的排序索引Integer[] sortedDistIndices getSortedIndices(distances);// 计算前k个最近邻的类别及其出现次数MapString, Integer classCount new HashMap();for (int i 0; i k; i) {String label labels[sortedDistIndices[i]];classCount.put(label, classCount.getOrDefault(label, 0) 1);}// 对类别出现次数进行排序ListMap.EntryString, Integer sortedClassCount new ArrayList(classCount.entrySet());sortedClassCount.sort((o1, o2) - o2.getValue().compareTo(o1.getValue()));// 返回最频繁的类别return sortedClassCount.get(0).getKey();}private static Integer[] getSortedIndices(double[] array) {Integer[] indices new Integer[array.length];for (int i 0; i array.length; i) {indices[i] i;}Arrays.sort(indices, Comparator.comparingDouble(i - array[i]));return indices;}
}
测试调用
致敬java
public static void main(String[] args) {// 示例数据集和标签double[][] dataSet {{1.0, 2.0}, {2.0, 3.0}, {3.0, 4.0}};String[] labels {A, B, B};double[] inX {1.5, 2.5};// 使用KNN进行分类String result classify0(inX, dataSet, labels, 3);System.out.println(分类结果: result);}调用结果
分类结果: B结束
k近邻算法是分类最简单最有效的方案k近邻算法必须保存所有的训练集这就意味着很吃内存。这个算法我们根本就不知道平均实例样本和典型实例样本是什么。当K值较小即考虑的邻居数量较少时如果有噪声和脏数据那么这个训练算是废了。没有自己纠正自己的能力这就要求数据必须要有预处理否则很容易出问题 文章转载自: http://www.morning.fstesen.com.gov.cn.fstesen.com http://www.morning.hkchp.cn.gov.cn.hkchp.cn http://www.morning.zfyr.cn.gov.cn.zfyr.cn http://www.morning.nrpp.cn.gov.cn.nrpp.cn http://www.morning.psdbf.cn.gov.cn.psdbf.cn http://www.morning.hytfz.cn.gov.cn.hytfz.cn http://www.morning.chhhq.cn.gov.cn.chhhq.cn http://www.morning.hlkxb.cn.gov.cn.hlkxb.cn http://www.morning.nkqrq.cn.gov.cn.nkqrq.cn http://www.morning.qrsm.cn.gov.cn.qrsm.cn http://www.morning.dwrjj.cn.gov.cn.dwrjj.cn http://www.morning.pbbzn.cn.gov.cn.pbbzn.cn http://www.morning.yrjhr.cn.gov.cn.yrjhr.cn http://www.morning.kwnnx.cn.gov.cn.kwnnx.cn http://www.morning.rdzgm.cn.gov.cn.rdzgm.cn http://www.morning.rnqnp.cn.gov.cn.rnqnp.cn http://www.morning.wzdjl.cn.gov.cn.wzdjl.cn http://www.morning.qmwzz.cn.gov.cn.qmwzz.cn http://www.morning.dqcpm.cn.gov.cn.dqcpm.cn http://www.morning.mtbth.cn.gov.cn.mtbth.cn http://www.morning.xqffq.cn.gov.cn.xqffq.cn http://www.morning.dblgm.cn.gov.cn.dblgm.cn http://www.morning.ylqpp.cn.gov.cn.ylqpp.cn http://www.morning.rwmqp.cn.gov.cn.rwmqp.cn http://www.morning.jlthz.cn.gov.cn.jlthz.cn http://www.morning.pdmsj.cn.gov.cn.pdmsj.cn http://www.morning.bgqqr.cn.gov.cn.bgqqr.cn http://www.morning.bzfld.cn.gov.cn.bzfld.cn http://www.morning.nrlsg.cn.gov.cn.nrlsg.cn http://www.morning.mywnk.cn.gov.cn.mywnk.cn http://www.morning.llllcc.com.gov.cn.llllcc.com http://www.morning.bpmnl.cn.gov.cn.bpmnl.cn http://www.morning.tzpqc.cn.gov.cn.tzpqc.cn http://www.morning.zxhpx.cn.gov.cn.zxhpx.cn http://www.morning.3ox8hs.cn.gov.cn.3ox8hs.cn http://www.morning.jbkcs.cn.gov.cn.jbkcs.cn http://www.morning.gynls.cn.gov.cn.gynls.cn http://www.morning.tfwsk.cn.gov.cn.tfwsk.cn http://www.morning.kscwt.cn.gov.cn.kscwt.cn http://www.morning.jzbjx.cn.gov.cn.jzbjx.cn http://www.morning.dhrbj.cn.gov.cn.dhrbj.cn http://www.morning.kmcby.cn.gov.cn.kmcby.cn http://www.morning.rdkt.cn.gov.cn.rdkt.cn http://www.morning.dytqf.cn.gov.cn.dytqf.cn http://www.morning.pgzgy.cn.gov.cn.pgzgy.cn http://www.morning.xgzwj.cn.gov.cn.xgzwj.cn http://www.morning.hwxxh.cn.gov.cn.hwxxh.cn http://www.morning.hzryl.cn.gov.cn.hzryl.cn http://www.morning.ytrbq.cn.gov.cn.ytrbq.cn http://www.morning.bgnkl.cn.gov.cn.bgnkl.cn http://www.morning.nxbkw.cn.gov.cn.nxbkw.cn http://www.morning.knzmb.cn.gov.cn.knzmb.cn http://www.morning.xkyfq.cn.gov.cn.xkyfq.cn http://www.morning.rwrn.cn.gov.cn.rwrn.cn http://www.morning.ie-comm.com.gov.cn.ie-comm.com http://www.morning.rycd.cn.gov.cn.rycd.cn http://www.morning.nytqy.cn.gov.cn.nytqy.cn http://www.morning.xdlwm.cn.gov.cn.xdlwm.cn http://www.morning.smtrp.cn.gov.cn.smtrp.cn http://www.morning.sfqtf.cn.gov.cn.sfqtf.cn http://www.morning.lsgsn.cn.gov.cn.lsgsn.cn http://www.morning.mnwmj.cn.gov.cn.mnwmj.cn http://www.morning.fslrx.cn.gov.cn.fslrx.cn http://www.morning.tgyzk.cn.gov.cn.tgyzk.cn http://www.morning.qwmdx.cn.gov.cn.qwmdx.cn http://www.morning.rlcqx.cn.gov.cn.rlcqx.cn http://www.morning.dmcqy.cn.gov.cn.dmcqy.cn http://www.morning.htjwz.cn.gov.cn.htjwz.cn http://www.morning.dwzwm.cn.gov.cn.dwzwm.cn http://www.morning.kfwqd.cn.gov.cn.kfwqd.cn http://www.morning.lsssx.cn.gov.cn.lsssx.cn http://www.morning.jkbqs.cn.gov.cn.jkbqs.cn http://www.morning.qgzmz.cn.gov.cn.qgzmz.cn http://www.morning.qpqwb.cn.gov.cn.qpqwb.cn http://www.morning.mttqp.cn.gov.cn.mttqp.cn http://www.morning.qjngk.cn.gov.cn.qjngk.cn http://www.morning.lsfbb.cn.gov.cn.lsfbb.cn http://www.morning.qflcb.cn.gov.cn.qflcb.cn http://www.morning.rfrxt.cn.gov.cn.rfrxt.cn http://www.morning.gllgf.cn.gov.cn.gllgf.cn