机器学习公开课笔记(1):机器学习简介及一元线性回归

初步介绍

监督式学习: 给定数据集并且知道其正确的输出应该是怎么样的,即有反馈(feedback),分为

  • 回归 (Regressioin): map输入到连续的输出值。
  • 分类 (Classification):map输出到离散的输出值。

非监督式学习: 给定数据集,并不知道其正确的输出是什么,没有反馈,分为

  • 聚类(Clustering): Examples: Google News, Computer Clustering, Markert Segmentation.
  • 关联(Associative):Examples: 根据病人特征估算其病症.

一元线性回归

假设(Hypothesis):hθ(x)=θ0+θ1x

参数(Parameters):θ0,θ1

代价函数(Cost Function):J(θ0,θ1)=12mi=1m(hθ(x(i))y(i))2,最小二乘法

目标函数(Goal): minθ0,θ1J(θ0,θ1)

梯度下降算法(Gradient descent)

基本思想:

  • 初始化θ0,θ1
  • 调整θ0,θ1直到J(θ0,θ1)达到最小值, 更新公式(θj=θjαθjJ(θ0,θ1))

对于一元线性回归问题,对J(θ0,θ1)求偏导数可得
Jθ0=12mi=1m2×(θ0+θ1x(i)y(i))=1mi=1m(hθ(x(i))y(i))
Jθ1=12mi=1m2×(θ0+θ1x(i)y(i))x(i)=1mi=1m(hθ(x(i))y(i))x(i)
从而参数θ0,θ1的更新公式为
θ0=θ0α1mi=1m(hθ(x(i))y(i))
θ1=θ1α1mi=1m(hθ(x(i))y(i))x(i)
其中α称为学习速率(learning rate),如果其太小,则算法收敛速度太慢;反之,如果太大,则算法可能会错过最小值,甚至不收敛。另一个需要注意的问题是,上面θ0,θ1的更新公式用到了数据集的全部数据 (称为“Batch” Gradient Descent),这意味着对于每一次 update ,我们必须扫描整个数据集,会导致更新速度过慢。

线性代数复习

  • 矩阵和向量定义
  • 矩阵加法和数乘
  • 矩阵-向量乘积
  • 矩阵-矩阵乘积
  • 矩阵乘法的性质:结合律,交换律不成立
  • 矩阵的逆和转置:不存在逆元的矩阵称为“奇异(singular)矩阵”

参考文献

[1] Andrew Ng Coursera 公开课第一周

posted @   python27  阅读(3680)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
历史上的今天:
2011-12-07 【算法14】找出数组中两个只出现一次的数字
点击右上角即可分享
微信分享提示