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

网站开发专业就业前景商贸有限公司简介

网站开发专业就业前景,商贸有限公司简介,泉州专业网站建设,网站编程首先要做什么 一个垃圾邮件分类器算法为例#xff1a; 为了解决这样一个问题#xff0c;首先要做的决定是如何选择并表达特征向量 x。 可以选择一个由 100 个最常出现在垃圾邮件中的词所构成的列表#xff0c;根据这些词是否有在邮件中 出现#xff0c;来获得我们的特…首先要做什么  一个垃圾邮件分类器算法为例 为了解决这样一个问题首先要做的决定是如何选择并表达特征向量 x。 可以选择一个由 100 个最常出现在垃圾邮件中的词所构成的列表根据这些词是否有在邮件中 出现来获得我们的特征向量出现为 1不出现为 0尺寸为 100×1。  为了构建这个分类器算法我们可以做很多事例如  1. 收集更多的数据让我们有更多的垃圾邮件和非垃圾邮件的样本’  2. 基于邮件的路由信息开发一系列复杂的特征 3. 基于邮件的正文信息开发一系列复杂的特征包括考虑截词的处理  4. 为探测刻意的拼写错误把 watch 写成 w4tch开发复杂的算法。   在上面这些选项中非常难决定应该在哪一项上花费时间和精力作出明智的选择比随着感觉走要更好。 当我们使用机器学习时总是可以“头脑风暴”一下想出一堆方法来试试。实际上当你需要通过头脑风暴来想出不同方法来尝试去提高精度的时候你可能已经超越了很多人了。 我们将在随后的课程中讲误差分析 我会告诉你怎样用一个更加系统性的方法。从一堆不同的方法中选取合适的那一个。 因此你更有可能选择一个真正的好方法能让你花上几天几周甚至是几个月去进行深入的研究。  ————————————————————————————————————————————————————————— 误差分析Error Analysis  如果你准备研究机器学习的东西或者构造机器学习应用程序最好的实践方法不是建立一个非常复杂的系统拥有多么复杂的变量而是构建一个简单的算法这样你可以很快地实现它。  每当我研究机器学习的问题时 我最多只会花一天的时间 就是字面意义上的 24 小时来试图很快的把结果搞出来即便效果不好。坦白的说就是根本没有用复杂的系统但是只是很快的得到的结果。即便运行得不完美但是也把它运行一遍最后通过交叉验证来检验数据。 一旦做完你可以画出学习曲线通过画出学习曲线以及检验误差来找出你的算法是否有高偏差和高方差的问题或者别的问题。在这样分析之后再来决定用更多的数据训练或者加入更多的特征变量是否有用。 这么做的原因是这在你刚接触机器学习问题时是一个很好的方法 你并不能提前知道你是否需要复杂的特征变量 或者你是否需要更多的数据还是别的什么。提前知道你应该做什么是非常难的因为你缺少证据缺少学习曲线。因此你很难知道你应该把时间花在什么地方来提高算法的表现。 但是当你实践一个非常简单即便不完美的方法时你可以通过画出学习曲线来做出进一步的选择。 你可以用这种方式来避免一种电脑编程里的过早优化问题。 这种理念是 我们必须用证据来领导我们的决策怎样分配自己的时间来优化算法而不是仅仅凭直觉凭直觉得出的东西一般总是错误的。 除了画出学习曲线之外一件非常有用的事是误差分析我的意思是说当我们在构造垃圾邮件分类器时我会看一看我的交叉验证数据集 然后亲自看一看哪些邮件被算法错误地分类。 因此通过这些被算法错误分类的垃圾邮件与非垃圾邮件你可以发现某些系统性的规律什么类型的邮件总是被错误分类。经常地这样做之后这个过程能启发你构造新的特征变量或者告诉你现在这个系统的短处然后启发你如何去提高它。 构建一个学习算法的推荐方法为  1. 从一个简单的能快速实现的算法开始实现该算法并用交叉验证集数据测试这个算法; 2. 绘制学习曲线决定是增加更多数据或者添加更多特征还是其他选择 3. 进行误差分析 人工检查交叉验证集中我们算法中产生预测误差的实例 看看这些实例是否有某种系统化的趋势 。 当你在构造学习算法的时候你总是会去尝试很多新的想法实现出很多版本的学习算法如果每一次你实践新想法的时候你都要手动地检测这些例子去看看是表现差还是表现好那么这很难让你做出决定。到底是否使用词干提取是否区分大小写。 但是通过一个量化的数值评估你可以看看这个数字误差是变大还是变小了。你可以通过它更快地实践你的新想法它基本上非常直观地告诉你你的想法是提高了算法表现还是让它变得更坏 这会大大提高你实践算法时的速度。  所以我强烈推荐在交叉验证集上来实施误差分析而不是在测试集上。但是还是有一些人会在测试集上来做误差分析。即使这从数学上讲是不合适的。所以我还是推荐你在交叉验证向量上来做误差分析。  总结一下 当你在研究一个新的机器学习问题时 我总是推荐你实现一个较为简单快速、即便不是那么完美的算法。我几乎从未见过人们这样做。大家经常干的事情是花费大量的时间在构造算法上构造他们以为的简单的方法。 因此不要担心你的算法太简单或者太不完美而是尽可能快地实现你的算法。当你有了初始的实现之后它会变成一个非常有力的工具 来帮助你决定下一步的做法。因为我们可以先看看算法造成的错误 通过误差分析来看看他犯了什么错然后来决定优化的方式。 另一件事是假设你有了一个快速而不完美的算法实现又有一个数值的评估数据这会帮助你尝试新的想法快速地发现你尝试的这些想法是否能够提高算法的表现从而你会更快地做出决定在算法中放弃什么吸收什么。误差分析可以帮助我们系统化地选择该做什么。  ————————————————————————————————————————————————————————— 类偏斜的误差度量Error Metrics for Skewed Classes 有一件重要的事情要注意 就是使用一个合适的误差度量值 这有时会对于你的学习算法造成非常微妙的影响这件重要的事情就是偏斜类skewed classes的问题。 类偏斜情况表现为训练集中有非常多的同一种类的实例只有很少其他类的实例。 例如预测癌症是否恶性在训练集中只有 0.5%的实例是恶性肿瘤。 假设编写一个非学习而来的算法在所有情况下都预测肿瘤是良性的那么误差只有 0.5%。 然而通过训练而得到的神经网络算法却有 1%的误差。 这时误差的大小是不能视为评判算法效果的依据的。 将算法预测的结果分成四种情况  1. 正确肯定True Positive,TP预测为真实际为真  2. 正确否定True Negative,TN预测为假实际为假  3. 错误肯定False Positive,FP预测为真实际为假  4. 错误否定False Negative,FN预测为假实际为真 查准率Precision和查全率Recall 查准率TP/TPFP例 在所有我们预测有恶性肿瘤的病人中实际上有恶性肿瘤的病人的百分比越高越好。  查全率TP/TPFN例在所有实际上有恶性肿瘤的病人中成功预测有恶性肿瘤的病人的百分比越高越好。  ————————————————————————————————————————————————————————————————————————————— 查全率和查准率之间的权衡Trading Off Precision and Recall 作为偏斜类问题的评估度量值在很多应用中我们希望能够保证查准率和召回率的相对平衡。  假使算法输出的结果在 0-1 之间使用阀值 0.5 来预测真和假。 查准率PrecisionTP/TPFP 例在所有预测为恶性肿瘤的病人中实际上有恶性肿瘤的病人的百分比越高越好。  查全率RecallTP/TPFN例在所有实际上有恶性肿瘤的病人中成功预测有恶性肿瘤的病人的百分比越高越好。  如果我们希望只在非常确信的情况下预测为真肿瘤为恶性即我们希望更高的查准率我们可以使用比 0.5 更大的阀值如 0.70.9。这样做我们会减少错误预测病人为恶性肿瘤的情况同时却会增加未能成功预测肿瘤为恶性的情况。  如果我们希望提高查全率尽可能地让所有有可能是恶性肿瘤的病人都得到进一步地检查、诊断我们可以使用比 0.5 更小的阀值如 0.3。  我们可以将不同阀值情况下 查全率与查准率的关系绘制成图表 曲线的形状根据数据的不同而不同  我们希望有一个帮助我们选择这个阀值的方法。 一种方法是计算 F1 值F1 Score其计算公式为 我们选择使得 F1值最高的阀值。  ————————————————————————————————————————————————————————— 机器学习的数据Data For Machine Learning 讨论一下机器学习系统设计中另一个重要的方面用来训练的数据有多少。 得到大量的数据并在某种类型的学习算法中进行训练 可以是一种有效的方法来获得一个具有良好性能的学习算法。 而这种情况往往出现在这些条件对于你的问题都成立并且你能够得到大量数据的情况下。 这可以是一个很好的方式来获得非常高性能的学习算法。 事实上如果你选择任意一个算法可能是选择了一个劣等的算法如果你给这个劣等算法更多的数据那么从这些例子中看起来的话它看上去很有可能会其他算法更好甚至会比优等算法更好。由于这项原始的研究非常具有影响力因此已经有一系列许多不同的研究显示了类似的结果。这些结果表明许多不同的学习算法有时倾向于非常相似的表现这还取决于一些细节但是真正能提高性能的是你能够给一个算法大量的训练数据。 像这样的结果引起了一种在机器学习中的普遍共识取得成功的人不是拥有最好算法的人而是拥有最多数据的人。 那么这种说法在什么时候是真 什么时候是假呢因为如果我们有一个学习算法并且如果这种说法是真的那么得到大量的数据通常是保证我们具有一个高性能算法的最佳方式 而不是去争辩应该用什么样的算法。 那么让我们来看一看 大量的数据是有帮助的情况。 假设特征值有足够的信息来预测 y 值假设我们使用一种需要大量参数的学习算法比如有很多特征的逻辑回归或线性回归或者用带有许多隐藏单元的神经网络。 这些都是非常强大的学习算法它们有很多参数这些参数可以拟合非常复杂的函数。因此我要调用这些我将把这些算法想象成低偏差算法因为我们能够拟合非常复杂的函数而且因为我们有非常强大的学习算法这些学习算法能够拟合非常复杂的函数。很有可能如果我们用这些数据运行这些算法这种算法能很好地拟合训练集因此训练误差就会很低了。 现在假设我们使用了非常非常大的训练集在这种情况下尽管我们希望有很多参数但是如果训练集比参数的数量还大甚至是更多那么这些算法就不太可能会过度拟合。也就是说训练误差有希望接近测试误差。  另一种考虑这个问题的角度是为了有一个高性能的学习算法 我们希望它不要有高的偏差和方差。  因此偏差问题 我么将通过确保有一个具有很多参数的学习算法来解决 以便我们能够得到一个较低偏差的算法并且通过用非常大的训练集来保证 我们在此没有方差问题我们的算法将没有方差。通过这两个方面我们最终可以得到一个低误差和低方差的学习算法。 这使得我们能够很好地测试测试数据集。  从根本上来说这是一个关键的假设特征值有足够的信息量且我们有一类很好的函数这是为什么能保证低误差的关键所在。它有大量的训练数据集这能保证得到更多的方差值因此这给我们提出了一些可能的条件如果你有大量的数据而且你训练了一种带有很多参数的学习算法那么这将会是一个很好的方式来提供一个高性能的学习算法。  我觉得关键的测试 首先 一个人类专家看到了特征值 x 能很有信心的预测出 y 值吗 因为这可以证明 y 可以根据特征值 x 被准确地预测出来。 其次我们实际上能得到一组庞大的训练集 并且在这个训练集中训练一个有很多参数的学习算法吗 如果你能做到这两者那么更多时候你会得到一个性能很好的学习算法。
http://www.zqtcl.cn/news/86903/

相关文章:

  • 东莞做创意网站建站行业新闻
  • 网站注册系统源码营销网站建设解决方案
  • 徐州金桥建设监理有限公司网站wordpress教程视频 下载
  • 网站的站点地图设计怎么用html做个人的网页
  • 蔬菜类网站建设规划书清远市网站建设公司
  • 怎么做垂直网站手机企业网站制作流程
  • 天津平台网站建设推荐网站空间ftp
  • 代理彩票网站做链接wordpress运行
  • 做视频上传多少个网站西安做网站公司那家好
  • wordpress收费会员seo搜索优化专员
  • 国外私人网站什么平台可以找客源
  • 企业网站必须备案仿 wordpress主题
  • php能自己做网站吗做关键词排名好的公司
  • 湖州网站建设制作网站可视化后台
  • ppt的免费网站wordpress微云解析插件
  • 怎么学做淘宝免费视频网站wordpress标签手册
  • 宁波信誉好品牌网站设计地址一个链接打开是表白
  • 兼职网站建设 开源泉州个人建站模板
  • 深圳专业网站建百度点击软件
  • 湛江网站开发公司抖音关键词排名查询
  • 保健品网站建设流程成都网站建设的公司哪家好
  • 做明星简介网站侵权吗seo是做网站源码还是什么
  • 赤峰网站建设赤峰搜索引擎排名优化方案
  • 衡阳县住房和城乡建设局网站网站后台怎么做超链接
  • 响应式网站 768 320视频拍摄器材
  • 旅游精品网站建设西安网络建设公司
  • 自己怎么做商城网站吗沈阳工程信息
  • 网站建设柚子网络科技多品牌网站建设
  • 怀化招标网站印度喜欢用什么框架做外贸网站
  • python 开发手机网站开发优质国外网站