网站设置请求桌面网站wordpress防止cc

当前位置: 首页 > news >正文

网站设置请求桌面网站,wordpress防止cc,简单的响应式网页,邢台市是几线城市前言 机器学习#xff08;Machine Learning, ML#xff09;是一个总称#xff0c;用于解决由各位程序员自己基于 if-else 等规则开发算法而导致成本过高的问题#xff0c;想要通过帮助机器 「发现」 它们 「自己」 解决问题的算法来解决 #xff0c;而不需要程序员将所有…前言 机器学习Machine Learning, ML是一个总称用于解决由各位程序员自己基于 if-else 等规则开发算法而导致成本过高的问题想要通过帮助机器 「发现」 它们 「自己」 解决问题的算法来解决 而不需要程序员将所有规则都输入机器明确告诉机器该怎么做。 机器学习概念 机器学习的核心是“使用算法解析数据从中学习然后对新数据做出决定或预测”。也就是说计算机利用以获取的数据得出某一模型然后利用此模型进行预测的一种方法这个过程跟人的学习过程有些类似比如人获取一定的经验可以对新问题进行预测。
可以看到神经网络只是机器学习中的一部分除了神经网络机器学习还有着许多其他的算法。机器学习在多年的发展中逐步丰富已经被人们开发出了许多中算法 K 近邻KNNK 均值K-Means支持向量机SVM随机森林RandomForest逻辑回归Logistic Regression神经网络Neural Network其它 机器学习的分类 机器学习按照学习的方式可以分为 有监督学习通常指的是所有数据都含有特征 X 和标签 Y有标准答案指导机器进行学习无监督学习指的是只有特征 X没有特定的标签 Y设计一定的规则让机器进行学习半监督学习指的是所有数据都有特征 X但一部分数据含有标签 Y一部分没有需要通过联合没有标签和有标签的数据进行学习强化学习指的是可以通过外界或人为规定的奖励来指导机器进行下一步的行为。 无监督学习:例如聚类的算法,即把特征值相同的归为一类,或者降维 半监督学习: 一般通过聚类算法把无标签特征值和有标签特征值相同归为一类,并打上标签.然后使用有监督的学习方式学习 强化学习: 某种意义上也可以理解为一定的有监督但其又不是完全将奖励值作为学习目标并且一般是实时的基于概率去抽样下一步行为的所以又有着一定的区别。,例如阿尔法围棋和无人驾驶 按照工作的方式可以分为 批量学习离线学习Batch Learning输入大量学习资料机器学习算法学习训练出模型将模型投入到生产中模型不会发生变化 优点简单只需要学习一次算法就可以在生产过程中不需要修改模型缺点无法随着环境变化而变化模型解决方案定时重新批量学习但是每次重新批量学习时运算量巨大在某些环境变化非常快的情况下甚至是不可能的 在线学习Online Learning机器学习算法的流程不变只不过每次输入样例时能够获取正确结果并将此结果给到机器学习算法改进模型不断循环 优点及时反映新的环境变化缺点新的数据带来不好的变化新的数据不准确、质量不高带来不好的变化错误的结果解决方案需要加强对数据进行监控及时对异常数据进行检测其他也适用于数据量巨大完全无法批量学习的环境。
对于算法模型本身分类 参数学习:对数据概率分布进行建模有一种最为直接的方法就是先假设这个分布是服从某个特定分布的比如高斯分布泊松分布等等当然这些分布中有些未知参数需要我们求得而这些参数也正是决定了这个分布的形状的.求解通常根据现有的样本数据集进行这个参数集 Θ \Theta Θ是一个有限的集合. 推出一个结论就是在参数化模型的框架下无论我接下来观察到多少数量的数据哪怕是无限多个数据我模型的参数量都只有固定数量多个那便是 Θ \Theta Θ。也就是说用有界的参数量复杂度对无界的数据量的数据分布进行了建模。 非参数学习:和参数化模型截然相反的是对数据分布不进行任何的假设只是依赖于观察数据对其进行拟合。换句话说其认为数据分布不能通过有限的参数集 Θ \Theta Θ进行描述但是可以通过无限维度的参数 Θ \Theta Θ进行描述无限维度也就意味着其本质就是一个函数 f ( . ) ∈ R ∞ f(.) \in \R^\infty f(.)∈R∞. 通常实际中的模型是对这个无限维度参数集的近似比如神经网络中的参数虽然参数量通常很大也有万有拟合理论保证其可以拟合函数但是其只是对无限维度数据的近似而已。由于非参数化模型依赖于观察数据因此参数集 Θ \Theta Θ能捕获到的信息量随着观察数据集的数量增加而增加这个使得模型更加灵活。
机器学习的应用 机器学习的不同模型解决不同应用场景的问题
分类是我们知道有哪些组然后对数据进行判断判断这些数据到底是预先知道的那些组。举个很简单的例子比如我们在军训排队时要求男生一组女生一组这就是一种分类我们提前知道要分那些组然后通过一种算法对输入的数据判定来分类到已知的类别下这个就是分类,所以分类属于监督学习方法聚类是实现不知道这批数据有哪些类别或标签然后通过算法的选择分析数据参数的特征值然后进行机器的数据划分把相似的数据聚到一起所以它是无监督学习回归在统计学角度指的是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。回归分析按照涉及的变量的多少分为一元回归和多元回归分析按照因变量的多少可分为简单回归分析和多重回归分析按照自变量和因变量之间的关系类型可分为线性回归分析和非线性回归分析。它是对有监督的连续数据结果的预测比如通过一个人过去年份工资收入相关的影响参数建立回归模型然后通过相关的参数的变更来预测他未来工资收入。降维就是去除冗余的特征降低特征参数的维度降低用更加少的维度来表示特征 学习环境 语言:Python3框架:scikit-learn,基于 SciPy 构建的机器学习 Python 模块IDE: jupyter Notebook 可以图形输出,文档编写其它: matolotlib 画图工具,numpy科学计算的基础库 K近邻 我们通过“ K近邻”算法,来了解机器学习的流程. 学习算法原理 K近邻算法即是给定一个训练数据集对新的输入实例在训练数据集中找到与该实例最邻近的K个实例这K个实例的多数属于某个类就把该输入实例分类到这个类中。 如上图所示有两类不同的样本数据分别用蓝色的小正方形和红色的小三角形表示而图正中间的那个绿色的圆所标示的数据则是待分类的数据。 如果K3绿色圆点的最邻近的3个点是2个红色小三角形和1个蓝色小正方形少数从属于多数基于统计的方法判定绿色的这个待分类点属于红色的三角形一类。 距离的度量 定义中所说的最邻近是如何度量呢我们怎么知道谁跟测试点最邻近。这里就会引出我们几种度量俩个点之间距离的标准。
特征归一化 首先举例如下我用一个人身高(cm)与脚码尺码大小来作为特征值类别为男性或者女性。我们现在如果有5个训练样本分布如下 A [(179,42),男] B [(178,43),男] C [(165,36)女] D [(177,42),男] E [(160,35),女] 很容易看到第一维身高特征是第二维脚码特征的4倍左右那么在进行距离度量的时候我们就会偏向于第一维特征。这样造成俩个特征并不是等价重要的最终可能会导致距离计算错误从而导致预测错误。 所以我们应该让每个特征都是同等重要的,归一化公式如下 方法一最小-最大规范化0-1归一化方法二零-均值规范化z-score标准化 对一个数值特征来说很大可能它是服从正态分布的。标准化将这个正态分布调整为均值为0方差为1的标准正态分布而已.更好保持了样本间距.当样本中有异常点时归一化有可能将正常的样本“挤”到一起去。 超参数K k如何选值,如果我们选取较小的k值那么就会意味着我们的整体模型会变得复杂容易发生过拟合 上图中有俩类一个是黑色的圆点一个是蓝色的长方形现在我们的待分类点是红色的五边形。很容易我们能够看出来五边形离黑色的圆点最近k又等于1那太好了我们最终判定待分类点是黑色的圆点。 相反,如果我们选取较大的k值(k15), 同样待分类点也是黑色 k值既不能过大也不能过小.通常采取交叉验证法来选取最优的k值.k也被称为超参数 同相的距离公式中的p,也是要通过实验来验证,也是超参数 相对的还有模型参数,即算法运算过程中学习的参数 流程实施

导入库

import numpy as np

加载莺尾花数据集

from sklearn import datasets

导入KNN分类器

from sklearn.neighbors import KNeighborsClassifier from sklearn.model_selection import train_test_split## 数据导入

导入莺尾花数据集

iris datasets.load_iris()X iris.data y iris.target# 得到训练集合和验证集合, 8: 2 X_train, X_test, y_train, y_test train_test_split(X, y, test_size0.2)## 模型训练,参数的意思是使用欧式距离k5 clf KNeighborsClassifier(n_neighbors5, p2, metricminkowski)

使用训练集合,训练数据

clf.fit(X_train, y_train)## 模型预测,把测试集数据转入得到预测结果 X_pred clf.predict(X_test)

预测结果传入得到准确率

acc sum(X_pred y_test) / X_pred.shape[0] print(预测的准确率ACC: %.3f % acc)业务场景分析就是将我们的业务需求、使用场景转换成机器学习的需求语言然后分析数据选择算法的过程。这个是机器学习的准备阶段主要包括以下3点 业务抽象:莺尾花图区分 数据准备:提取莺尾花的特征 选择算法:使用KNN算法。 数据处理就是数据的选择和清洗的过程数据准备好后确定了算法确定了需求就需要对数据进行处理数据处理的目的就是尽可能降低对算法的干扰。在数据处理中我们会经常用到 去噪 : 将数据分成训练和测试集, 然后通过调节超参数,选出准确率是高的 归一: 将数据统一标准化 特征工程就是对处理完成后的数据进行特征提取转换成算法模型可以使用的数据。
主要参考 《如何入门机器学习有哪些值得分享的学习心得》 《Jupyter Notebook介绍、安装及使用教程》 《什么是机器学习》 《一文搞懂k近邻k-NN算法一》 《python/scikit-learn 机器学习实战 原理/代码KNN (K近邻算法》