coursera机器学习笔记-机器学习概论,梯度下降法
#对coursera上Andrew Ng老师开的机器学习课程的笔记和心得;
#注:此笔记是我自己认为本节课里比较重要、难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点;
#标记为<补充>的是我自己加的内容而非课堂内容,参考文献列于文末。博主能力有限,若有错误,恳请指正;
#---------------------------------------------------------------------------------#
这一周的内容是机器学习介绍和梯度下降法。作为入门NG的这个课已足够,想较深入理解的话强烈建议去听coursera上台湾大学机器学习的内容。
#---------------------------------------------------------------------------------#
什么是机器学习?

Tom Mitchell给出的定义: 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.
换句话说,我们想让机器在某些方面有所提高(如商品推荐的准确率),就“喂”给机器一些数据(用户资料、网购记录等等),然后让机器从这些数据中学习,达到某个准确率提高的目的。
#---------------------------------------------------------------------------------#
机器学习按照数据标记分可分为四类:监督式学习,无监督学习,半监督学习和增强学习;
supervised learning(监督式): Application in which the training data comprises examples of the input vectors, along with their correspongding target vectors are known.
关键词: "right answer" given(有标签), classification, regression;
unsupervised learning(无监督): The training data consists of a set of input vectors X without any corresponding target values.
关键词: 无标签,clusering, density estimation, visualization;
Semi-supervised learning(半监督): is a class of machine learning techniques that make use of both labeled and unlabeled data for training - typically a small amount of labeled data with a large amount of unlabeled data.
关键词: 部分有标签;
reinforcement learning(增强学习): a teacher only says to classifier whether it is right when suggesting a category for a pattern. The teacher does not tell what the correct category is.就是说一个评价仅仅给出某种判断是对还是错,而没有给出错在哪里。
《补充》根据输入输出变量的不同类型,对预测任务给予不同的名称,
输入输出变量均为连续->回归问题,输出变量为有限个离散变量->分类问题,输入输出变量均为变量序列->标注问题;
#---------------------------------------------------------------------------------#
<补充>机器学习三要素-模型(model)、策略(strategy)、算法(algorithm);
模型就是所要学习条件概率分布或决策函数,模型的假设空间包含所有可能的条件概率分布或者决策函数。我们常见的一些方法,像隐马模型(HMM)、SVM模型、决策树模型等等都归于此类;
策略是指按照什么样的准则来学习或者挑选模型,常用到经验风险最小化或者结构风险最小化,像课上讲的J(Θ)、损失函数属于此类;
这里的算法是指学习模型的具体计算方法,即用什么样的方法来求得最优解,机器学习问题归结为最优化问题,像课上讲的梯度下降法,其他如牛顿法、拟牛顿法属于此类;
#---------------------------------------------------------------------------------#
cost function,J(theta)的几张图非常有助于理解,单参数的bell-shape,双参数的3D-plot和等高线plot;
,
,
,
学习速率α的大小很重要,小了导致梯度下降变慢,大了导致不收敛。所以要解决局部最优问题,改变α可能不是一个好办法,还是选多个初始位点来的安全;
#---------------------------------------------------------------------------------#
batch gradient descent 求解思路:
(1)将J(theta)对theta求偏导,得到每个theta对应的的梯度

(2)每次移动的时候考虑所有的实验点,按每个参数theta的梯度负方向,来更新每个theta

#---------------------------------------------------------------------------------#
stochastic gradient descent求解思路:
扫描每个点的时候就决定了参数的按照该点的梯度进行参数调整,每次参数调整只考虑当前一个试验点。

#---------------------------------------------------------------------------------#
《补充》标准梯度下降和随机梯度下降的关键区别:
1,标准梯度下降在权值更新前对所有样例汇总误差,而随机梯度下降的权值是通过考察每个训练实例来更新的;
2,标准梯度下降中,权值更新每一步对多个样例求和,需要更多计算,另外其使用的是真正的梯度,故每一次权值更新经常使用比随机梯度下降大的步长;
3,两者都不能保证找到全局最优解,随机梯度下降有时能够避免陷入局部极小值,因为它使用不同的梯度来引导搜索;
梯度下降法一般适用于计算过程的前期迭代或作为间插步骤,当接近极小点时,用梯度下降法不利于达到迭代的终止;
#---------------------------------------------------------------------------------#
参考文献:
《统计学习方法》,李航著;
《machine learning》, by Tom Mitchell;
couresra课程: standford machine learning, by Andrew Ng;
couresra课程:台湾大学機器學習基石,by 林軒田;
coursera机器学习笔记-机器学习概论,梯度下降法的更多相关文章
- Coursera在线学习---第一节.梯度下降法与正规方程法求解模型参数比较
一.梯度下降法 优点:即使特征变量的维度n很大,该方法依然很有效 缺点:1)需要选择学习速率α 2)需要多次迭代 二.正规方程法(Normal Equation) 该方法可以一次性求解参数Θ 优点:1 ...
- coursera机器学习笔记-建议,系统设计
#对coursera上Andrew Ng老师开的机器学习课程的笔记和心得: #注:此笔记是我自己认为本节课里比较重要.难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点: #标记为<补 ...
- coursera机器学习笔记-多元线性回归,normal equation
#对coursera上Andrew Ng老师开的机器学习课程的笔记和心得: #注:此笔记是我自己认为本节课里比较重要.难理解或容易忘记的内容并做了些补充,并非是课堂详细笔记和要点: #标记为<补 ...
- [机器学习] ML重要概念:梯度(Gradient)与梯度下降法(Gradient Descent)
引言 机器学习栏目记录我在学习Machine Learning过程的一些心得笔记,涵盖线性回归.逻辑回归.Softmax回归.神经网络和SVM等等,主要学习资料来自网上的免费课程和一些经典书籍,免费课 ...
- [机器学习] Coursera ML笔记 - 逻辑回归(Logistic Regression)
引言 机器学习栏目记录我在学习Machine Learning过程的一些心得笔记,涵盖线性回归.逻辑回归.Softmax回归.神经网络和SVM等等.主要学习资料来自Standford Andrew N ...
- 机器学习基础——梯度下降法(Gradient Descent)
机器学习基础--梯度下降法(Gradient Descent) 看了coursea的机器学习课,知道了梯度下降法.一开始只是对其做了下简单的了解.随着内容的深入,发现梯度下降法在很多算法中都用的到,除 ...
- Coursera台大机器学习基础课程学习笔记1 -- 机器学习定义及PLA算法
最近在跟台大的这个课程,觉得不错,想把学习笔记发出来跟大家分享下,有错误希望大家指正. 一机器学习是什么? 感觉和 Tom M. Mitchell的定义几乎一致, A computer program ...
- Coursera 机器学习笔记(八)
主要为第十周内容:大规模机器学习.案例.总结 (一)随机梯度下降法 如果有一个大规模的训练集,普通的批量梯度下降法需要计算整个训练集的误差的平方和,如果学习方法需要迭代20次,这已经是非常大的计算代价 ...
- Coursera 机器学习笔记(七)
主要为第九周内容:异常检测.推荐系统 (一)异常检测(DENSITY ESTIMATION) 核密度估计(kernel density estimation)是在概率论中用来估计未知的密度函数,属于非 ...
随机推荐
- Myeclipse打开是 报:failed to create jvm的解决办法
一.方法1 1.打开文件 2.更改大小 二.办法2 关闭QQ或者杀毒软件
- Hibernate原生SQL查询
最近在做一个较为复杂的查询,hibernate基本的查询不能满足,只好使用其提供的原生sql查询.参考网上的一些资料,做一些总结. 对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行 ...
- 第十一届“蓝狐网络杯”湖南省大学生计算机程序设计竞赛 B - 大还是小? 字符串水题
B - 大还是小? Time Limit:5000MS Memory Limit:65535KB 64bit IO Format: Description 输入两个实数,判断第一个数大 ...
- 通过RODBC包操作mysql数据库
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管理.---百度百科 1. MySQL安装 官网下载 ...
- 关于jQuery里面的选择器
一.JQuery选择器的概述 选择器是JQuery的根基,在JQuery中,对事件处理.遍历DOM和Ajax操作都依赖于选择器. 二.选择器的优势 1.简洁的语法 2.支持CSS1.0到CSS3.0选 ...
- 03Mybatis_mybatis框架原理——执行流程
mybatis的框架的原理(执行流程).
- 15款最佳的MySQL管理工具和应用程序
工欲善其事,必先利其器.几乎每个开发人员都有最钟爱的 MySQL 管理工具,它帮助开发人员在许多方面支持包括 PostgreSQL,MySQL,SQLite,Redis,MongoDB 等在内的多种数 ...
- Echo.js – 简单易用的 JavaScript 图片延迟加载插件
Echo.js 是一个独立的延迟加载图片的 JavaScript 插件.Echo.js 不依赖第三方库,压缩后不到1KB大小. 延迟加载是提高网页首屏显示速度的一种很有效的方法,当图片元素进入窗口可视 ...
- [deviceone开发]-基础文件管理器
一.简介 主要实现本地文件管理功能,主要功能为复制.粘贴.剪切目录或者文件. 二.效果 三.相关下载 https://github.com/do-project/code4do/tree/master ...
- 安装 Ubuntu 后的个人常用配置
在 ASA 猪队友的带领下,拥抱开源世界,用上了Ubuntu.资深强迫症现身说法,配置符合自己使用习惯的Ubuntu. 1. 窗口标题栏显示菜单项 打开系统设置->外观->行为,在[显示窗 ...