欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

机器学习入门(一)

程序员文章站 2024-01-14 19:25:34
...

第一次接触,在网上搜了些资料,把自己能看懂和觉得写的不错的贴上来,供参考。前面两大点是知乎上的两个长篇,个人觉得写的很好(主要是对我这小白看得懂(ˉ▽ˉ;)),后面几大点是一些概念解释。

另外,网易公开课上的斯坦福大学的机器学习公开课可以看看,一共20节,每节1小时。看了一节课,讲的还是很通俗易懂的,我这种把上学的时候学的内容都忘的差不多的,不知道后面涉及数学的部分听不听得懂,慢慢看。

一、

https://www.zhihu.com/question/29271217?sort=created

机器学习为什么需要训练,训练出来的模型具体又是什么?

1、

25 人赞同了该回答

很久没从事专业相关工作,尽力说一下自己的理解,可能有些表述不是特别精确,烦请指正并见谅。

先从有监督问题谈起,形式上,无论解析还是非解析,有监督问题都可看作根据已知数据在全体映射空间机器学习入门(一)中寻找最优映射机器学习入门(一),其中机器学习入门(一)为输入,机器学习入门(一)为输出。寻找符合已知数据的映射很简单,难点在于理论上来说,未知输入等可能对应任意输出,这样一来预测则成为无稽之谈(No Free Lunch)。
举个例子,求解找规律题目“1, 2, 3, 4, ( ), 6”,一般人都会在括号里填5。然而理论
上来说这个括号里可以是任意数字,比如4。不知道大家是否考虑过凭什么“每次增1”是规律
而“先增三次1然后保持不变然后再持续增1”就不可以是规律。那是因为我们不知不觉中使用了
题目并未给出的一些前提假设,比如奥卡姆剃刀原则,“每次增1”看起来明显比后者更简洁优
雅,更容易被人接受。

解释这个概念就不能不提到Inductive Bias,意指在求解学习问题前必须拥有的一系列前提假设。当我们选定一个广义上的model,其实可以看作选定了一组inductive bias。特定的model/inductive bias可以在浩瀚的全体映射空间机器学习入门(一)中圈定出一个子空间机器学习入门(一),然后通过inductive bias提供的方式(一般为某种loss function)寻找符合已知数据的model参数,从而又在机器学习入门(一)中进一步缩小搜索范围直至确定最优次优映射机器学习入门(一)(机器学习入门(一)可能本不在机器学习入门(一)中)。

机器学习入门(一)
所以应了那句话,“All models are wrong, but some are useful.” 得出什么样的答案,很大程度上取决于我们使用什么样的假设。

那么此问题的答案是:模型是求解学习问题的一系列前提假设/inductive bias,根据已知数据寻找模型参数的过程就是训练,最终搜索到的映射机器学习入门(一)被称为训练出来的模型。


注:

1. 这里所谓的“最优”,“次优”,“符合”等描述是根据预先设定好的测量标准/目标函数进行
阐释的,属于model/inductive bias的一部分。

2. 之所以说“广义上的model”,是因为一般形式上会对prior distribution,model(实际指映射
表达式)以及loss function等进行区分,这里为方便阐述,不加区分的算成广义上
的model,因其均为inductive bias。


无监督问题大致上也类似,前提假设甚至会表现得更为明显,有一则段子:

@南大周志华
“聚类的故事:老师拿来苹果和梨,让小朋友分成两份。小明把大苹果大梨放一起,小个头的放一起,老师点头,恩,体量感。小芳把红苹果挑出来,剩下的放一起,老师点头,颜色感。小武的结果?不明白。小武掏出眼镜:最新款,能看到水果里有几个籽,左边这堆单数,右边双数。老师很高兴:新的聚类算法诞生了”

PS: 人类的各种错觉,比如视错觉,也可看成是一系列人脑硬编码的inductive bias,用以辅助学习方便解决现实问题,所以各假设都具有其对应的适用范围。

参考:
机器学习物语(1):世界观设定 « Free Mind
Inductive bias
University of Edinburgh MLPR 2012 Lecture - Introduction


2、

41 人赞同了该回答

张之诗 邀。我用两个分类的例子简单说明下,有错误的地方还请指出。

假设现在我们要开发一个识别鸟类的计算机程序。我们已经收集了很多鸟类样本数据,比如下面这样:

机器学习入门(一)(图片和例子来自机器学习实战

这个识别鸟类的程序要完成的功能:输入一只鸟的“体重”、“翼展”、“有/无脚蹼”、“后背颜色”,输出这只鸟的种类。

换句话说,这是一个分类系统。

怎么让计算机帮助我们对鸟类进行分类?这就需要使用机器学习的方法。机器学习可以让计算机从已有的数据(上面收集的已经有分类信息的鸟类样本数据)中学习出新的知识(如何对鸟进行分类)。

那么什么是训练?在这个例子里,训练指的就是利用收集的鸟类样本数据让计算机学习如何对鸟类进行分类这一过程。

已有类别信息的鸟类样本数据集合,称为训练数据集、训练集。训练的目的是让计算机程序知道“如何进行分类”。

至于“训练的是什么”、“参数是什么”,这依赖于我们所选取的“模型”。训练的结果简单来说就是得到一组模型的参数,最后使用采用这些参数的模型来完成我们的分类任务。


再举一个简单例子说明“模型”和“模型的参数”。

假设现在我们收集了一些二维平面上的点:

机器学习入门(一)
红色的点记为A类,绿色的点记为B类,这些点的坐标和类别信息都是已知的。现在任务是,给出一个新的点的坐标,判断它是A类还是B类。

简单观察一下数据,好像我们可以用一条平行于 y 轴的直线把 A 类点和 B 类点分开。大概是这个样子:

机器学习入门(一)
我们希望找到这样一条直线 x = k,直线左边绝大多数点都是 A 类,直线右边绝大多数点都是 B 类。

于是我们的分类器模型就是 x = k 这样的直线,k 就是我们的模型参数。

训练的过程就是利用已有的数据点确定参数 k 的过程。假设我们的训练结果是 k = k_0 ,那么我们就可以用 x = k_0 这条直线作为分类器对新的点进行分类了。

当然实际应用中的模型可能要复杂的多,模型参数也不会只有一个 k 这么简单。




二、各种机器学习的应用场景分别是什么?例如,k近邻,贝叶斯,决策树,svm……

https://www.zhihu.com/question/26726794



三、贝叶斯公式

    用来描述两个条件概率之间的关系,比如 P(A|B) 和 P(B|A)。按照乘法法则,可以立刻导出:P(A∩B) = P(A)*P(B|A)=P(B)*P(A|B)。如上公式也可变形为:P(B|A) = P(A|B)*P(B) / P(A)。
        例如:一座别墅在过去的 20 年里一共发生过 2 次被盗,别墅的主人有一条狗,狗平均每周晚上叫 3 次,在盗贼入侵时狗叫的概率被估计为 0.9,问题是:在狗叫的时候发生入侵的概率是多少?
我们假设 A 事件为狗在晚上叫,B 为盗贼入侵,则以天为单位统计,P(A) = 3/7,P(B) = 2/(20*365) = 2/7300,P(A|B) = 0.9,按照公式很容易得出结果:P(B|A) = 0.9*(2/7300) / (3/7) = 0.00058


三、没有免费的午餐定理和丑小鸭定理

关于没有免费的午餐定理,网上很多都是各种公式,实在看的头大,大体总结就是:

1、在机器学习算法中的体现为在没有实际背景下,没有一种算法比随机胡猜的效果好。

2、没有免费的午餐定理(No Free Lunch Theorem),这个定理说明

若学习算法LaLa 在某些问题上比学习算法LbLb 要好, 
那么必然存在另一些问题, 在这些问题中LbLb 比La表现更好。

个人觉得就是基于前面的Inductive bias,在有假设条件或说假设空间的前提下,才有最优算法的概念。就像说一个人比另一个人利害,这个不一定,但是限定一个范围以后就可以进行评价了。

3、http://blog.csdn.net/mnshenyanping/article/details/51280731

        没有免费的午餐定理(noerfelunhchtocerm,简称NFL)。该定理由wolpert和Macerday提出,结论是由于对所有可能函数的相互补偿,最优化算法的性能是等价的。该定理暗指,没有其它任何算法能够比搜索空间的线性列举或者纯随机搜索算法更优。该定理只是定义在有限的搜索空间,对无限搜索空间结论是否成立尚不清楚。
        丑小鸭定理(Ugly Duckling) 上个世纪60年代,模式识别研究的鼻祖之一,美籍日本学者渡边慧证明了“丑小鸭定理”。这个定理说的是“丑小鸭与白天鹅之间的区别和两只白天鹅之间的区别一样大”。这个看起来完全违背常识的定理实际上说的是:世界上不存在分类的客观标准,一切分类的标准都是主观的。渡边慧举了一个鲸鱼的例子说明这个定理:按照生物学的分类方法,鲸鱼属于哺乳类的偶蹄目,和牛是一类;但是在产业界,捕鲸与捕鱼都要行船出海,鲸和鱼同属于水产业,而不属于包括牛的畜牧业。分类结果取决于选择什么特征作为分类标准,而特征的选择又依存于人的目的。丑小鸭是白天鹅的幼雏,在画家的眼里,丑小鸭和白天鹅的区别大于两只白天鹅的区别;但是在遗传学家的眼里,丑小鸭与其父亲或母亲的差别小于父母之间的差别。 由此引出的一个问题是,事物有没有“本质”?一个苹果,牛顿看到的是它的质量,遗传学家看到的是它的染色体中的DNA序列,美食家关心的是它的味道,画家看到的是它的颜色和形状,孔融还可能关注其大小并从中看出道德因素。这里面没有谁对谁错的问题,所以不可能知道苹果的“本质”是什么。在说到“本质”的时候,充其量说的只是“我认为最重要的特征”,只代表个人的立场,他人并没有赞同的充分理由。所以任何使用“本质”这个词汇所进行的论证都是靠不住的。如果一个哲学家说:“思维是人的本质,计算机不具备这种本质,所以机器不能思维。”这种论证只相当于说:“我认为计算机不能思维,所以计算机不能思维。”这当然不能成为有效的论证。问题就在于世界上还不存在能够判断什么是事物的本质的公认的有效方法。



相关标签: 机器学习