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 公开课第一周

  • 相关阅读:
    September 17th 2016 Week 38th Saturday
    【2016-09-16】UbuntuServer14.04或更高版本安装问题记录
    September 16th 2016 Week 38th Friday
    September 11th 2016 Week 38th Sunday
    September 12th 2016 Week 38th Monday
    September 10th 2016 Week 37th Saturday
    September 9th 2016 Week 37th Friday
    c++暂停
    八皇后问题
    ( 转转)Android初级开发第九讲--Intent最全用法(打开文件跳转页面等)
  • 原文地址:https://www.cnblogs.com/python27/p/MachineLearningWeek01.html
Copyright © 2011-2022 走看看