machine-learning课程学习总结(1-4)

一、绪论 

1.概念:

  • the field of study that gives computers the ability to learn without being explicitly programmed. ——an older, informal definition by  Arthur Samuel (对于无法直接编程的任务让 机器 通过学习来实现)
  • "A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P, if its performance at tasks in T, as measured by P, improves with experience E.(机器做任务T时通过实践E来提升自己的表现P)

2.机器学习问题分为两大类:监督式学习(supervised learning)和非监督式学习(unsupervised learning)

  • supervised learning: we are given a data set and already know what our correct output should look like, having the idea that there is a relationship between the input and the output.(对于输入数据,明确知道输出数据应该是什么)。监督式学习又分为回归(regression)和归类(classification)问题。回归问题是将输入数据映射到一个连续的函数(对应输出数据)上面,然后来预测结果。归类问题是将输入数据映射到离散的类别里面(对应输出数据),然后根据离散的输出值预测结果。
  • unsupervised learning:  allows us to approach problems with little or no idea what our results should look like. We can derive structure from data where we don‘t necessarily know the effect of the variables.(不知结果是什么,但可以试着从中找到数据的某些联系,对于预测的结果,我们也无法判断是对是错)。


    非监督式学习的例子:

     Clustering: Take a collection of 1000 essays written on the US Economy, and find a way to automatically group these essays into a        small number that are somehow similar or related by different variables, such as word frequency, sentence length, page count, and so on.

     Non-clustering: The "Cocktail Party Algorithm", which can find structure in messy data (such as the identification of individual voices and  music from a mesh of sounds at a cocktail party).



二、单变量的线性回归(univariate linear regression

1.概念:predict a single output value y from a single input value x.(以一个变量x来预测y)

2.假说函数:用一个函数来估计输出值,这里用h(x)去估计y,函数如下:

3.代价函数:用来评估假说函数是否准确,类似方差(Squared error function/ Mean squared error),函数如下:

三、梯度下降(gradient descent)

1. 概念:a way to automatically improve the parameters of our hypothesis function

简而言之,梯度下降就是求最合适的那些参数。分别以θ0,θ1为x,y轴,画出代价函数J,我们要使得代价函数最小,就是找该函数J的最小值。可以通过J 对θ0,θ1分别求偏导来找出极值点,从而找到最小值。

梯度下降算法如下:

2.将其应用于我们上面的线性回归,那么就是:

四、多变量的线性回归(multivariate linear regression)

1.和单变量的差不多,只是多了参数。下面我们先定义一些标号:

:第i 个训练样本,包含一系列特征值,是一个列向量。

:第i 个训练样本中第j 个特征值。

θ:参数θ0,θ1...的一个列向量。(n*1)

m:训练样本个数。

n:特征值个数。

那么我们的训练样本X就是:

(m*n)

2.假说函数:

用矩阵来写,就是:

用我们上面定义的标号来写就是:

3.代价函数:

用矩阵来写就是:

(其中y为所有y值得一个列向量)

4.梯度下降:

求偏导带入公式,得:

5.特征正规化(feature nomalization):

将输入值调整在一个相同的范围内可以加速梯度下降的过程,理想情况下,将每个输入值都调整在[-0.5,0.5],[-1,1]之间。

方法:

 feature scaling (/s)和mean normalization(-μ),统计学中的:

μ为特征数均值,s为标准差

6.多项式回归(polynomial regression):

线性回归可能不能很好拟合数据,这时候在假说函数中加入平方,立方,开方项来更好拟合数据

For example, if our hypothesis function is hθ(x)=θ0+θ1x then we can create additional features based on x, to get the quadratic function hθ(x)=θ0+θ1x+θ2x^2 or the cubic function hθ(x)=θ0+θ1x+θ2x^2+θ3x^3

7.normal equation:

不迭代直接求最佳的参数,直接解出θ:(让偏导为0,用逆矩阵解)

其中,X‘X有时是不可逆的,不可逆的情况有:特征值冗余,比如可能两个之间成比例,可以去掉一个;太多 features(m<=n),可以去掉一些

两种方法的比较:

时间: 2024-11-07 19:24:11

machine-learning课程学习总结(1-4)的相关文章

Andrew Ng 的 Machine Learning 课程学习 (week4) Multi-class Classification and Neural Networks

这学期一直在跟进 Coursera上的 Machina Learning 公开课, 老师Andrew Ng是coursera的创始人之一,Machine Learning方面的大牛.这门课程对想要了解和初步掌握机器学习的人来说是不二的选择.这门课程涵盖了机器学习的一些基本概念和方法,同时这门课程的编程作业对于掌握这些概念和方法起到了巨大的作用. 课程地址 https://www.coursera.org/learn/machine-learning 笔记主要是简要记录下课程内容,以及MATLAB

Andrew Ng 的 Machine Learning 课程学习 (week5) Neural Network Learning

这学期一直在跟进 Coursera上的 Machina Learning 公开课, 老师Andrew Ng是coursera的创始人之一,Machine Learning方面的大牛.这门课程对想要了解和初步掌握机器学习的人来说是不二的选择.这门课程涵盖了机器学习的一些基本概念和方法,同时这门课程的编程作业对于掌握这些概念和方法起到了巨大的作用. 课程地址 https://www.coursera.org/learn/machine-learning 笔记主要是简要记录下课程内容,以及MATLAB

机器学习(Machine Learning)&amp;深度学习(Deep Learning)资料

机器学习(Machine Learning)&深度学习(Deep Learning)资料 <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost到随机森林.Deep Learning. <Deep Learning in Neural Networks: An Overview> 介绍:这是瑞士人工智能实验室Jurgen Schmidhuber写的最新版本

Coursera课程《Machine Learning》学习笔记(week1)

这是Coursera上比较火的一门机器学习课程,主讲教师为Andrew Ng.在自己看神经网络的过程中也的确发现自己有基础不牢.一些基本概念没搞清楚的问题,因此想借这门课程来个查漏补缺.目前的计划是先看到神经网络结束,后面的就不一定看了. 当然,看的过程中还是要做笔记做作业的,否则看了也是走马观花.此笔记只针对我个人,因此不会把已经会了的内容复述一遍,相当于是写给自己的一份笔记吧.如果有兴趣,可以移步<Machine Learning>仔细学习. 接下来是第一周的一些我认为需要格外注意的问题.

机器学习(Machine Learning)&amp;深入学习(Deep Learning)资料

<Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍很全面,从感知机.神经网络.决策树.SVM.Adaboost 到随机森林.Deep Learning. <Deep Learning in Neural Networks: An Overview> 介绍:这是瑞士人工智能实验室 Jurgen Schmidhuber 写的最新版本<神经网络与深度学习综述>本综述的特点是以时间排序,从 1940 年开始讲起,到

Kaggle Machine Learning 教程学习(五)

四.算法选择 这一步骤让我很兴奋,终于谈到算法了,虽然没代码.没公式.因为教程君表示并不想过深的去探讨算法细节,于是着重于从算法的应用场景.算法的缺点.如何选择算法来纵向展开. 我们的训练模型一般分为监督学习.无监督学习以及强化学习三种.教程中只提到了前两种,而训练算法又分为回归.分类以及聚类.其中回归与分类属于监督学习分,聚类属于无监督学习. 教程中提到的适用于监督学习下的拟合算法: 线性回归(Linear regression). 套索回归(Lasso regression). 岭回归(Ri

机器学习(Machine Learning)&amp;amp;深度学习(Deep Learning)资料

机器学习(Machine Learning)&深度学习(Deep Learning)资料 機器學習.深度學習方面不錯的資料,轉載. 原作:https://github.com/ty4z2008/Qix/blob/master/dl.md 原作作者會不斷更新.本文更新至2014-12-21 <Brief History of Machine Learning> 介绍:这是一篇介绍机器学习历史的文章,介绍非常全面.从感知机.神经网络.决策树.SVM.Adaboost到随机森林.Deep L

useful links about machine learning

机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 1) 机器学习(Machine Learning)&深度学习(Deep Learning)资料(Chapter 2) <机器学习&&深度学习> 视频课程资源

Introduction ----- Stanford Machine Learning(by Andrew NG)Course Notes

最近学习了coursera上面Andrew NG的Machine learning课程,课程地址为:https://www.coursera.org/course/ml 在Introduction部分NG较为系统的概括了Machine learning的一些基本概念,也让我接触了一些新的名词,这些名词在后续课程中会频繁出现: Machine Learning Supervised Learning Unsupervised Learning Regression Problem Classifi

Neural Networks Representation ----- Stanford Machine Learning(by Andrew NG)Course Notes

Andrew NG的Machine learning课程地址为:https://www.coursera.org/course/ml 神经网络一直被认为是比较难懂的问题,NG将神经网络部分的课程分为了两个星期来介绍,可见Neural Networks内容之多.言归正传,通过之前的学习我们知道,使用非线性的多项式能够帮助我们建立更好的分类模型.但当遇特征非常多的时候,需要训练的参数太多,使得训练非常复杂,使得逻辑回归有心无力. 例如我们有100个特征,如果用这100个特征来构建一个非线性的多项式模