一.初识机器学习

  1. 何为机器学习?
    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.
    理解:通过实验E,完成某一项任务T,利用评价标准P对实验结果进行迭代优化!
  2. 机器学习主要包括监督学习(supervised)和无监督学习(unsupervised),其他的还有增强学习,推荐系统(recommender systems)等。
  3. 监督学习是指实验数据当中有可参考的正确输出,通常包括回归问题和分类问题。
  4. 回归问题(regression problem)是指预测的值,也就是实验结果是连续的,有准确的数值。
    分类问题(classification problem)是指实验结果是离散的,不是一个准确的数值。
  5. 无监督学习指聚类问题,不同于分类。如鸡尾酒会算法,在鸡尾酒会中分辨出人的声音和会场的音乐。

二.单变量线性回归问题(Linear regression with one variable)

  1. 符号标记:m(训练集中样本的数量),X`s(输入变量/特征),Y`s(输出变量/目标变量),(x,y)表示一个训练样本。
  2. 问题背景:使用房屋面积预测房价!问题描述如下图:

    上图从上向下看,表示将训练集带入到学习算法当中,进过训练得到预测函数h;再从左向右看,将房屋面积带入预测函数,输出预测的房价。
  3. 单变量线性回归问题的预测函数可以表示为:hθ(x)=θ01*x(其实就是y=ax+b),其中的θi为模型参数。所以我们的任务就变成了,使用训练集进行训练,最后得到最佳的θi值,使得我们得到的预测函数hθ(x)最接近真正的预测函数。完成此任务的方法就叫做学习算法。
  4. 代价函数(cost function)也叫平方误差函数:

    理解:量化房价预测值hθ(x(i))和实际房价值y(i)之间的偏差。因此,我们每次实验的目标就是通过调整参数θi,使得代价函数的值越来越小,这样我们的模型就越接近真实的预测模型。
  5. 根据不同的参数θi,计算代价函数J01),作出图形通常称为contour plot(等高线图),图形特点有局部最优解,也就是局部最低点。如下图所示:
  6. 梯度下降(Gradient descent):通过调整参数θi值,不断的降低代价函数J01),最后找到满意的局部最优解的过程。(参数值需初始化)
    梯度下降算法:

    其中α为学习速率,如果α值过小,梯度下降速度慢;如果α过大,梯度下降难以收敛,甚至发散。
  7. 单变量线性回归问题的梯度下降形式:

    每一次梯度下降计算过程中,都使用训练集中所有的样本!

三.线性代数知识点回顾

  1. 矩阵与向量:
    矩阵的维数:m*n(行数*列数)、矩阵中的元素:Aij(i行j列)、向量是一个n*1维的矩阵、向量中的元素:yi表示第i个元素。
    通常用大写字母表示矩阵,小写字母表示向量。一般情况下,矩阵和向量的下标索引值从数字1开始。R表示实数集,Rm*n表示m*n维矩阵,矩阵中元素为实数。
    MATLAB/Octive中代码表示:A=[1,2,3;4,5,6;7,8,9;10,11,12]   v=[1;2;3]其中符号;表示开启新行。[m,n]=size(A) 求A的维数m*n,也可写作dim_A=size(A)。同理dim_v=size(v)。A_23=A(2,3)表示取2行3列的值。
  2. 矩阵的加减法:只有两个相同维度的矩阵才可以进行加减法。
                         
  3. 矩阵乘法不满足交换律A*B!=B*A,但是满足结合律A*B*C=A*(B*C)

    I为单位矩阵,A*I=I*A=A.
  4. 矩阵的逆:AA-1=A-1A=I,其中A为m*m维的方阵,只有方阵才有逆矩阵。
    矩阵的转置:Am*n,B=AT,Bn*m,and Bij=Aij

Coursera-AndrewNg(吴恩达)机器学习笔记——第一周的更多相关文章

  1. Coursera-AndrewNg(吴恩达)机器学习笔记——第二周编程作业

    一.准备工作 从网站上将编程作业要求下载解压后,在Octave中使用cd命令将搜索目录移动到编程作业所在目录,然后使用ls命令检查是否移动正确.如: 提交作业:提交时候需要使用自己的登录邮箱和提交令牌 ...

  2. Coursera-AndrewNg(吴恩达)机器学习笔记——第二周

    一.多变量线性回归问题(linear regression with multiple variables) 搭建环境OctaveWindows的安装包可由此链接获取:https://ftp.gnu. ...

  3. Coursera-AndrewNg(吴恩达)机器学习笔记——第二周编程作业(线性回归)

    一.准备工作 从网站上将编程作业要求下载解压后,在Octave中使用cd命令将搜索目录移动到编程作业所在目录,然后使用ls命令检查是否移动正确.如: 提交作业:提交时候需要使用自己的登录邮箱和提交令牌 ...

  4. 吴恩达机器学习笔记(六) —— 支持向量机SVM

    主要内容: 一.损失函数 二.决策边界 三.Kernel 四.使用SVM (有关SVM数学解释:机器学习笔记(八)震惊!支持向量机(SVM)居然是这种机) 一.损失函数 二.决策边界 对于: 当C非常 ...

  5. Machine Learning|Andrew Ng|Coursera 吴恩达机器学习笔记

    Week1: Machine Learning: A computer program is said to learn from experience E with respect to some ...

  6. Machine Learning|Andrew Ng|Coursera 吴恩达机器学习笔记(完结)

    Week 1: Machine Learning: A computer program is said to learn from experience E with respect to some ...

  7. 吴恩达机器学习笔记19-过拟合的问题(The Problem of Overfitting)

    到现在为止,我们已经学习了几种不同的学习算法,包括线性回归和逻辑回归,它们能够有效地解决许多问题,但是当将它们应用到某些特定的机器学习应用时,会遇到过拟合(over-fitting)的问题,可能会导致 ...

  8. 吴恩达机器学习笔记 —— 19 应用举例:照片OCR(光学字符识别)

    http://www.cnblogs.com/xing901022/p/9374258.html 本章讲述的是一个复杂的机器学习系统,通过它可以看到机器学习的系统是如何组装起来的:另外也说明了一个复杂 ...

  9. [吴恩达机器学习笔记]14降维5-7重建压缩表示/主成分数量选取/PCA应用误区

    14.降维 觉得有用的话,欢迎一起讨论相互学习~Follow Me 14.5重建压缩表示 Reconstruction from Compressed Representation 使用PCA,可以把 ...

随机推荐

  1. 对“传统BIOS”与“EFI/UEFI BIOS”的基本认识

    硬盘(MBR磁盘)分区基本认识+Windows启动原理 大家常会看到硬盘分区中这样的几种说法:系统分区.启动分区.活动分区.主分区.拓展分区.逻辑分区,MBR.PBR.DPT.主引导扇区等.尤其是看到 ...

  2. Chapter 1 Securing Your Server and Network(12):保护链接服务器

    原文出处:http://blog.csdn.net/dba_huangzj/article/details/38438363,专题目录:http://blog.csdn.net/dba_huangzj ...

  3. TCP的定时器系列 — 零窗口探测定时器

    主要内容:零窗口探测定时器的实现. 内核版本:3.15.2 我的博客:http://blog.csdn.net/zhangskd 出现以下情况时,TCP接收方的接收缓冲区将被塞满数据: 发送方的发送速 ...

  4. (NO.00001)iOS游戏SpeedBoy Lite成形记(十三)

    游戏特效部分就先这样了,因为毕竟是Lite版本,而且是第一个App,所以咱们把主要精力放在游戏可玩逻辑上吧(虽然已经厚颜无耻的加了不少特效了). 说句题外话:游戏美工是独立开发者不可逾越的鸿沟,是无法 ...

  5. MPLSVPN 命令集

      载请标明出处:http://blog.csdn.net/sk719887916,作者:skay 读懂下面配置命令需要有一定的TCP/IP,路由协议基础,现在直接上关键VPN命令. router ...

  6. EventBus 最简易的使用方式

    呃,要跟上时代的步伐,所以来学习一下EventBus(话说好像现在学也已经算是跟不上了..嘛..不管了,一步一步往前追,应该还来得及吧). 转载请注明出处:http://blog.csdn.net/w ...

  7. Java反射---对象池

    在很多Java  EE 框架中都需要根据配置文件信息来创建Java对象,从配置文件读取的只是i某个类的字符串类名,程序就需要根据该字符串来创建对应的实例,就必须使用反射. 下面程序就实现了一个简单的对 ...

  8. STL - queue(队列)

    Queue简介 queue是队列容器,是一种"先进先出"的容器. queue是简单地装饰deque容器而成为另外的一种容器. #include <queue> queu ...

  9. Otto事件总线框架的使用

    Otto是一个在Android中的事件总线框架,它是square的一个开源框架,具体介绍点击这里,项目下载点击这里 为什么要使用Otto事件总线: 通常来说在Android中: 1.Activity与 ...

  10. Android 高仿微信朋友圈动态, 支持双击手势放大并滑动查看图片。

    转载请注明出处:http://blog.csdn.net/sk719887916/article/details/40348873 作者skay: 最近参与了开发一款旅行APP,其中包含实时聊天和动态 ...