误差函数

【机器学习】算法原理详细推导与实现(一):线性回归

匿名 (未验证) 提交于 2019-12-02 23:42:01
【机器学习】算法原理详细推导与实现(一):线性回归 今天我们这里要讲第一个有监督学习算法,他可以用于一个回归任务,这个算法叫做 线性回归 房价预测 假设存在如下 m 组房价数据: 面积(m^2) 价格(万元) 82.35 193 65.00 213 114.20 255 75.08 128 75.84 223 ... ... 通过上面的数据,可以做出如下一个图。横坐标是 面积(m^2) ,纵坐标是 价格(万元) : 那么问题来了,给你这样一组数据,或者给你这样一个训练数据的集合,能否预测房屋的面积大小和房价之间的关系? 构建函数 存在如下符号假设: m 为训练数据 x 为输入特征,即房子的大小 y 为输出结果,即房子的价格 (x, y) 为一个样本,即表格中一行代表一个训练样本 \((x^{(i)}, y^{(i)})\) 为第 i 个训练样本 在监督学习中,我们一般会这样做: 首先找到一个训练集合 提供样本 m 给算法构建学习函数 算法会生成一个学习函数,用 \(h(x)\) 表示 给学习函数提供足够的样本$x$,由此输出结果$y$ 学习函数 graph TD A[训练集合]--"样本m"-->B[学习函数] B[学习函数]--"生成"-->C["h(x)"] 训练函数 graph LR A[输入]--"面积(m^2)"-->B["h(x)"] B["h(x)"]--"价格(万元

读周志华《机器学习》个人读书笔记

匿名 (未验证) 提交于 2019-12-02 22:56:40
机器学习所研究的内容:是关于在计算机上通过数据产生“模型”的算法,即为“学习算法”(learning algorithm)。 “模型”指的就是学习所得的结果。 从数据中学得模型的过程称为“学习”或“训练”。 预测的若为离散值,此类学习任务称为“分类”(classification)若为连续值,此类学习任务称之为“回归”(regression)。涉及到两个类别的“二分类”(binary classification)任务,其中一个为“正类”(posive class),另一个为“反类”(negative class)。 根据训练数据是否拥有标记信息,学习任务分为:“监督学习”(supervise learning)和“无监督学习”(unsupervised learning)。分类回归是前者的代表,聚类(clustering)是后者的代表。 学得的模型适用于新样本的能力,称为“泛化”(generalization)能力。 归纳(induction)和演绎(deduction)。 归纳是从特殊到一般的泛化过程,即为从具体的事实中总结出一般的规律。演绎是从一般到特殊的“特化”(specialization)过程,即从基础原理推演出具体状况。 归纳学习有广义和狭义之分,广义的归纳学习相当于从样例中学习,而狭义的归纳学习则要求从训练数据中学得概念,又称为“概念学习”或“概念形成”。

10、应用机器学习的建议(Advice for Applying Machine Learning)

故事扮演 提交于 2019-12-02 03:34:17
10.1 决定下一步做什么   到目前为止,我们已经介绍了许多不同的学习算法,如果你一直跟着这些视频的进度学习,你会发现自己已经不知不觉地成为一个了解许多先进机器学习技术的专家了。   然而,在懂机器学习的人当中依然存在着很大的差距,一部分人确实掌握了怎样高效有力地运用这些学习算法。而另一些人他们可能对我马上要讲的东西,就不是那么熟悉了。他们可能没有完全理解怎样运用这些算法。因此总是把时间浪费在毫无意义的尝试上。我想做的是确保你在设计机器学习的系统时,你能够明白怎样选择一条最合适、最正确的道路。因此,在这节视频和之后的几段视频中,我将向你介绍一些实用的建议和指导,帮助你明白怎样进行选择。具体来讲,我将重点关注的问题是假如你在开发一个机器学习系统,或者想试着改进一个机器学习系统的性能,你应如何决定接下来应该选择哪条道路?   为了解释这一问题,我想仍然使用预测房价的学习例子,假如你已经完成了正则化线性回归,也就是最小化代价函数𝐽的值,假如,在你得到你的学习参数以后,如果你要将你的假设函数放到一组新的房屋样本上进行测试,假如说你发现在预测房价时产生了巨大的误差,现在你的问题是要想改进这个算法,接下来应该怎么办?   实际上你可以想出很多种方法来改进这个算法的性能,其中一种办法是使用更多的训练样本。具体来讲,也许你能想到通过电话调查或上门调查来获取更多的不同的房屋出售数据。遗憾的是

9、神经网络的学习

孤者浪人 提交于 2019-12-01 12:44:53
九、神经网络的学习(Neural Networks: Learning) 9.1 代价函数 参考视频: 9 - 1 - Cost Function (7 min).mkv 首先引入一些便于稍后讨论的新标记方法: 假设神经网络的训练样本有 m个,每个包含一组输入 x 和一组输出信号 y , L 表示神经网络层数 S I 表示每层的neuron个数( S l 表示输出层神经元个数), S L 代表最后一层中处理单元的个数。 将神经网络的分类定义为两种情况:二类分类和多类分类, 二类分类: S L = 0 , y = 0 o r S L =1,y=1各表示一类; K 类分类:S L = k , y i = 1 SL=k,yi=1表示分到第 i 类; ( k > 2 ) 我们回顾逻辑回归问题中我们的代价函数为: 在逻辑回归中,我们只有一个输出变量,又称标量(scalar),也只有一个因变量 y ,但是在神经网络中,我们可以有很多输出变量,我们的 hθ(x)是一个维度为 K 的向量,并且我们训练集中的因变量也是同样维度的一个向量 ,因此我们的代价函数会比逻辑回归更加复杂一些,为: h θ ( x ) ∈ R K ,( h θ (x)) i = i t h output 这个看起来复杂很多的代价函数背后的思想还是一样的,我们希望通过代价函数来观察算法预测的结果与真实情况的误差有多大

test

℡╲_俬逩灬. 提交于 2019-11-29 21:56:52
PATTERN RCOGNITION AND MACHINE LEARNING(PRML) Introduction 引言: ​ 从一堆数据中挖掘一些可用的数据规则是由古至今科学家一直研究的问题,它有着悠久而成功的历史。 例如,16世纪对天文的广泛观测,使约翰内斯·开普勒发现了行星运动的三大定律,从而对古典力学的发展有了一定的促进作用。同样,在20世纪,原子光谱规律的发现,对早期量子物理学的发展发挥了关键作用。在计算机中, 模式识别领域是通过计算机算法自动发现数据中的规律,并利用这些规律采取行动,如将数据分类到不同的类别. ​ 例如识别手写数字的例子,如图1.1所示。 每个数字对应一个28×28像素的图像,因此可以用包含784个实数的向量x表示。 我们的目标是建立一个机器算法,它将以这样一个向量x作为输入,并将产生数字0到 9作为输出。 这是一个非常重要的问题,因为笔迹的多样性很大。 我们可以根据手工的方式或者启发式的方案,根据笔画的形状来区分数字 ,但在实践中,这种方法会导致规则和规则例外的激增,导致结果总是不好. ​ 采用机器学习的方法可以得到更好的结果,其中一个大的集合{x1,…, xN}称为训练集,用于调整自适应模型的参数。 训练集中数字的类别是预先知道的,通常通过逐个检查并手工标记它们。 我们可以用目标向量t表示一个数字的类别,它表示对应数字的特定输出。

传统推荐算法(五)LR+GBDT(1)剑指GBDT

大城市里の小女人 提交于 2019-11-28 05:55:27
文章目录 写在前面 1. GBM 1.1 从参数空间到函数空间: 1.2 从非参估计到参数估计 1.3 泰勒展开近似 2. GBM的基学习器 2.1 基学习器选择 2.2 CART回归树 3. GBDT之回归 4. GBDT之分类 4.1 二类逻辑回归和分类 4.2 多类逻辑回归和分类 5. 反思总结 5.1 样本权重调整 5.2 GBDT优缺点 6. GBDT资料推荐 参考 公众号 写在前面 学习GBDT的时候,被网上的几篇文章搞晕了,就去看了下GBDT的论文,整理了一些思路,结合参考中的一些内容,整理了这篇文章。本文将循序渐进,从GB,DT讲到GBDT,细致分析下GBDT的原理。本人才疏学浅,有些地方可能理解得不对,欢迎指出错误。学习过程中,薛大佬的这篇文章给了我很多启发:http://xtf615.com/paper/GBM.html。他本人也很热心地帮我解答疑问,在此特别感谢。 机器学习中的 Boosting 算法族有两大类,一类是 weight_boosting,其中以 adaboost 为主要代表,另一类是 gradient_boosting,其中以 gbdt 为主要代表[1]。GBDT是机器学习竞赛中常用的一种算法,据统计,Kaggle比赛中50%以上的冠军方案都是基于GBDT算法[2]。有人称之为机器学习TOP3算法。 1999年,Jerome Harold

机器学习——SVM

不打扰是莪最后的温柔 提交于 2019-11-27 22:03:05
文章目录 SVM介绍 SVM理论 线性可分性(linear separability) 损失函数(loss function) 经验风险(empirical risk)与结构风险(structural risk) 核方法 常见的核函数 核函数与松弛变量 问题描述 解答与分析 SVM算法步骤 问题 解答与分析 其他扩展问题 其他参考 SVM(Support Vector Machine, 支持向量机)是众多监督式学习方法中十分出色的一种,几乎所有的讲述经典机器学习方法的教材都会介绍。 SVM介绍 支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行二元分类(binary classification)的广义线性分类器(generalized linear classifier),其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane)。 SVM使用铰链损失函数(hinge loss)计算经验风险(empirical risk)并在求解系统中加入了正则化项以优化结构风险(structural risk),是一个具有稀疏性和稳健性的分类器。SVM可以通过核方法(kernel method)进行非线性分类,是常见的核学习(kernel learning)方法之一

[转]机器学习资料(非常好理解)

天大地大妈咪最大 提交于 2019-11-26 16:55:52
先从回归(Regression)问题说起。我在本吧已经看到不少人提到如果想实现强AI,就必须让机器学会观察并总结规律的言论。具体地说,要让机器观察什么是圆的,什么是方的,区分各种颜色和形状,然后根据这些特征对某种事物进行分类或预测。其实这就是回归问题。 如何解决回归问题?我们用眼睛看到某样东西,可以一下子看出它的一些基本特征。可是计算机呢?它看到的只是一堆数字而已,因此要让机器从事物的特征中找到规律,其实是一个如何在数字中找规律的问题。 例:假如有一串数字,已知前六个是1、3、5、7,9,11,请问第七个是几? 你一眼能看出来,是13。对,这串数字之间有明显的数学规律,都是奇数,而且是按顺序排列的。 那么这个呢?前六个是0.14、0.57、1.29、2.29、3.57、5.14,请问第七个是几? 这个就不那么容易看出来了吧!我们把这几个数字在坐标轴上标识一下,可以看到如下图形: 用曲线连接这几个点,延着曲线的走势,可以推算出第七个数字——7。 由此可见,回归问题其实是个曲线拟合(Curve Fitting)问题。那么究竟该如何拟合?机器不可能像你一样,凭感觉随手画一下就拟合了,它必须要通过某种算法才行。 假设有一堆按一定规律分布的样本点,下面我以拟合直线为例,说说这种算法的原理。 其实很简单,先随意画一条直线,然后不断旋转它。每转一下,就分别计算一下每个样本点和直线上对应点的距离

[转帖]一文搞懂神经网络

北战南征 提交于 2019-11-26 07:35:58
一文搞懂神经网络 人工智能是这几年非常火的技术,上至九十九下至刚会走都对人工智能或多或少的了解。神经网络是人工智能的核心,也就是说没有神经网络就没有人工智能,那么这篇文章就带大家学习一下神经网络相关的知识。这篇文章没有数学公式、没有代码,旨在帮助读者快速掌握神经网络的核心知识。 https://ai.51cto.com/art/201911/606086.htm 【51CTO.com原创稿件】人工智能是这几年非常火的技术,上至九十九下至刚会走都对人工智能或多或少的了解。神经网络是人工智能的核心,也就是说没有神经网络就没有人工智能,那么这篇文章就带大家学习一下神经网络相关的知识。这篇文章没有数学公式、没有代码,旨在帮助读者快速掌握神经网络的核心知识。 一、什么神经网络 概念 所谓神经网络简单说就是包含多个简单且高度相连的元素的系统,每个元素都会根据输入来处理相关信息。神经网络是由节点(神经元)组成,这些节点相互链接,信息传入到输入层之后由多个隐藏层进行处理,处理完后再传递给输出层进行最终处理。这里所说的最终处理有可能是输出结果,也有可能是作为输入数据传入到另外的神经网络或者节点进行下一轮的处理。 在上面的内容中我们多次提到节点,那么什么是节点呢?节点也被称为神经元,是一个神经网络的基本单元。它通过接收输入的数据来计算出应该输出的数据,输入的数据可能来自于其他节点或者是外部的输入源

[转帖]一文搞懂神经网络

て烟熏妆下的殇ゞ 提交于 2019-11-26 07:23:29
一文搞懂神经网络 人工智能是这几年非常火的技术,上至九十九下至刚会走都对人工智能或多或少的了解。神经网络是人工智能的核心,也就是说没有神经网络就没有人工智能,那么这篇文章就带大家学习一下神经网络相关的知识。这篇文章没有数学公式、没有代码,旨在帮助读者快速掌握神经网络的核心知识。 https://ai.51cto.com/art/201911/606086.htm 【51CTO.com原创稿件】人工智能是这几年非常火的技术,上至九十九下至刚会走都对人工智能或多或少的了解。神经网络是人工智能的核心,也就是说没有神经网络就没有人工智能,那么这篇文章就带大家学习一下神经网络相关的知识。这篇文章没有数学公式、没有代码,旨在帮助读者快速掌握神经网络的核心知识。 一、什么神经网络 概念 所谓神经网络简单说就是包含多个简单且高度相连的元素的系统,每个元素都会根据输入来处理相关信息。神经网络是由节点(神经元)组成,这些节点相互链接,信息传入到输入层之后由多个隐藏层进行处理,处理完后再传递给输出层进行最终处理。这里所说的最终处理有可能是输出结果,也有可能是作为输入数据传入到另外的神经网络或者节点进行下一轮的处理。 在上面的内容中我们多次提到节点,那么什么是节点呢?节点也被称为神经元,是一个神经网络的基本单元。它通过接收输入的数据来计算出应该输出的数据,输入的数据可能来自于其他节点或者是外部的输入源