文章目录
- 什么是机器学习?
- 机器学习的应用场景
- 实现机器学习的基本框架
- 机器学习的类别
- 监督式学习(Supervised Learning)
- 无监督式学习(Unsupervised Learning)
- 半监督式学习(Semi-supervised Learning)
- 强化学习(Reinforcement Learning)
- 学习方式的应用
- 什么是回归分析 (Regression Analysis) ?
- 线性回归介绍
- 线性回归问题求解
- 梯度下降法求解线性回归
什么是机器学习?
机器学习是一种实现人工智能的方法,从数据中寻找规律、建立关系,根据建立的关系去解决问题,从数据中进行经验学习,实现自我优化与升级。
维基百科给出的定义:
- 机器学习是一门人工智能的科学,该领域的主要研究对象是人工智能,特别是如何在经验学习中改善具体算法的性能
- 机器学习是对能通过经验自动改进的计算机算法的研究
- 机器学习是用数据或以往的经验,以此优化计算机程序的性能标准
一种经常引用的英文定义是:A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.
机器学习的应用场景
- 数据挖掘
- 计算机视觉
- 自然语言处理
- 证券分析
- 股票涨跌预测
- 电影票房预测
- 医学诊断
- 机器人
- DNA测序
- ……
与人工智能比较,我们可以看到人工智能的主要应用场景也都是机器学习的应用场景,这就印证了之前所说,机器学习是实现人工智能的主流方法。
实现机器学习的基本框架
将训练数据输入到计算机,计算机自动求解数据关系,在新的数据上做出预测或给出建议。
机器学习的类别
监督式学习(Supervised Learning)
——训练数据包括正确的结果(标签-label)
对于监督式学习,我们在一开始给出的数据中就已经告诉计算机正确的结果标签:红色的圆对应类别1,蓝色的叉对应类别2,绿色的星对应类别3。根据该结果,监督式学习就会自动地找出数据的边界(图中虚线部分),以后计算机再得到新的数据,不知道其是圆,叉或者星时,就会根据其所在的位置,自动将其划分为对应的类别。
监督式学习包含
- 线性回归
- 逻辑回归
- 决策树
- 神经网络、卷积神经网络、循环神经网络
- ……
无监督式学习(Unsupervised Learning)
——训练数据不包括正确的结果
对于无监督式学习,我们在一开始给出的数据中没有告诉计算机正确的结果标签,只是要求计算机将数据分成3类,这样处理数据时就找不出数据的边界,但是却能根据要求,将比较接近的数据划分为一类,最终将所有数据分为3类。当得到新的数据后,将根据其与3类数据的接近程度自动划分为其中一种。
无监督式学习包含
- 聚类算法
半监督式学习(Semi-supervised Learning)
——训练数据包括少量正确的结果
对于半监督学习,给出的标签数据相对较少一些,但也能根据这些标签数据找到数据的边界,将新数据划分为其中一种。
强化学习(Reinforcement Learning)
——根据每次结果收获的奖惩进行学习,实现优化
举个例子,假设有个行走的机器人,它的前面有一面墙,直走的话会撞上去,机器人尝试不同的走法,如上图的行走策略,第一种通过了这面墙为GOOD,第二种撞上了这面墙为BAD
编程时设立奖惩规则,通过+3分,失败-3分,规定机器人行走优化条件是分数越高越好,让程序自动寻找获得高分的方法。
学习方式的应用
什么是回归分析 (Regression Analysis) ?
回归分析是根据数据,确定两种或两种以上变量间相互依赖的定量关系
函数表达式:
回归分析的种类:
下边将具体讲解线性回归技术
线性回归介绍
回归分析中,变量与因变量存在线性关系
函数表达式:y = ax + b
线性回归问题求解
建立模型的步骤:
- 确定P、A间的定量关系
- 根据关系预测合理价格
- 做出判断
将表中数据用散点图表示出来
具有线性关系,建立线性模型:y = ax + b
现在我们只需要找到合适的a和b,就能解决问题
途径:假设x为变量,y为对应结果,y’为模型输出结果,目标变为:y’尽可能接近y,如下图(m为样本数)
因为后边要求导,为了约掉求导后得到的2m,这里除以2m,变为:
即为该模型的损失函数J,其值越小越好
可以看出J的值是与a、b有关的,那如何找到这个极小值呢?
梯度下降法求解线性回归
可以用梯度下降法进行求解,梯度下降法是寻找极小值的一种方法,通过向函数上当前点对应梯度(或者是近似梯度)的规定步长距离点进行迭代搜索,直到在极小点收敛。
应用此方法求损失函数J的极小值时,首先创建临时变量temp_a和temp_b,然后重复计算直到收敛,此时a与b的值就是要寻求的值
由此得到了线性模型的表达式:y = ax + b
将单因子变量x的值代入就能得到对应的因变量预测值,最后对预测结果做出判断。