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)是在概率论中用来估计未知的密度函数,属于非 ...
随机推荐
- Java项目打包部署war文件
1.选中要打包的项目,右键单击,选择“Export-->WAR File”,在弹出的对话框中选择Destination.Server runtime等选项,点击Finish: 2.可以看到指定目 ...
- SSO单点登录实现原理与总结
一.什么是单点登录SSO(Single Sign-On) SSO是一种统一认证和授权机制,指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用 ...
- jquery刷新页面
下面介绍全页面刷新方法:有时候可能会用到 window.location.reload()刷新当前页面. parent.location.reload()刷新父亲对象(用于框架) opener.loc ...
- GJM : Python简单爬虫入门(二) [转载]
感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...
- Atitit.js javascript的rpc框架选型
Atitit.js javascript的rpc框架选型 1. Dwr1 2. 使用AJAXRPC1 2.2. 数据类型映射表1 3. json-rpc轻量级远程调用协议介绍及使用2 3.1. 2.3 ...
- 【转】正确设置php-fpm子进程用户,提高网站安全性防挂马
原文地址:http://www.myhack58.com/Article/60/61/2013/37209.htm 根据生产环境不断反馈,发现不断有 PHP网站被挂木马,绝大部分原因是因为权限设置不合 ...
- Javascript 语言精粹 代码片段合集
Javascript 语言精粹 代码片段合集 标签:Douglas-Crockford Javascript 最佳实践 原文链接 更好的阅读体验 使用一个method 方法定义新方法 Function ...
- Nodejs与ES6系列1:变量声明
1.声明变量 在JS当中一个变量的作用域(scope)是程序中定义这个变量的区域.变量分为两类,全局(global)的和局部的.其中全局变量的作用域是全局性的,即在JavaScript代码中,它处处都 ...
- Bootstrap左侧下拉三级菜单
在线实例 效果一 效果二 效果三 使用方法 <script src="/api/jq/BootstrapCaidan/js/metismenu.js"></scr ...
- transform:rotate在手机上显示有锯齿的解决方案大全
先来个兼容性说明,洗洗脑: div{transform:rotate(7deg);-ms-transform:rotate(7deg); /* IE 9 */-moz-transform:rotate ...