王彩旗的技术博客

Linear regression with one variable - Model representation

摘要: 本文是吴恩达 (Andrew Ng)老师《机器学习》课程,第二章《单变量线性回归》中第6课时《模型概述》的视频原文字幕。为本人在视频学习过程中逐字逐句记录下来以便日后查阅使用。现分享给大家。如有错误,欢迎大家批评指正,在此表示诚挚地感谢!同时希望对大家的学习能有所帮助。

Our first learning algorithm will be linear regression. In this video (article), you'll see what the model looks like. And more importantly, you'll also see what the overall process of supervised learning looks like.

Let's use some motivating example of predicting housing prices. We're going to use a data set of housing prices from the city of Portland, Oregon. And here I'm gonna plot my data set of a number of houses that were different sizes that were sold for a range of different prices. Let's say that given this data set, you have a friend that's trying to sell a house and let's see if your friend's house is size of 1,250 square feet, and you want to tell them how much they might be able to sell the house for. Well one thing you could do is fit a model. Maybe fit a straight line to this data. Looks something like that, and based on that, maybe you could tell your friend that, let's say maybe, he can sell the house for around $220,000. So, this is an example of a supervised learning algorithm. And it's supervised learning because we're given the, quotes, "right answer" for each of following examples. Namely we're told what was the actual house, what was the house price of each of the houses in our data set were sold for. And moreover, this is an example of a regression problem, where the term regression refers to the fact that we're predicting a real-valued output, namely the price. And just to remind you the other most common type of supervised learning is called the classification problem, where we predict discrete-valued output. Such as if we are looking at cancer tumors and trying to decide if a tumor is malignant or benign. So that's a zero-one valued discrete output.

More formally, in supervised learning, we have a data set and this data set is called a training set. So, for housing price example, we have a training set of different housing prices, and our job is to learn from this data how to predict prices of houses. Let's define some notation that we're using throughout this course. We're going to define quite a lot of symbols. It's okay if you don't remember all the symbols right now, but as the course progresses, it will be useful to have a convenient notation. So, I'm gonna use lower case m throughout this course to denote the number of training examples. So, in this data set, if I have, you know, let's say 47 rows in this table, then I have 47 training examples, and m=47. Let me use lowercase x to denote the input variables, often also called the features. So that would be the x's here, it would be our input features. And I'm gonna use y to denote my output variables, or the target variable which I'm going to predict. And so that's the second column here. Looking on notation, I'm going to use (x,y) to denote a single training example. So, a single row in this table corresponds to a single training example. And to refer to a specific training example, I'm going to use this notation (x^{(i)}, y^{(i)}). And, we're going to use this to refer to the i^{th} training example. So, this superscript i over here, this is not exponentiation right? This (x^{(i)}, y^{(i)}), the superscript i in parentheses that's just an index into my training set, and refers to the i^{th} row in this table, okay? So, this is not x to the power of i, y to power of i. Instead (x^{(i)}, y^{(i)})just refers to the i^{th} of this table. So, for example, x^{(1)} refers to the input value for the first training example, so that's 2104. That's the x in the first row. x^{(2)} will be equal to 1416 right? That's the second x, and y^{(1)} will be equal to 460. That's the y value for my first training example. That's what that (1) refers to.

So as mentioned, occasionally I'll ask you a question to let you check your understanding, and a few seconds in this video a multiple-choice question will pop up in the video. When it does, please use your mouse to select what you think is the right answer. What defined by the training set is? So here's how this supervised learning algorithm works. We saw that with the training set like our training set of housing prices and we feed that to our learning algorithm. Is the job of a learning algorithm to then output a function, which by convention is usually denoted lowercase h, and h stands for hypothesis. And what the job of the hypothesis is, it's a function that takes as input the size of a house, like maybe the size of the new house your friend trying to sell, so it takes in the value of x, and it tries to output the estimated value of y for the corresponding house. So h is a function that maps from x's to y's. People often ask me, you know, why is the function called hypothesis. Some of you may know the meaning of the term hypothesis, from the dictionary or from the science or whatever. It turns out that in machine learning, this is a name that was used in early days of machine learning and it kinda stuck. Because maybe not a great name for this sort of function, for mapping from sizes of houses to the predictions, I think the term hypothesis, isn't the best possible name for this, but this is the standard terminology that people use in machine learning. So don't worry too much about why people call it that. When designing a learning algorithm, the next thing we need to decide is how do we represent this hypothesis h. For this and next few videos, I'm going to choose our initial choice, for representing the hypothesis, will be the following. We're going to represent h as follows. And we will write this as:

h_{\theta }(x)=\theta _{0}+\theta _{1}x.

And as a shorthand, sometimes instead of writing h_{\theta }(x), I'll just write this as h(x). But more often I'll write it as a subscript \theta over there. And plotting this in the pictures, all this means is that, we are going to predict that y is a linear function of x. Right, so that's the data set. And what this function is doing, is predicting that y is some straight-line function of x. That's h_{\theta }(x)=\theta _{0}+\theta _{1}x, okay? And why a linear function? Well, sometimes we'll want to fit more complicated perhaps non-linear functions as well. But since this linear case is the simple building block, we'll start with this example first of fitting linear functions, and we'll build on this to eventually have more complex models, and more complex learning algorithms. Let me also give this particular model a name. This model is called linear regression or this, for example, is actually linear regression with one variable, with the variable being x. That's the predicting all the prices as functions of one variable x. And another name for this model is univariate linear regression. And univariate is just a fancy way of saying one variable. So, that's linear regression. In the next video (article) we'll start to talk about just how we go about implementing this model.

<end>

posted on 2019-11-04 16:43  王彩旗  阅读(218)  评论(0编辑  收藏  举报

导航