zoukankan      html  css  js  c++  java
  • 机器学习公开课笔记(1):机器学习简介及一元线性回归

    初步介绍

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

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

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

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

    一元线性回归

    假设(Hypothesis):$h_ heta(x)= heta_0+ heta_1 x$

    参数(Parameters):$ heta_0, heta_1$

    代价函数(Cost Function):$J( heta_0, heta_1) = frac{1}{2m}sumlimits_{i=1}^{m}left(h_ heta(x^{(i)}) - y^{(i)} ight)^2$,最小二乘法

    目标函数(Goal): $minlimits_{ heta_0, heta_1}J( heta_0, heta_1)$

    梯度下降算法(Gradient descent)

    基本思想:

    • 初始化$ heta_0, heta_1$
    • 调整$ heta_0, heta_1$直到$J( heta_0, heta_1)$达到最小值, 更新公式($ heta_j = heta_j - alphafrac{partial}{partial heta_j}J( heta_0, heta_1)$)

    对于一元线性回归问题,对$J( heta_0, heta_1)$求偏导数可得
    $$frac{partial J}{partial heta_0} = frac{1}{2m}sumlimits_{i=1}^{m}2 imesleft( heta_0 +  heta_1x^{(i)} - y^{(i)} ight) = frac{1}{m}sumlimits_{i=1}^{m}left( h_ heta(x^{(i)}) - y^{(i)} ight)$$
    $$frac{partial J}{partial heta_1} = frac{1}{2m}sumlimits_{i=1}^{m}2 imesleft( heta_0 +  heta_1x^{(i)} - y^{(i)} ight)x^{(i)} = frac{1}{m}sumlimits_{i=1}^{m}left( h_ heta(x^{(i)}) - y^{(i)} ight)x^{(i)}$$
    从而参数$ heta_0, heta_1$的更新公式为
    $$ heta_0 = heta_0 - alphafrac{1}{m}sumlimits_{i=1}^{m}left( h_ heta(x^{(i)}) - y^{(i)} ight)$$
    $$ heta_1 = heta_1 - alphafrac{1}{m}sumlimits_{i=1}^{m}left( h_ heta(x^{(i)}) - y^{(i)} ight)x^{(i)}$$
    其中$alpha$称为学习速率(learning rate),如果其太小,则算法收敛速度太慢;反之,如果太大,则算法可能会错过最小值,甚至不收敛。另一个需要注意的问题是,上面$ heta_0, heta_1$的更新公式用到了数据集的全部数据 (称为“Batch” Gradient Descent),这意味着对于每一次 update ,我们必须扫描整个数据集,会导致更新速度过慢。

    线性代数复习

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

    参考文献

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

  • 相关阅读:
    pktgen使用指南
    常见的网卡调优
    网络PPS测试
    网络性能测试工具qperf
    设置虚拟机静态IP
    superset填坑
    js格式化
    《你不知道的JavaScript》读书笔记(一):JS是如何查找变量的
    技术分享PPT整理(三):网页渲染流程
    技术分享PPT整理(二):C#常用类型与数据结构
  • 原文地址:https://www.cnblogs.com/python27/p/MachineLearningWeek01.html
Copyright © 2011-2022 走看看