机器学习能做什么?
聊天机器人、人脸识别、自动驾驶以及所有大型电商的精准推荐系统背后都是机器学习。
机器学习能通过文章“点赞”量和“朋友在看”量估算出阅读量;
机器学习能在公众号自动根据不同类型回复留言,过滤恶意评论;
机器学习能在网络电商找到我们最需要关注的那些高价值用户...
什么是机器学习?
机器学习之父 Arthur Samuel 对机器学习的定义是:
在没有明确设置的情况下,使计算机具有学习能力的研究领域。
国际机器学习大会的创始人之一 Tom Mitchell 对机器学习的定义是:
计算机程序从经验 E 中学习,解决某一任务 T,进行某一性能度量 P,通过 P 测定在 T 上的表现因经验 E 而提高。
通俗来讲
你周六约了小芳,小丽逛街,小芳先来了,小丽没来。你想打电话叫小丽过来。小芳说:“你别打电话啦,小芳昨天跟对象吵架了,她负责的项目在生产环境出大问题了,再加上她家人生病了,她肯定没心情来。”
我们是根据大脑推理出小丽大概率是不会来了,但计算机是怎么得到这样的结论的呢?
而机器学习的厉害之处就在于,它能利用计算机的运算能力,从大量的数据中发现一个“函数”或“模型”,并通过它来模拟现实世界事物间的关系,从而实现预测、判断等目的。这个过程的关键是建立一个合适的模型,并能主动地根据这个模型进行“推理”,而这个建模的过程就是机器的“学习”过程。
机器学习和传统程序的区别
传统程序是程序员把已知的规则定义好后输入给机器的,而机器学习则从已知数据中,通过不断试错、自我优化、自身总结,归纳出规则来。
传统程序:数据+规则-->答案
机器学习:数据+答案-->规则
机器学习的本质特征,就是从数据中发现规则。
虽然机器最终能主动地去预测,但在此之前,机器具体选什么模型、如何训练、怎么调参,这些都需要我们去干预和指导。
传统程序是程序员来定义函数,而在机器学习中是机器训练出函数。
机器学习的数据集是什么?
以刚刚逛街的例子解释,
建立函数:“小丽会不会来”
自变量x1:与对象感情状况
自变量x2:项目上线结果
自变量x3:家人身体情况
因变量y:是否来逛街
在机器学习汇中,自变量x是特征(feature),因变量y是标签(label)。而一批历史特征和一批历史标签的集合,就是机器学习的数据集。
机器学习的训练(拟合)
在已知数据集的基础上,通过反复的计算,选择最贴切的函数去描述数据集中自变量 x1, x2, x3, …, xn 和因变量 y 之间的因果关系。
训练数据集(training dataset):最初用来训练的数据集。
验证数据集(validation dataset):当机器通过训练找到了一个函数,我们还需要验证和评估,也就是说,这时候我们要给机器另一批同类数据特征,看机器能不能用这个函数推出这批数据的标签。这一过程就是在验证模型是否能够被推广、泛化,而此时我们用到的数据集,就叫验证数据集。
测试数据集(test dataset):如果这个函数通过了评估,那就可以在测试数据集(test dataset)上做最终的测试;如果通过不了,就需要继续找新的模型。
因为机器必须根据已有的数据来找到特征和标签之间的关系,所以标签似乎对于机器学习模型有很重要的指导性意义。
那么,机器在训练过程中一定要有标签吗?==》不一定
具体我们可以分三种情况来看:
监督学习(supervised learning):训练数据集全部有标签
无监督学习(unsupervised learning):训练数据集没有标签
半监督学习(semi-supervised learning):在训练数据集中,有的数据有标签,有的数据没有标签
目前,监督学习是应用最广泛的主流机器学习算法,
什么是监督学习
重点关注的是监督学习问题的分类。因为,明确要解决的问题是机器学习项目的第一步,也是非常重要的一步。如果我们不了解问题的类型,就无法选择合适的算法。
根据标签的特点,监督学习可以被分为两类:回归问题和分类问题。
【持续更新中】