此文是斯坦福大学,机器学习界 superstar — Andrew Ng 所开设的 Coursera 课程:Machine Learning 的课程笔记。力求简洁,仅代表本人观点,不足之处希望大家探讨。
课程网址:https://www.coursera.org/learn/machine-learning/home/welcome
Week 1: Introduction
- Environment Setup Instructions
这一章介绍课程一般使用的工具。octave或者matlab即可,这两者本质上没有什么区别,都有着丰富的数学库计算库。
- Introduction
- 机器学习定义:简单来说,让计算机执行一些行为,但是without explicit programmed。
- 监督学习(supervised learning):通过已知的正确信息,得到未知的信息。一般用于解决的问题有两类:
- 回归问题(regression)
- 例如:房价预测。已知一百平房子售价,两百平房子售价,三百平房子售价。那么,一百五十平房子的售价呢?
- 很容易想到,拟合。那么接下来,是直线拟合?二次曲线拟合?
- 这就是回归问题要解决的,通过已知离散信息,预测未知的连续信息。
- 分类问题(classification)
- 例如:肿瘤分类。已知肿瘤size与肿瘤良性(label: 0)还是恶性(label: 1)分类的关系如下:
- 更进一步,完全可以用一维坐标图来表示:
- 现在需要对于根据size的对某个肿瘤判断它是良性还是恶性,就是分类问题。
- 再进一步,现在我仅仅把size作为feature之一,如果我们加入考虑肿瘤积水(二维坐标图)?肿瘤硬度(三维坐标图)?原则上可以考虑无限种feature,如何处理?这里卖了个关子,可以使用支持向量机(SVM)。
- 无监督学习(unsupervised learning)/ 聚类算法(clustering):
- 对于有监督学习而言,我们已知的信息很多:每个data的label是什么,label可以分为多少类,等等。但是无监督学习中,这些都是未知的。
- 最常见的应用:浏览新闻时经常会有的相关新闻,或者搜索时的相关搜索结果,又或是weibo中的推荐分组,等等。
- 可以理解为计算机自己理解后将信息分为了若干类。
- 经典案例:cocktail party problem,原文链接:http://soma.mcmaster.ca/papers/Paper_7.pdf。简而言之,就是在聚会上摆俩麦克风分别记录声音,需要通过这些信息将不同声源的声音分隔开来。
- 如果考虑声音本身的特征与背景知识,解法会比较复杂,需要大量的先验知识。但站在机器学习的角度来思考,就是一类无监督学习的应用场景。matlab实现仅需几行代码而已。
- Bonus: Course Wiki Lecture Notes
- 单一变量线性回归:即通过线性方程来拟合已知data的feature,与label之间的关系。表达为 hθ=θ0+θ1x。
- 不同的线性方程之间,需要挑出来一个拟合更适合的,这就需要一个判断标准。常用的基于Mean squared error (MSE):J(θ0,θ1)=12m∑i=1m(hθ(x(i))?y(i))2
- 如果让计算机来实现这个过程,怎么办呢?梯度下降法(Gradient Descent)是一种常见手段。
- 该方法的核心是:
- θi:=θi?α??θiJ(θi,θj),其中α是下降步长,人为确定。可以看出来,梯度下降法对于J(θi,θj)是否线性,参数的数量,都没有限制。
- 最后利用梯度下降法代入导数(不论是链式法则,还是单个变量代入)得到最优的拟合函数参数:
========== 占个坑,课程的下半部分明天补上 ==========
4. Model and Cost Function
5. Parameter Learning
6. Linear Algebra Review
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-11-10 21:13:29