machine learning 之 导论 一元线性回归

整理自Andrew Ng 的 machine learnig 课程 week1

目录:

  • 什么是机器学习
  • 监督学习
  • 非监督学习
  • 一元线性回归
    • 模型表示
    • 损失函数
    • 梯度下降算法

1、什么是机器学习

Arthur Samuel不是一个playing checker的高手,但是他编了一个程序,每天和这个程序playing checker,后来这个程序最后变得特别厉害,可以赢很多很厉害的人了。所以Arthur Samuel就给机器学习下了一个比较old,不太正式的定义:

” the field of study that gives the computer the ability to learn without being explicitly programmed “ 

现代比较正式的一个定义是:

” A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P , if its perfermance at tasks in T as measured by P, improves with experience E  “ 

也就是说:计算机程序从 ” 做一系列任务T得来的经验E ” 和 “ 测度这个任务做的好不好的表现测度 P “ 中去学习,学习的目标就是,通过这些经验E ,这些任务T做的更好了,做的好不好的评价标准就是P;

以上面Arthur Samuel playing checker的例子来说:

E:Arthur Samuel和程序很多次play checker的经验;

T:playing checker

P:程序在下一次比赛中赢的概率

机器学习问题一般可以分为 ” 监督学习 “ 和 ” 非监督学习 “两类。

2、监督学习

"given data set and already know what our correct output should look like"

对于输入和输出之间的关系我们已经差不多可以有一个思路了

 ” 回归 “ 和 ” 分类 “

回归:结果是连续的,map input to some continuous function (如:预测房价)

分类:结果是离散的,map input to some discrete function (如:预测房价是否大于某个值)

3、非监督学习

” approach problems with little or no ideal what our result should look like “

对于输入和输出之间的关系,我们没有一个概念

” 聚类 “ 和 ” 非聚类 “

聚类:对1000,000中不同的基因聚类,group related to lifespan, height.......

非聚类:鸡尾酒宴会算法,find structure in chaotic environment (比如,在鸡尾酒宴会中各种混杂的声音中识别出某个人的声音或者背景音乐)

4、一元线性回归

模型表示

$x^{(i)}$:输入变量

$y^{(i)}$:输出变量

$(x^{(i)}, y^{(i)})$:一个训练数据

$(x^{(i)}, y^{(i)}); i=1...m$:训练数据集

$X=Y=R$:输入空间和输出空间,这里是一样的

$h_\theta(x)=\theta_0+\theta_1x$

比如以下:

对于监督学习问题:给定训练数据集(x,y),学习一个$h(x):X \rightarrow Y$,对于h(x)是y的一个好的预测

损失函数

用于衡量h(x)的accuracy,是h(x)和y的average difference

$ J(\theta_0,\theta_1)$ = $ \frac{1}{2m} $ $\sum_{i=1}^m$ $(h_\theta(x^{(i)}-y^{(i)})))^2 $

这个函数被称为平方损失函数(square error function / mean square error), 在回归问题中常用于表示损失函数,非回归问题中也会用,比较常用

这里 $ \sum_{i=1}^m$ $(h_\theta(x^{(i)})-y^{(i)})^2 $ 是损失平方和,$\frac12$是为了以后求导方便加上去的

我们的目标就是找到一个使得损失函数最小的$\theta_0和\theta_1$:

损失函数 visual 1

以下为了展示损失函数,为了方便,让$\theta_0=0$

当$\theta_1=1$时,$J(\theta_1)=0$,在右图绿色叉叉的位置;

当$\theta_1=0.5$时,$J(\theta_1)=0.~$,大概在右图蓝色叉叉的位置;

当$\theta_1=0$时,$J(\theta_1)=2.~$,大概在右图上y轴的黑色叉叉那里;

基于以上三个点,我们知道$J(\theta_1)$大概就是上右图的样子,当$\theta_1=1$时$J(\theta_1)$最小,左边递减,右边递增;

损失函数 visual 2

对于以上简单的损失函数,我们还可以在二维图上画出来,也比较好理解,但是当维度(变量)大了之后,这种图就不好画了,比如二维:

此时常用等高线图来表示损失函数:

对于以上的训练数据,当$\theta_0=0, \theta_1=360$时,$J(\theta_0, \theta_1)$位于等高线图中红色叉叉的位置;

当$\theta_0, \theta_1$如下左图时,$J(\theta_0, \theta_1)$位于等高线图中绿色叉叉的位置;

当$\theta_0, \theta_1$如下左图时,$J(\theta_0, \theta_1)$位于等高线图中蓝色叉叉的位置,也就是接近最优解的地方,等高线的近似中间位置;

梯度下降算法

那么如何找到最优解呢?梯度下降算法就是一个方法,见以往博客:Gradient Descent

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏PPV课数据科学社区

机器学习&数据挖掘笔记_16(常见面试之机器学习算法思想简单梳理)

前言: 找工作时(IT行业),除了常见的软件开发以外,机器学习岗位也可以当作是一个选择,不少计算机方向的研究生都会接触这个,如果你的研究方向是 机器学习/数据挖...

27011
来自专栏新智元

谷歌大作:自动改良反向传播算法,训练速度再提升!

【新智元导读】大神 Geffery Hinton 是反向传播算法的发明者,但他也对反向传播表示怀疑,认为反向传播显然不是大脑运作的方式,为了推动技术进步,必须要...

903
来自专栏数据派THU

吴恩达deeplearning.ai五项课程完整笔记了解一下?

来源:机器之心 通过本文为大家解读如何构建自然语言、音频和其他序列数据的模型。 自吴恩达发布 deeplearning.ai 课程以来,很多学习者陆续完成了所...

3355
来自专栏机器之心

资源 | 从反向传播到迁移学习,盘点人工智能从业者必备的10个深度学习方法

3097
来自专栏智能算法

常见面试之机器学习算法思想简单梳理

来源: tornadomeet 的博客(@tornadomeet) 链接: www.cnblogs.com/tornadomeet/p/3395593.htm...

35110
来自专栏华章科技

当我们说数据挖掘的时候我们在说什么

现在市面上谈论到的数据挖掘基本上都是基于统计学习的监督学习或非监督学习问题。尤其以监督学习应用面更广。

682
来自专栏null的专栏

可扩展机器学习——分类——点击率预测(Click-through Rate Prediction)

注:这是一份学习笔记,记录的是参考文献中的可扩展机器学习的一些内容,英文的PPT可见参考文献的链接。这个只是自己的学习笔记,对原来教程中的内容进行了梳理,有些图...

3646
来自专栏数说工作室

留一交叉验证及SAS代码

在数据量很少,用什么模型?(点击查看)中,我们总结过当数据量很少时如何选择模型和方法,以使得数据能够最大限度的得到利用。 其中有一个方法就是做交叉验证。 我有备...

3306
来自专栏专知

【干货面经】常见面试之机器学习算法思想简单梳理

【导读】这是早期一篇关于机器学习面试方面的干货总结。到今天也值得一看。请大家看阅。 作者:tornadomeet 出处:http://www.cnblogs....

6758
来自专栏深度学习自然语言处理

深度 | 从各种注意力机制窥探深度学习在NLP中的神威

作者 Antoine Tixier 表示整篇综述笔记也是他学习过程的一部分,所以这一文章还会在 arXiv 上继续更新。为了完成整篇文章,作者主要借鉴了各种卷积...

572

扫码关注云+社区