Machine Learning - Andrew Ng on Coursera (Week 1)
转载自:http://1.kaopuer.applinzi.com/?p=110
今天分享了Coursera上Andrew Ng的Machine Learning第一周的课程,主要内容有如下,详细内容可以参考文末附件:
- 有监督式学习和无监督式学习
- 线性回归的模型表示及成本函数
- 梯度下降算法
- 线性代数回顾
有监督式学习和无监督式学习
机器学习可以简单地理解为是从数据中学习一个映射函数,使得对于新的输入数据[Math Processing Error]预测其对应的[Math Processing Error]。机器学习的算法大致可以分为有监督学习(Supervised Learning)和无监督学习(Unsupervised Learning)两种。两者的区别主要在于在学习的过程中训练集数据是否提供了因变量[Math Processing Error]的信息,如果提供了[Math Processing Error]的信息,那么该过程就是有监督学习,否则就是无监督学习。典型的有监督式学习如分类算法、回归算法,分别针对的是离散值和连续值的预测;无监督式学习如聚类算法等,在搜索引擎,生物基因等领域也有着广泛的应用。
婧文提出,如何对无监督学习的结果进行评价,这是一个很好的问题。通常是通过定义评价函数来对无监督学习算法的效果进行评价的,但在实际问题中,评价函数并不完全是数据的客观评价,而是结合问题求解目标的一种人为定义。半监督学习(Semi-Superviesed Learning)则是主要考虑如何利用少量的标注样本和大量的未标注样本进行训练和分类的问题。半监督学习对于减少标注代价,提高学习机器性能具有非常重大的实际意义。
在整个课程中主要还是以介绍有监督学习为主,但是从有监督学习的学习中也可以从中看出机器学习对问题的切入点,慢慢也可以体会到机器学习是怎样定义一个学习任务的然后又是怎样进行学习的。
线性回归的模型表示及成本函数
以线性回归(Linear Regression)为例切入整个课程的学习,将机器学习的主干任务串联起来。可以将实际问题抽象为具体的数学模型,具体建模过程如下图所示:

课程中以对房子价格的预测为例,问题是:给定一批已知的房子大小和价格的对应关系数据,如何对一个给定大小的房子进行估值。模型大概可以分解为:
- 假设(Hypothesis):[Math Processing Error].
- 参数(Parameters):[Math Processing Error]和[Math Processing Error].
- 成本函数(Cost Functions):[Math Processing Error]
- 优化目标:[Math Processing Error]
以上也是对一个机器学习问题的一般建模思路。
梯度下降算法
当然,对于线性回归问题可以直接利用数值求得解析解,但这里引入了梯度下降法(Gradient Descent Algorithm)展示机器学习算法的一般过程。梯度下降法的框架很简单,随机选择一个起点,然后按照梯度相反方向迭代直到收敛,公式如下:
[Math Processing Error]
其中[Math Processing Error]是学习速率(Learning Rate),如果设置过小,算法迭代过程会相对很慢;而如果设置过大,算法可能无法达到最小值甚至无法收敛。课程中介绍了一种方法,即初始学习速率较大,随着向极值点靠近,学习速率也逐渐减小。
另外值得注意的是,在线性回归问题中,成本函数的3D图像是呈碗状的,即有全局最优。在其他问题的成本函数还可能存在除全局最优以外的极值点,也可称为局部最优。在这种情况下,算法可能会陷入局部最优的麻烦,这时可以采用随机选取其他的起始点再次利用梯度下降算法求解,比较两次结果取其中优者。
线性代数回顾
线性代数对于计算机科学来讲地位是非常重要的。Andrew和吴金闪老师都指出在计算矩阵乘法时,采用现有的矩阵运算包比自己用for
循环写出来的效率要高。吴金闪老师还提到了Strassen算法,将大矩阵拆分成若干个小矩阵进行运算会降低求解的时间复杂度。同时,在诸如奇异值分解(Singular Value Decomposition)等算法中,线性代数有着广泛的应用。因此,本课程第一周的补充材料里面还对线性代数的一些基础概念进行了讲解,主要包括了:
- 向量和矩阵
- 矩阵加法和标量乘法
- 矩阵和向量相乘
- 矩阵和矩阵相乘
- 矩阵的转置和逆
若有不当之处,请大家指正,谢谢!
附本次分享演示文档:ML-Coursera-Week1
Machine Learning - Andrew Ng on Coursera (Week 1)相关推荐
- Machine Learning - Andrew Ng on Coursera (Week 6)
本篇文章将分享Coursera上Andrew Ng的Machine Learning第六周的课程,主要内容有如下,详细内容可以参考文末附件: 评价机器学习算法 Diagnosing bias vs. ...
- Machine Learning - Andrew Ng on Coursera (Week 5)
本篇文章将分享Coursera上Andrew Ng的Machine Learning第五周的课程,主要内容有如下,详细内容可以参考文末附件: 代价函数及后向算法 Cost function(代价函数) ...
- Machine Learning - Andrew Ng on Coursera (Week 4)
本篇文章将分享Coursera上Andrew Ng的Machine Learning第四周的课程,主要内容有如下,详细内容可以参考文末附件: 动机 神经网络 应用 动机 为什么要引入神经网络?在分类问 ...
- Machine Learning - Andrew Ng on Coursera (Week 3)
本篇文章将分享Coursera上Andrew Ng的Machine Learning第三周的课程,主要内容有如下,详细内容可以参考文末附件: 分类问题及模型表示 逻辑回归模型 多类别的分类问题 解决过 ...
- Machine Learning - Andrew Ng on Coursera (Week 2)
本篇文章将分享Coursera上Andrew Ng的Machine Learning第二周的课程,主要内容有如下,详细内容可以参考文末附件: 设置作业环境 多变量线性回归 参数的解析算法 Octave ...
- Andrew Ng 的 Machine Learning 课程学习 (week4) Multi-class Classification and Neural Networks
这学期一直在跟进 Coursera上的 Machina Learning 公开课, 老师Andrew Ng是coursera的创始人之一,Machine Learning方面的大牛.这门课程对想要了解 ...
- Machine Learning笔记(三) 多变量线性回归
2019独角兽企业重金招聘Python工程师标准>>> Machine Learning笔记(三) 多变量线性回归 注:本文内容资源来自 Andrew Ng 在 Coursera上的 ...
- 文字记录,对话吴恩达(Andrew Ng):超级大咖深度解析人工智能的发展现状与未来
转自:微信订阅号 机器学习研究会,人工智能交流群文字记录 雷鸣: 首先介绍嘉宾 嘉宾: -吴恩达(Andrew Ng):百度首席科学家,"百度大脑"."谷歌大脑&quo ...
- 吴恩达ex3_Andrew Ng在Coursera上课程ex3的一点小心得
Andrew Ng在Coursera上课程ex3的一点小心得 (2012-09-16 11:20:38) ex3中第三问要求用logistic regression来进行预测,第四问用神经网络算法进行 ...
最新文章
- 【组队学习】曹志宾:基于Python的会员数据化运营
- Your system is running in low-graphics mode
- NOIP2007 树网的核 [BZOJ2282][Sdoi2011]消防
- 笔记-项目整体管理-项目管理计划
- git编译安装与常见问题解决
- php文档头,头部文档(header.php)
- 阿里移动推送服务端API
- Android 动态显示和隐藏软键盘
- redis的set集合
- win10清除系统激活密钥
- 数据结构实验一,第10题:基于顺序存储结构的图书信息表的图书去重
- python的分支语句if基本用法
- 常见的液晶显示模块类型
- php解密出售,有会php解密的来一位
- 秋招面试总结(计算机视觉、3D算法、三维重建、相机标定等岗位)
- 根据电话号码获得联系人头像
- 2022年“IEERA杯”国际高校英语翻译挑战赛
- spring应用集成skywalking监控组件[附带log4j2集成]
- java三层、四层和五层结构介绍
- JMeter官方文档阅读及实践笔记(上)
热门文章
- annotation-config vs component-scan – Spring Core--转
- zookeeper源码分析之六session机制
- OAuth2基本概念和运作流程
- 一文了解YOLO-v4目标检测
- 灰度图像--图像增强 平滑之均值滤波、高斯滤波
- 布道微服务_10注册中心与RPC框架的选型
- Linux-find命令
- Linux-grep命令
- Android日期分组,按查询分组在列表视图android中显示一些意...
- java round指令_Java PApplet.round方法代码示例