姜堰区住房和城乡建设局网站,wordpress 所有函数,网站开发描述,想买个服务器做网站一、机器学习基础概念 1、什么是机器学习 机器学习是一种人工智能技术#xff0c;通过对数据的学习和分析#xff0c;让计算机系统自动提高其性能。简而言之#xff0c;机器学习是一种从数据中学习规律和模式的方法#xff0c;通过数据来预测、分类或者决策。 机器学习的本…一、机器学习基础概念 1、什么是机器学习 机器学习是一种人工智能技术通过对数据的学习和分析让计算机系统自动提高其性能。简而言之机器学习是一种从数据中学习规律和模式的方法通过数据来预测、分类或者决策。 机器学习的本质就是找到一个能无限接近需求的一个函数。 2、怎样找到这个函数 最基本的步骤如下 ①定一个函数集合 ②判断函数的好坏 ③选择最好的函数 3、机器学习三要素 ①首先设计模型model ②通过各种方式判断模型的好坏 ③根据需求选择最好的函数并不断优化模型 修改模型增加数据维度 增加正则因子使函数更加平滑让参数w取值更小。x变化较小时整个函数结果 不会变化太大结果更准
4、机器学习的分类 监督学习有数据标注情况下学习回归、分类 半监督学习训练数据中带标记的数据不够多 迁移学习在已学习基础上做看似和以前学习不相关的事情但实际效果很好如在猫狗识别基础识别大象老虎等 无监督学习没有具体标注数据的情况下学习机器阅读、机器绘画 结构化学习超越简单的回归和分类产生结构化的结果如图片、语言、声音 二、处理一个机器学习问题的基本步骤
数据收集首先需要收集数据并将其转化为可以计算的形式例如数值、文本或图像等。数据预处理数据收集后需要对数据进行清洗、去除异常值、缺失值处理、特征选择等预处理步骤。特征工程 是指在机器学习中对原始数据进行转换、组合和选择等处理以提取更有用的特征或属性以帮助机器学习算法更好地理解和处理数据。简而言之特征工程就是对原始数据进行预处理以提取有用信息来辅助机器学习。模型选择根据问题的特点和数据的特征选择适合的机器学习算法和模型。模型训练机器学习利用已有数据对所选的机器学习模型进行训练从而使模型能够学习数据中的规律和模式。模型评估训练完成后需要对模型进行评估和调整以检查其性能和精度并进行优化。模型应用经过训练和优化后机器学习模型可以用于新数据的预测、分类、聚类等任务。 三、机器学习算法总结
1、监督学习SupervisedLearning 有类别标签的学习基于训练样本的输入、输出训练得到最优模型再使用该模型预测新输入的输出 代表算法决策树、朴素贝叶斯、逻辑回归、KNN、SVM、神经网络、随机森林、AdaBoost、遗传算法
2、半监督学习Semi-supervisedLearning 同时使用大量的未标记数据和标记数据进行模式识别工作 代表算法self-training(自训练算法)、generative models生成模型、SVMs半监督支持向量机、graph-basedmethods图论方法、 multiviewlearing多视角算法等
3、无监督学习UnsupervisedLearning 无类别标签的学习只给定样本的输入自动从中寻找潜在的类别规则 代表算法主成分分析方法PCA等等距映射方法、局部线性嵌入方法、拉普拉斯特征映射方法、黑塞局部线性嵌入方法、局部切空间排列方法等
4、判别模型(discriminative model) 已知输入变量x通过求解条件概率分布P(y|x)或者直接计算y的值来预测y。 例如 线性回归Linear Regression逻辑回归Logistic Regression支持向量机SVM传统神经网络Traditional Neural Networks线性判别分析Linear Discriminative Analysis条件随机场Conditional Random Field 5、生成模型generative model 已知输入变量x通过对观测值和标注数据计算联合概率分布P(x,y)来达到判定估算y的目的。 例如 朴素贝叶斯Naive Bayes隐马尔科夫模型HMM贝叶斯网络Bayesian Networks隐含狄利克雷分布Latent Dirichlet Allocation 四、算法详解
1、KNNK近邻算法
1定义 如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别则该样本也属于这个类别。
2算法流程 1计算已知类别数据集中的点与当前点之间的距离 2按距离递增次序排序 3选取与当前点距离最小的k个点 4统计前k个点所在的类别出现的频率分类样本出现最多个数 回归K个杨样本的平均值 5返回前k个点出现频率最高的类别作为当前点的预测分类 3注意点 ① K值选择 K值的减小就意味着整体模型变得复杂容易发生过拟合 K值的增大就意味着整体模型变得简单容易发生欠拟合 注实际应用中K值一般取一个比较小的数值例如采用交叉验证来选择最优的K值。 ② 误差估计 近似误差对训练集的训练误差关注训练集近似误差小可能出现过拟合。 估计误差对测试集的测试误差关注测试集估计误差小说明对未知数据的预测能力好。 4K近邻实现
线性扫描穷举搜索 计算输入实例与每一个训练实例的距离。计算后再查找K近邻。当训练集很大时计算非常耗时。 KD树 ①一种对k维空间中的实例点进行存储以便对其进行快速检索的树形数据结构 ②kd树是一种二叉树表示对k维空间的一个划分构造kd树相当于不断地用垂直于坐标轴的超平面将K维空间切分构成一系列的K维超矩形区域。kd树的每个结点对应于一个k维超矩形区域。 ③利用kd树可以省去对大部分数据点的搜索从而减少搜索的计算量。 距离计算 ①欧式距离(Euclidean Distance) ②曼哈顿距离(Manhattan Distance) ③切比雪夫距离 (Chebyshev Distance) 5实例
# -*- coding: UTF-8 -*-
import numpy as np
import operator
import collections
函数说明:创建数据集Parameters:无
Returns:group - 数据集labels - 分类标签
Modify:2017-07-13
def createDataSet():# 四组二维特征group np.array([[1, 101], [5, 89], [108, 5], [115, 8]])# 四组特征的标签labels [爱情片, 爱情片, 动作片, 动作片]return group, labels
函数说明:kNN算法,分类器Parameters:inX - 用于分类的数据(测试集)dataSet - 用于训练的数据(训练集)labes - 分类标签k - kNN算法参数,选择距离最小的k个点
Returns:sortedClassCount[0][0] - 分类结果def classify0(inx, dataset, labels, k):# 计算距离dist np.sum((inx - dataset) ** 2, axis1) ** 0.5# k个最近的标签k_labels [labels[index] for index in dist.argsort()[0: k]]# 出现次数最多的标签即为最终类别label collections.Counter(k_labels).most_common(1)[0][0]return labelif __name__ __main__:# 创建数据集group, labels createDataSet()# 测试集test [101, 20]# kNN分类test_class classify0(test, group, labels, 3)# 打印分类结果print(test_class)2、线性回归
1定义 利用回归方程(函数)对一个或多个自变量(特征值)和因变量(目标值)之间关系进行建模的一种分析方式。