机器学习公开课笔记(1):机器学习简介及一元线性回归
初步介绍
监督式学习: 给定数据集并且知道其正确的输出应该是怎么样的,即有反馈(feedback),分为
- 回归 (Regressioin): map输入到连续的输出值。
- 分类 (Classification):map输出到离散的输出值。
非监督式学习: 给定数据集,并不知道其正确的输出是什么,没有反馈,分为
- 聚类(Clustering): Examples: Google News, Computer Clustering, Markert Segmentation.
- 关联(Associative):Examples: 根据病人特征估算其病症.
一元线性回归
假设(Hypothesis):$h_\theta(x)=\theta_0+\theta_1 x$
参数(Parameters):$\theta_0, \theta_1$
代价函数(Cost Function):$J(\theta_0, \theta_1) = \frac{1}{2m}\sum\limits_{i=1}^{m}\left(h_\theta(x^{(i)}) - y^{(i)}\right)^2$,最小二乘法
目标函数(Goal): $\min\limits_{\theta_0, \theta_1}J(\theta_0, \theta_1)$
梯度下降算法(Gradient descent)
基本思想:
- 初始化$\theta_0, \theta_1$
- 调整$\theta_0, \theta_1$直到$J(\theta_0, \theta_1)$达到最小值, 更新公式($\theta_j = \theta_j - \alpha\frac{\partial}{\partial \theta_j}J(\theta_0, \theta_1)$)
对于一元线性回归问题,对$J(\theta_0, \theta_1)$求偏导数可得
$$\frac{\partial J}{\partial \theta_0} = \frac{1}{2m}\sum\limits_{i=1}^{m}2\times\left(\theta_0 + \theta_1x^{(i)} - y^{(i)} \right) = \frac{1}{m}\sum\limits_{i=1}^{m}\left( h_\theta(x^{(i)}) - y^{(i)} \right)$$
$$\frac{\partial J}{\partial \theta_1} = \frac{1}{2m}\sum\limits_{i=1}^{m}2\times\left(\theta_0 + \theta_1x^{(i)} - y^{(i)} \right)x^{(i)} = \frac{1}{m}\sum\limits_{i=1}^{m}\left( h_\theta(x^{(i)}) - y^{(i)} \right)x^{(i)}$$
从而参数$\theta_0, \theta_1$的更新公式为
$$\theta_0 = \theta_0 - \alpha\frac{1}{m}\sum\limits_{i=1}^{m}\left( h_\theta(x^{(i)}) - y^{(i)} \right)$$
$$\theta_1 = \theta_1 - \alpha\frac{1}{m}\sum\limits_{i=1}^{m}\left( h_\theta(x^{(i)}) - y^{(i)} \right)x^{(i)}$$
其中$\alpha$称为学习速率(learning rate),如果其太小,则算法收敛速度太慢;反之,如果太大,则算法可能会错过最小值,甚至不收敛。另一个需要注意的问题是,上面$\theta_0, \theta_1$的更新公式用到了数据集的全部数据 (称为“Batch” Gradient Descent),这意味着对于每一次 update ,我们必须扫描整个数据集,会导致更新速度过慢。
线性代数复习
- 矩阵和向量定义
- 矩阵加法和数乘
- 矩阵-向量乘积
- 矩阵-矩阵乘积
- 矩阵乘法的性质:结合律,交换律不成立
- 矩阵的逆和转置:不存在逆元的矩阵称为“奇异(singular)矩阵”
参考文献
[1] Andrew Ng Coursera 公开课第一周
转载于:https://www.cnblogs.com/python27/p/MachineLearningWeek01.html
机器学习公开课笔记(1):机器学习简介及一元线性回归相关推荐
- 北京大学肖臻老师《区块链技术与应用》公开课笔记1——课程简介篇
北京大学肖臻老师<区块链技术与应用>公开课笔记 课程简介篇,对应肖老师视频:click here 全系列笔记请见:click here About Me:点击进入我的Personal Pa ...
- 机器学习公开课笔记(8):k-means聚类和PCA降维
K-Means算法 非监督式学习对一组无标签的数据试图发现其内在的结构,主要用途包括: 市场划分(Market Segmentation) 社交网络分析(Social Network Analysis ...
- Andrew Ng机器学习公开课笔记 -- Logistic Regression
网易公开课,第3,4课 notes,http://cs229.stanford.edu/notes/cs229-notes1.pdf 前面讨论了线性回归问题, 符合高斯分布,使用最小二乘来作为损失函数 ...
- Andrew Ng机器学习公开课笔记 -- 朴素贝叶斯算法
网易公开课,第5,6课 notes,http://cs229.stanford.edu/notes/cs229-notes2.pdf 前面讨论了高斯判别分析,是一种生成学习算法,其中x是连续值 这 ...
- 斯坦福机器学习公开课笔记--神经网络的学习
转载自:http://blog.csdn.net/jj12345jj198999/article/details/9024037 公开课地址:https://class.coursera.org/ml ...
- 机器学习公开课笔记第一周
一,机器学习是什么? "A computer program is said to learn from experience E with respect to some class of ...
- 【原】机器学习公开课 目录(课程笔记、测验习题答案、编程作业源码)...持续更新......
之前看过的机器学习课程.本文是相关课程笔记.习题答案.作业源码的电梯. 1 Coursera 斯坦福机器学习课程,Andrew Ng 1.1 说明 课程地址和软件下载 Coursera连接不上(视频无 ...
- 斯坦福机器学习公开课学习笔记(1)—机器学习的动机与应用
(转载请注明出处:http://blog.csdn.net/buptgshengod) 1.背景 斯坦福机器学习公开课差不多是网上能找到的最好的机器学习入门课程了.现在一共有20节课放 ...
- Coursera公开课笔记: 斯坦福大学机器学习第七课“正则化(Regularization)”
Coursera公开课笔记: 斯坦福大学机器学习第七课"正则化(Regularization)" +13投票 斯坦福大学机器学习第七课"正则化"学习笔记, ...
最新文章
- javascript笔记:深入分析javascript里对象的创建(上)续篇
- 一个不错的Spectral Clustering方法的总结
- 梁戈碧:促数据中心转型 释放数据洞察力
- cpp判断输入为数字_猜数字小程序带你C语言入门
- 某瓜数据之sign参数分析
- FaceShifter:北大微软新方法让换脸更惊艳
- [Unity][AssetStore][PacakageManager]2020.1版本后的AssetStore如何下载资源并导入编辑器以及Error refreshing packages解决办法
- DelayQueue用例
- 新购电脑已装显卡,但控制面板里找不到“NVIDIA 控制面板”怎么办?
- angular 万年历_jQuery实现的简单日历组件定义与用法示例
- 作为一名基层管理者如何利用情商管理自己和团队(二)
- 解决win2003里IIS运行ASP时出现请求资源在使用中的问题
- 17,verilog之for循环
- oracle数据的安装,与基本配置
- Html5---div布局方式
- 倍福ADS通讯(一)——ADS通讯简介
- 360收藏夹html文件,360浏览器收藏夹在哪个文件夹
- Docker images导出和导入
- python生成图文并茂的pdf--财务报表(五)如何生成并列的图表
- java 下载图片并打压缩包