本文概括介绍了机器学习定义和其七大步骤,后续文章将就七大步骤展开详细介绍。AI产品经理虽然不用具体算法调参,但工作内容一定和7大步骤相互渗透,息息相关。比如AI数据PM就要和数据采集处理天天打交道,AI+行业PM更注重于数据的应用行业场景的落地,算法PM更不用说,每天工作的内容都是围绕算法训练和测试的精度。
1、机器学习是什么?
1.1定义:
机器学习是让计算机从数据经验中学习出一套算法模型,使之具备预测识别问题的能力。
1.2和人工智能,深度学习,神经网络傻傻分不清的关系:
机器学习是人工智能的分支,深度学习是可以高效处理复杂模型的一种机器学习,典型模型是神经网络。
人工智能,机器学习、深度学习,神经网络的关系2、机器学习七步骤
7大步骤2.1数据收集:
机器学习形象化理解就是从数据样本中学习总结出一套普遍适用的规律。所以一般来说,同等条件下数据量越大,种类越丰富,覆盖越精细,质量越高,训练效果越好。反之,没有这些数据,机器学习就是巧妇难为无米之炊。
2.2数据处理:
不可能所有收集来的数据都是符合要求的,所以需要对不同渠道和批次收集来的数据进行种类、质量、数量等维度的综合评估。然后按需成比例分为2类:训练集(包括验证集)和测试集。
介绍2种数据分法:
1)留出法:80%左右训练集、20%左右测试集。缺陷:测试集小时,评估结果方差大,训练集小时,评估结果偏差大
2)交叉验证法:将样本分为10个子集,每次用9个做训练,1个做测试。迭代10次后,最终结果取10次均值。缺陷:数据集较大,比如百万级时,计算复杂度过高。
注:验证集是用来进行模型选择和调参得评估。比如60%做训练、20%做验证、20%做测试集
2.3模型选择:
1)选择参数:首先要需要由人工设定或算法自己学习产生多个参数,比如识别香蕉这个任务,人为设定或算法学习将颜色、形状、果实软硬程度这3个特征(参数)作为识别需要关注得属性。
2)确定任务所属的算法类型
一般把机器学习算法按照任务和数据集的特点分为以下三类:
1、监督学习 (有正确标记信息的数据集,用于回归分类)
2、无监督学习(无标记信息的数据集,用于聚类、降维)
3、强化学习(介于监督和无监督之间,当预测不正确时,会告诉算法不对但不告诉算法怎么改,要算法自己不断试探直到找到正确答案,用于游戏、机器人)
3)确定算法模型
不同的算法模型有不同的特点,所以需要依据任务的特点选择最合适的模型。比如预测股票得涨跌需要能处理连续数据的函数,如线性函数。有没有得癌症,收到的电子邮件是不是垃圾邮件属于分类问题,则需要找到能处理离散数据的函数模型,如logistic。
2.4模型训练
输入初始值,不断迭代直到输出最优的结果。
以线性回归模型举例。假设h(x)是存在的实际函数,θ是参数向量,用J(θ)来表示实际样本和假设函数得到的值之间的方差即代价函数。算法的目的是通过梯度下降等方法找到J(θ)的最小值。
梯度下降的意思是通过一点点改变参数的选值,直到找到使得J(θ)最小的值。用来控制移动步伐的叫做学习参数。如下图,横坐标表示迭代次数,纵坐标表示J(θ),若学习率取值正确,这个曲线会越来越接近X轴,且最终将在500次迭代时收敛于某一个稳定值。
2.5模型验证
训练结束,需要对训练的效果进行评估。所以需要使用之前预留的从未使用过的测试数据。就好像一个学生通过题库训练后,要用一套从没在题库出现过的题目来测试这个学生的学习效果一样。但是我们需要从哪些维度来衡量学生在测试中考试的成绩和在题库中训练的成绩的好坏呢?又要如何分析差距的原因。方差和偏差,查准率和查全率、训练误差、泛化误差、过拟合和欠拟合这些可能听过但傻傻分不清的维度就常常在这个环节被提到。(后面再写一篇做详细介绍)
2.6调整参数
参数的设定对结果的精度和耗时至关重要。
诸如2.4中提到的学习参数如果设定的不合适,就会遇到下面几种情况:
1)学习率设定的过小,像小宝宝的小步子,可能会收敛的很慢,要迭代很多次才会找到最优解。
2)学习率设定的过大,每个 步子都移动的太大,可能错过最低点,找不到收敛值,且会离最优解越来越远。
出现诸如以上的问题都会影响模型的精度。所以需要结合模型验证的结果来调整参数。
2.7投入使用
来到机器学习的最后一步就是使其价值落地的实现。现在人脸识别、文本识别、语音识别的应用,背后都是利用机器学习对未知样本的预测实现的。
参考:
书:《机器学习》周志华
视频:《机器学习》吴恩达
来自小野不定期的学习分享,欢迎交流指正,关注个人公众号“AI笔记”可看更多干货。
网友评论