ما میتوانیم دو ویژگی را معرفی کنیم، $x_{1}$ و $x_{2}$ که نشان میدهند یک فیلم چه اندازه داستان عاشقانه یا چه اندازه صحنه اکشن دارد(در مقیاس 1-0).
یک روش این است که میتوانیم از رگرسیون خطی برای هر کاربر استفاده کنیم. برای هر کاربر j، پارامتر $\theta ^{(j)} \in \mathbb{R}^{3}$ را یاد بگیرید.
کاربر j را به طوریکه فیلم i را با $(\theta ^{(j)})^{T}x^{(i)}$ ستاره امتیازدهی میکند، پیشبینی کنید.
$\theta ^ {(j)}$ = بردار پارامتر برای کاربر j
$x ^ {(i)}$ = بردار ویژگی برای فیلم i
برای کاربر j و فیلم i، امتیازدهی پیشبینی شده: $(\theta ^{(j)})^{T}(x^{(i)})$
برای یادگیری $\theta^{(j)}$ از روش زیر استفاده میکنیم:
$$min_{\theta ^{(j)}}= \frac{1}{2}\sum_{i:r(i,j)=1}((\theta ^{(j)})^{T}(x^{(i)}) - y^{(i,j)})^{2} + \frac{\lambda }{2}\sum_{k=1}^{n}(\theta _{k}^{(j)})^{2}$$
این همان رگرسیون خطی است. مبنای اولین جمع انتخاب همه iها به گونهای است که $r(i,j) = 1$.
برای به دست آوردن پارامترها برای تمام کاربران، از روش زیر استفاده میکنیم:
$$min_{\theta ^{(1)}, …,\theta ^{(n^{u })}} = \frac{1}{2}\sum_{j=1}^{n_{u }}\sum_{i:r(i,j)=1}^{}((\theta ^{(j)})^{T}(x^{(i)}) - y^{(i,j)})^{2} + \frac{\lambda }{2}\sum_{j=1}^{n_{u }}\sum_{k=1}^{n}(\theta _{k}^{(j)})^{2}$$
میتوانیم بروزرسانی گرادیان کاهشی رگرسیون خطی را با استفاده از تابع هزینه بالا، اعمال کنیم.
تنها تفاوت واقعی این است که ثابت $\frac{1}{m}$ را حذف کردیم.