机器学习入门之机器学习笔记
小标 2019-03-26 来源 : 阅读 1083 评论 0

摘要:本文主要向大家介绍了机器学习入门之机器学习笔记,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助。

本文主要向大家介绍了机器学习入门之机器学习笔记,通过具体的内容向大家展现,希望对大家学习机器学习入门有所帮助。

机器学习入门之机器学习笔记

10:28

1. 引言(Introduction)  

1.1 Welcome  

1.2 什么是机器学习(What is Machine Learning)  

1.3 监督学习(Supervised Learning)  

1.4 无监督学习(Unsupervised Learning)  

2 单变量线性回归(Linear Regression with One Variable)  

2.1 模型表示(Model Representation)  

2.2 代价函数(Cost Function)  

2.3 代价函数 - 直观理解1(Cost Function - Intuition I)  

2.4 代价函数 - 直观理解2(Cost Function - Intuition II)  

2.5 梯度下降(Gradient Descent)  

2.6 梯度下降直观理解(Gradient Descent Intuition)  

2.7 线性回归中的梯度下降(Gradient Descent For Linear Regression)  

3 Linear Algebra Review  

3.1 Matrices and Vectors  

3.2 Addition and Scalar Multiplication  

3.3 Matrix Vector Multiplication  

3.4 Matrix Matrix Multiplication  

3.5 Matrix Multiplication Properties  

3.6 Inverse and Transpose  

1. 引言(Introduction)

1.1 Welcome

随着互联网数据不断累积,硬件不断升级迭代,在这个信息爆炸的时代,机器学习已被应用在各行各业中,可谓无处不在。

一些常见的机器学习的应用,例如:

手写识别

垃圾邮件分类

搜索引擎

图像处理

使用到机器学习的一些案例:

数据挖掘

网页点击流数据分析

人工无法处理的工作(量大)

手写识别

计算机视觉

个人定制

推荐系统

研究大脑

……

1.2 什么是机器学习(What is Machine Learning)

机器学习定义 这里主要有两种定义:

T(Task): 过滤垃圾邮件任务。

P(Performance): 电子邮件系统过滤垃圾邮件的准确率。

E(Experience): 用户对电子邮件的标记。

Tom Mitchell 的定义更为现代和正式。在过滤垃圾邮件这个例子中,电子邮件系统会根据用户对电子邮件的标记(是/不是垃圾邮件)不断学习,从而提升过滤垃圾邮件的准确率,定义中的三个字母分别代表:

Tom Mitchell (1998) Well-posed Learning Problem: A computer program is said to learn from experience E with respect to some task T and some performance measure P, if its performance on T, as measured by P, improves with experience E.

这个定义有点不正式但提出的时间最早,来自于一个懂得计算机编程的下棋菜鸟。他编写了一个程序,但没有显式地编程每一步该怎么走,而是让计算机自己和自己对弈,并不断地计算布局的好坏,来判断什么情况下获胜的概率高,从而积累经验,好似学习,最后,这个计算机程序成为了一个比他自己还厉害的棋手。

Arthur Samuel (1959). Machine Learning: Field of study that gives computers the ability to learn without being explicitly programmed.

机器学习算法

主要有两种机器学习的算法分类

监督学习

无监督学习

两者的区别为是否需要人工参与数据结果的标注。这两部分的内容占比很大,并且很重要,掌握好了可以在以后的应用中节省大把大把的时间~

还有一些算法也属于机器学习领域,诸如:

半监督学习: 介于监督学习于无监督学习之间

推荐算法: 没错,就是那些个买完某商品后还推荐同款的某购物网站所用的算法。

强化学习: 通过观察来学习如何做出动作,每个动作都会对环境有所影响,而环境的反馈又可以引导该学习算法。

迁移学习

1.3 监督学习(Supervised Learning)

监督学习,即为教计算机如何去完成预测任务(有反馈),预先给一定数据量的输入和对应的结果即训练集,建模拟合,最后让计算机预测未知数据的结果。

监督学习一般有两种:

回归问题(Regression)

回归问题即为预测一系列的连续值。

在房屋价格预测的例子中,给出了一系列的房屋面基数据,根据这些数据来预测任意面积的房屋价格。给出照片-年龄数据集,预测给定照片的年龄。

 

分类问题(Classification)

分类问题即为预测一系列的离散值。

即根据数据预测被预测对象属于哪个分类。

视频中举了×××肿瘤这个例子,针对诊断结果,分别分类为良性或恶性。还例如垃圾邮件分类问题,也同样属于监督学习中的分类问题。

 

视频中提到支持向量机这个算法,旨在解决当特征量很大的时候(特征即如×××例子中的肿块大小,颜色,气味等各种特征),计算机内存一定会不够用的情况。支持向量机能让计算机处理无限多个特征。

1.4 无监督学习(Unsupervised Learning)

相对于监督学习,训练集不会有人为标注的结果(无反馈),我们不会给出结果或无法得知训练集的结果是什么样,而是单纯由计算机通过无监督学习算法自行分析,从而“得出结果”。计算机可能会把特定的数据集归为几个不同的簇,故叫做聚类算法。

无监督学习一般分为两种:

聚类(Clustering)

新闻聚合

DNA 个体聚类

天文数据分析

市场细分

社交网络分析

非聚类(Non-clustering)

鸡尾酒问题

新闻聚合

在例如谷歌新闻这样的网站中,每天后台都会收集成千上万的新闻,然后将这些新闻分组成一个个的新闻专题,这样一个又一个聚类,就是应用了无监督学习的结果。

鸡尾酒问题

 

在鸡尾酒会上,大家说话声音彼此重叠,几乎很难分辨出面前的人说了什么。我们很难对于这个问题进行数据标注,而这里的通过机器学习的无监督学习算法,就可以将说话者的声音同背景音乐分离出来,看视频,效果还不错呢~~。

嗯,这块是打打鸡血的,只需要一行代码就解决了问题,就是这么简单!当然,我没复现过 ^_^……

神奇的一行代码: [W,s,v] = svd((repmat(sum(x.*x,1),size(x,1),1).*x)*x');

编程语言建议

在机器学习刚开始时,推荐使用 Octave 类的工程计算编程软件,因为在 C++ 或 Java 等编程语言中,编写对应的代码需要用到复杂的库以及要写大量的冗余代码,比较耗费时间,建议可以在学习过后再考虑使用其他语言来构建系统。 另外,在做原型搭建的时候也应该先考虑使用类似于 Octave 这种便于计算的编程软件,当其已经可以工作后,才将模型移植到其他的高级编程语言中。

注:Octave 与 MATLAB 语法相近,由于 MATLAB 为商业软件,课程中使用开源且免费的 Octave。

机器学习领域发展迅速,现在也可使用 Tensorflow 等开源机器学习框架编写机器学习代码,这些框架十分友好,易于编写及应用。

2 单变量线性回归(Linear Regression with One Variable)

2.1 模型表示(Model Representation)

房价预测训练集


Size in ()


Price ($) in 1000's()


2104


460


1416


232


1534


315


852


178


...


...

房价预测训练集中,同时给出了输入 和输出结果 ,即给出了人为标注的”正确结果“,且预测的量是连续的,属于监督学习中的回归问题。  

问题解决模型

 

其中 代表结果函数,也称为假设(hypothesis) 。假设函数根据输入(房屋的面积),给出预测结果输出(房屋的价格),即是一个 的映射。  

,为解决房价问题的一种可行表达式。  

: 特征/输入变量。  

上式中, 为参数, 的变化才决定了输出结果,不同以往,这里的 被我们视作已知(不论是数据集还是预测时的输入),所以怎样解得 以更好地拟合数据,成了求解该问题的最终问题。  

单变量,即只有一个特征(如例子中房屋的面积这个特征)。

2.2 代价函数(Cost Function)

李航《统计学习方法》一书中,损失函数与代价函数两者为同一概念,未作细分区别,全书没有和《深度学习》一书一样混用,而是统一使用损失函数来指代这类类似概念。

吴恩达(Andrew Ng)老师在其公开课中对两者做了细分。如果要听他的课做作业,不细分这两个概念是会被打小手扣分的!这也可能是因为老师发现了业内混用的乱象,想要治一治吧。

损失函数(Loss/Error Function): 计算单个训练集的误差

代价函数(Cost Function): 计算整个训练集所有损失函数之和的平均值

综合考虑,本笔记对两者概念进行细分,若有所谬误,欢迎指正。

机器学习中的目标函数、损失函数、代价函数有什么区别?- 知乎  

我们的目的在于求解预测结果 最接近于实际结果 时 的取值,则问题可表达为求解 的最小值。  

: 训练集中的样本总数  

: 目标变量/输出变量  

: 训练集中的实例  

: 训练集中的第 个样本实例  

 

上图展示了当 取不同值时, 对数据集的拟合情况,蓝色虚线部分代表建模误差(预测结果与实际结果之间的误差),我们的目标就是最小化所有误差之和。  

为了求解最小值,引入代价函数(Cost Function)概念,用于度量建模误差。考虑到要计算最小值,应用二次函数对求和式建模,即应用统计学中的平方损失函数(最小二乘法):

 

: 的预测值  

系数 存在与否都不会影响结果,这里是为了在应用梯度下降时便于求解,平方的导数会抵消掉 。  

讨论到这里,我们的问题就转化成了求解 的最小值。  

2.3 代价函数 - 直观理解1(Cost Function - Intuition I)

根据上节视频,列出如下定义:

假设函数(Hypothesis):

参数(Parameters):

代价函数(Cost Function):

目标(Goal):

为了直观理解代价函数到底是在做什么,先假设 ,并假设训练集有三个数据,分别为,这样在平面坐标系中绘制出 ,并分析 的变化。  

 

右图 随着 的变化而变化,可见当 时,,取得最小值,对应于左图青色直线,即函数 拟合程度最好的情况。  

2.4 代价函数 - 直观理解2(Cost Function - Intuition II)

注:该部分由于涉及到了多变量成像,可能较难理解,要求只需要理解上节内容即可,该节如果不能较好理解可跳过。

给定数据集:

 

参数在 不恒为 时代价函数 关于 的3-D图像,图像中的高度为代价函数的值。  

 

由于3-D图形不便于标注,所以将3-D图形转换为轮廓图(contour plot),下面用轮廓图(下图中的右图)来作直观理解,其中相同颜色的一个圈代表着同一高度(同一 值)。  

时:  

 

大概在 时:  

 

上图中最中心的点(红点),近乎为图像中的最低点,也即代价函数的最小值,此时对应 对数据的拟合情况如左图所示,嗯,一看就拟合的很不错,预测应该比较精准啦。

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标人工智能机器学习频道!


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程