笔者是一名软件工程在读研究生,同样是机器学习的爱好者,希望我所总结的内容能以简单直白的方式帮助读者们理解机器学习并了解如何利用Python来做机器学习。不需要走很多弯路,只需要准备好python的JupyterNotebook或Pycharm等,做好笔记。我很快带你入门。
那么首先作为传统还是要对所讲内容有背景知识介绍,当然这是给新人看的,已经了解的可以自动跳过前传哈!
概念:机器学习是一门能够让变成计算机从数据中学习的计算机科学。
专业的概念:一个计算机程序在完成任务T之后,获得经验E其表现效果为P,如果任务T的性能表现,也就是用以衡量的P)随着E增加而增加,那么这样计算机程序就被称为机器学习系统。
人话解释:一个程序要有输入和输出,比如说我们要执行一个预测天气的任务,那么计算机预测完天气就是完成了任务,系统从这次预测中获取预测的经验,比如说从给定的观测到的指标如风力温度湿度等等,它们与天气有着怎样的联系;而表现效果是指预测的准不准。那么如果每天都预测一次,随着次数的增加获得的经验也在增加,而如果随着预测的经验增加预测的效果越来越好,这样的程序就是一个机器学习系统。
机器学习的好处在于:1.可以自动化的升级和维护;2.解决算法过于复杂或根本就没有已知算法的问题。这两点还是可以很明显的推出的。比如我们做的商品推荐系统,系统能通过用户评价中的关键词比如说“好用”“差评”等词来自动更新程序记忆能力,来对这些词进行学习以便于在之后更准确的判断用户是否喜爱这件商品。而第二点,我们可以思考一下围棋阿尔法狗,众所周知围棋很多时候都是靠人的感觉和大脑的判断去下,并没有固定的能赢的模式,也就没有根本已知的好的算法,需要系统去不断学习摸索。
所谓机器学习,在形式上可这样理解:在数据对象中通过统计或推理的方法,寻找一个接受特定输入X,并给出预期输出Y的功能函数f,即Y=f(X)。建模这件事情就是通过输入得到输出的事情,从数学角度其实就是寻找这个f(x)函数,来表达原始数据中输入与输出的关系。
针对已知的输入,函数给出的输出(预测值)与实际输出(目标值)之间存在一定的误差,因此需要构建一个评估体系,根据误差的大小判定函数的优劣。这也就是说我们要去判断什么样的一个模型是好的模型。
学习的核心在于改善性能,通过数据对算法的反复锤炼,不断提升函数预测的准确性,直至获得能够满足实际需求的最优解,这个过程就是机器学习。这个优化的过程就是机器学习的过程。
这三个要解决的问题也就构成了机器学习的过程,首先对问题进行建模,对建成的模型进行评估,再根据评估效果不断的优化模型。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。