【机器学习】机器学习基础:线性回归

从How-Old.net说起

大家是否玩过How-Old.net呢?

这个网站能够推测出相片中人物的年龄与性别~

  好神奇~想知道它是如何实现的吗?

  在它的背后,使用了人脸识别、 机器学习、流分析等等技术,

  现在就让我们了解在How-Old.net推测年龄功能中,使用到的机器学习线性回归算法吧!

我们将会了解到:

什么是机器学习与线性回归?

什么是训练集?

一种评价线性回归是否拟合训练集的方法:代价函数。

一种解决线性回归问题的方法:梯度下降。

开始学习啦

1

什么是机器学习?

  机器学习(Machine Learning)是一门多领域交叉学科,它能够让计算机在没有事先明确的编程的情况下做出反应。也许之前你并不了解它,但当今它的应用是那么普遍,你不知不觉就会接触到它。比如我们日常使用的网络搜索、有趣的语音助手、高大上的无人驾驶汽车,都因为运用了机器学习而有了巨大的发展。

2

什么是线性回归?

  线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析,它是机器学习中,解决监督学习的回归问题的一种方法,它会从给定的训练集中学习出一个线性函数。

  举个例子,将训练集中的数据点描绘在平面直角坐标系上,如下图:

  通过线性回归方法,我们可以拟合出一条直线,如下图:

关于线性回归

  图中的点的x与y大致呈线性关系,使用的是这样的模型:

  之后让计算机利用训练集“学习”出参数的值,进而得到尽量接近点的直线。

  对于多元自变量,如两个自变量 可以使用这样的模型 :

  如果点不是线性分布呢?

  假如数据点近似正弦函数分布,没关系,我们可以使用三次多项式拟合。

得到的拟合结果

  当计算机根据训练集“学习”得到一个模型后,可以利用这个模型对新数据进行预测。比如上面的直线模型例子中,对于新的X值,可以根据对应直线函数,计算出对应的预测值Y。

3

训练集

  训练集属于样本的一部分,它被用来估计模型。回到How-Old.net中推断年龄的问题中来,这里的训练集中,输入数据(特征值)为脸部特征数据,它们与年龄密切相关,比如皮肤褶皱、眼部皮肤色泽、嘴唇与鼻子的松弛程度等等,它们被量化,作为自变量 ;而对应的年龄值,记为输出变量(目标值)Y。

  利用线性回归,计算机通过学习找到输入变量与目标变量的关系,得到一个较优的模型。当我们上传一张相片时,它便会从相片中提取特征值X,根据这个模型推断出年龄Y.。

4

如何实现线性回归呢?

  利用代价函数/损失函数(Cost Function/Error Function)可以量化地告诉计算机,当前学习的模型的优劣程度,即线性函数拟合的好坏程度。

  代价函数有很多种,比如平方损失函数、对数损失函数。在线性回归方法中,我们往往使用平方损失函数,它的函数式为:

这个函数衡量了预测值和真实值的距离。代价函数越小,说明线性回归得越好。

  因此,要曲线拟合得更好,我们的目标是让J值尽量变小。

5

如何让J值(代价)变小呢?

  我们不妨看一张图,Z轴代表代价值,X、Y轴代表学习参数 。

  没错,我们可以使用梯度下降算法(Gradient Descent)。

  梯度下降算法有很多种实现形式,但本质是一样的。我们把代价函数看作一座山,站在山坡上环视,可以找到最快下山的方向(通过求偏导数得到的梯度方向的反方向)。而且很幸运,在线性回归中,代价函数为凸函数(Convex Function),即最小极值点为全局极小点。我们无论一开始站在山上的哪一点,最终一定能到达这座山的最低点。

  通过以上方法,我们可以让计算机根据训练集学习出一个简单的模型了,要想得到更好的模型,还需要考虑特征缩放、过拟合、欠拟合等等问题。

在这里,推荐一些链接,希望大家能够更好地了解机器学习。

1.斯坦福大学Andrew Ng教授的机器学习课程:

https://www.coursera.org/learn/machine-learning

2.机器学习入门:线性回归及梯度下降 by xiazdong

http://blog.csdn.net/xiazdong/article/details/7950084

3.从曲线拟合问题窥视机器学习中的相关概念 by 下一步

http://blog.csdn.net/fangqingan_java/article/details/9265147

原文发布于微信公众号 - 数据科学与人工智能(DS_AI_shujuren)

原文发表时间:2015-10-08

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据派THU

详解AI Lab 21篇CVPR 2018论文(附论文)

26540
来自专栏数据科学与人工智能

支持向量机SVM介绍|机器学习

(一)SVM的八股简介 支持向量机(Support Vector Machine)是Cortes和Vapnik于1995年首先提出的,它在解决小样本、非线性及高...

40060
来自专栏专知

【干货】深度学习中的数学理解— 教你深度学习背后的故事

【导读】如今,深度学习在各项任务中所向披靡,比如图像识别,语音处理和自然语言处理。但是,深度学习的理论探讨却比应用滞后好几个数量级,一方面是做应用马上能见效,然...

31270
来自专栏大数据挖掘DT机器学习

支持向量机SVM入门详解:那些你需要消化的知识

出自:嘉士伯的Java小屋 http://www.blogjava.net/ (一)SVM的八股简介 支持向量机(Support Vector Machine)...

51280
来自专栏数据科学与人工智能

【深度学习】深度学习在图像识别中的研究进展与展望

深度学习是近十年来人工智能领域取得的最重要的突破之一。它在语音识别、自然语言处理、计算机视觉、图像与视频分析、多媒体等诸多领域都取得了巨大成功。本文将重点介绍深...

83980
来自专栏机器之心

业界 | 华为推出新型HiSR:移动端的超分辨率算法

机器之心发布 作者:Mr. AI 近日,华为推出了 HiSR 超分辨率技术,该模型借助第一款人工智能手机芯片 Kirin 970 和深度学习算法将低分辨率图片转...

53480
来自专栏人工智能头条

深度学习在计算机视觉领域的前沿进展

29230
来自专栏达观数据

课堂总结 | 达观数据文本挖掘负责人分享文本分类方法和应用案例

新媒体管家 自然语言处理(NLP)一直是人工智能领域的重要话题,而人类语言的复杂性也给NLP布下了重重困难等待解决。随着深度学习(Deep Learning)的...

62260
来自专栏大数据挖掘DT机器学习

sklearn集成学习:如何调参?

---- Random Forest和Gradient Tree Boosting参数详解 2 如何调参?   2.1 调参的目标:偏差和方差的协调   2...

49170
来自专栏人工智能头条

【王晓刚】深度学习在图像识别中的研究进展与展望

45570

扫码关注云+社区

领取腾讯云代金券