机器学习概念
就是使计算机模拟人类的学习过程,通过分析大量数据,完成任务,处理问题。这个过程简单来说就是,使计算机寻找到一个函数,构建起一个模型,通过数据使模型准确化,便于输出目标结果。
机器学习类型
机器学习根据其所需完成的任务不同,需要寻找不同类型的函数。
类型一:回归(Regression)
从各种不同或相同类型的文件中提取并分析信息,最终输出目标数值的函数类型。
类型二:分类(Classification)
给计算机提供两种或多种不同的选项(类别class),使其通过分析选出正确的一个。
举例:机器人下围棋,AlphaGo从棋盘中选择出最适合的落子位置。
类型三:结构化学习(Structure Learning)
让机器产生有结构的东西,例如:文章,图像等。
机器学习步骤
1、构建模型函数
假设出一个含有未知参数的函数,猜测数据分析所需函数大致长什么样。
以线性回归(Linear regression)为例:y=b+wx,其中“b”为偏置(bias),“w”为权重(weight)。
2、定义Loss
概念:Loss是一个自己定义的函数,其输入为L(b,w),输出为对应的L(b,w)下的Loss的数值,用于反映构建的模型函数与真实数据的贴合度,便于寻找到最准确的函数。
操作:(1)在y=b+wx中,取不同组L(b,w),在每一分组下分别带入x1、x2、x3……将得到的y(估计值)与yˆ(真实值)比较差距,可设e=|y − yˆ| 平方绝对误差[mean absolute error(MAE)]或e=(y − yˆ)²均方误差[mean square error(MSE)],若y与yˆ均为概率分布,则选交叉熵(Cross entropy)。
(2)设Loss:L=1/n∑en
(3)在误差表面图(Error Surface)中找到最准确的b,w。
3、最佳化
找到一对b,w使Loss最小。采用方法:Gradient Descent(以下以参数w为例)
(1)随机决定一个w0。
(2)计算w=w0时w0参数对Loss的微分(该点的切线斜率)
斜率为负-----右移-----w变大
斜率为正-----左移-----w变小
(3)计算移动幅度![](https://i-blog.csdnimg.cn/direct/268bb552bef64009a22a36ef5900c292.png)
①|斜率|越大,幅度越大
②η[学习术语(Learning rate)](由自己设定→hyperparameters)
η越大,参数搭配量越大,移动幅度越大,学习越快。
(4)由公式算出w1,不断寻找最小的Loss对应的w
注:1、看似可能存在局部极小值的问题,但实际一般不会出现这样的问题。
2、Loss函数可由自己定义,可能存在为负的现象。
(5)预测并分析对比数据
在找到函数中的较精准参数数值后,输出预测数据,并经过一定时间的记录测算,对比预测数据与真实数据的差异,增加带入数据,不断优化函数,减小Loss,直到Loss不再改变,达到极限。