你的位置:首页 > ASP.net教程

[ASP.net教程]机器学习一


机器学习中的监督学习和无监督学习

说在前面

最近的我一直在寻找实习机会,很多公司给了我第一次电话面试的机会,就没有下文了。不管是HR姐姐还是第一轮的电话面试,公司员工的态度和耐心都很值得点赞,我也非常感激他们。但是我都没有进入下一轮面试的机会,一路想想我的简历和学习经历,确实也挺难有进入第二轮面试的机会的,因为我大学里学习的知识和技能除了一些常用算法就再也没别的了,参加过几场ACM/ICPC并获得过几个小奖,没有什么项目经验和扎实的语言基础,可想而知我得弱到什么程度去了。

前几天还是很认真的想了一下,计划A就是再看看有没有规模小一些的合口味的公司,如果有机会暑假也可以出去实习一段时间,如果真没有的话 ,我也不会灰心丧气,执行我的计划B。我的计划B就是在校再学习一段时间,争取在校招的时候有个好结果。目前我就决定好好学习一些机器学习和爬虫的知识,把理论知识搞扎实了,争取到时候也有勇气投递一下搜索方面和算法工程师的职位。

正文

机器学习主要分为有监督学习和无监督学习两种。接下来我详细的给大家介绍一下这两种方法的概念和区别。

 

监督学习(supervised learning):通过已有的训练样本(即已知数据以及其对应的输出)来训练,从而得到一个最优模型,再利用这个模型将所有新的数据样本映射为相应的输出结果,对输出结果进行简单的判断从而实现分类的目的,那么这个最优模型也就具有了对未知数据进行分类的能力。在社会中,我们在很小的时候就被大人教授这是鸟啊,那是猪啊,这个是西瓜、南瓜,这个可以吃、那个不能吃啊之类的,我们眼里见到的这些景物食物就是机器学习中的输入,大人们告诉我们的结果就是输出,久而久之,当我们见的多了,大人们说的多了,我们脑中就会形成一个抽象的模型,下次在没有大人提醒的时候看见别墅或者洋楼,我们也能辨别出来这是房子,不能吃,房子本身也不能飞等信息。上学的时候,老师教认字、数学公式啊、英语单词等等,我们在下次碰到的时候,也能区分开并识别它们。这就是监督学习,它在我们生活中无处不在。

 

无监督学习(unsupervised learning):我们事先没有任何训练数据样本,需要直接对数据进行建模。比如我们去参观一个画展,我们对艺术一无所知,但是欣赏完很多幅作品之后,我们面对一幅新的作品之后,至少可以知道这幅作品是什么派别的吧,比如更抽象一些还是更写实一点,虽然不能很清楚的了解这幅画的含义,但是至少我们可以把它分为哪一类。再比如我们在电影院看电影,对于之前没有学过相关电影艺术知识的我们,可能不知道什么是一部好电影,什么是一部不好的电影,可是在观看了很多部电影之后,我们脑中对电影就有了一个潜在的认识,当我们再次坐在电影院认真观看新上映的电影时,脑中就会对这部电影产生一个评价:怎么这电影这么不好啊,整个故事线是混乱的,一点也不清晰,比我之前看过的那些电影差远了,人物的性格也没有表现出来,关键是电影主题还搞偏了;哎呀,这个电影拍得确实好啊,故事情节和人物性格都很鲜明,而且场景很逼真,主角的实力表演加上他与生俱来的忧郁眼神一下把人物演活了。

再给大家举一个无监督学习的例子。远古时期,我们的祖先打猎吃肉,他们本身之前是没有经验而言的,当有人用很粗的石头去割动物的皮的时候,发现很难把皮隔开,但是又有人用很薄的石头去割,发现比别人更加容易的隔开动物的毛皮,于是,第二天、第三天、……,他们就知道了需要寻找比较薄的石头片来割。这些就是无监督学习的思想,外界没有经验和训练数据样本提供给它们,完全靠自己摸索。

总结

本次计划比较系统的学习机器学习理论知识了,当然也会比较完整的把我所学到的这些知识分享给大家。回想刚才所提到的监督学习和无监督学习两种方法,或许很多人都会认为任何事情有人教当然很好了啊,所有监督学习更方便快捷嘛,大部分情况确实这样,但是如果有些情况比如无法提供训练数据样本或者提供训练数据样本的成本太高的话,或许我们就应该采取无监督学习的策略了。监督学习的典型例子就是决策树、神经网络以及疾病监测,而无监督学习就是很早之前的西洋双陆棋和聚类。

监督学习和无监督学习的更具体例子我会在后面学习的过程中给大家总结出来。另外,如果大家有比较好的机器学习的资源,也很感谢您的留言。