Technology sharing

linearibus exemplar procedere

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

linearibus procedere

Pars 1. Theoretical

linearibus procedere: In limitata notitia, parametris aptando, recta linea aptum est, et haec linea recta (exemplar) experimentis in incognitis notitia adhibetur.praedico

Rectusgeneralis forma
y = w × x + per = w temporibus x + by*********************************************=w*******************************************************************×x***********************************************************+b
Status totius rectae lineae datur per w et bw et b *w*******************************************************************etbDecernere, www*******************************************************************determinare rectamfastigiumid est angulus benificium; bbbDeterminare rectam lineam Yintercipere(Imperare sursum et deorsum translationem rectae, etiam notabias ).Ergo tantum computare oportet www*******************************************************************et bbbValor rectam lineam specificam determinare potest www*******************************************************************et bbb

Insert imaginem descriptionis hic

Auctoritas w et b in linea recta figura

noun

nounDefinition
Disciplina setDataset ad exemplar instituendi
test setDataset probare solebat exemplar quale
Sample Training / Training Point (Sample Training)Quisque item of notitia in disciplina
FeaturesNotitia initus in exemplar valores numerales esse possunt, categoriae labellae, valores imaginum pixel, etc.
Label Exemplar necesse est ut scopum valorem praedicere. Pro quaestionum classificatione, titulus plerumque nomen classis est;

1. Univariate linearibus procedere

I) Data preprocessing

Disceamus regressionem linearem univariatam primum. Regressio linearis univariata sic dicta de munere lineari refert cum uno tantum variabili independens, ut: y = w ⋅ x + by = wcdot x +by*********************************************=w*******************************************************************x***********************************************************+bIlle estUnivariate recta, unum tantum habet initus variabilis xx*x*********************************************************** . Haec recta linea in plano duobus dumtaxat exprimi potest (axis horizontalis X et axis verticalis Y).

Cum datas indivisas statutum accipimus, plerumque notitias in certa disciplina et certa divisione dividere consuevimus. Simplex divisio modus est: primum 80% exemplorum ut institutio pone, reliquae 20% as . test paro.

II) Definire munus sumptus

Puta nos adinvenit www*******************************************************************et bbbergo recta linea decrevimus, et hac recta linea uti possumus ad praedicerey'cum reali valoremy*********************************************intererrorPrinceps definire volumus, praedictum valorem metiri solebat y y'y*********************************************cum vero valorem yyy********************************************* error intercedit.Hic utimurquadrata medium errorisdefiniremunus pretium

J ( w , b ) = 1 2 m i = 1 m ( fw , b ( x ( i ) ) y ( i ) ) 2 J(w,b) = frac{1}{2m}sumlimites_{i = 1}^m(f_{w,b}(x^{(i)}) - y^{(i)})^2J(w*******************************************************************,b)=2m1ego=1m(f*************w*******************************************************************,b(x***********************************************************(ego))y*********************************************(ego))2
Formula commotionis

fw , b ( x ( i ) ) y ( i ) f_{w,b}(x^{(i)}) - y^{(i)}f*************w*******************************************************************,b(x***********************************************************(ego))y*********************************************(ego):in fw , b ( x ( i ) ) f_{w,b}(x^{(i)})f*************w*******************************************************************,b(x***********************************************************(ego))significat valorem praedictum per eruditum exemplar, dum y ( i ) y^{(i)}y*********************************************(ego)verum eventus cuiusque disciplinae specimen repraesentat, et differentia inter utrumque errorem significat inter valorem praedictum exemplar et verum valorem.

Quid error quadrat?

In omnibus exemplaribus propositis, quilibet error positivus vel negativus esse potest, et quaedam probabilitas offset in processu summationis erit. -25, +30), post complexionem parvi pretii (-5) obtinetur, et tandem perversa sententia obtinetur.

1 2 m frac{1}{2m}2m1: Repraesentat mediocris summae omnium errorum notitia (hoc mediocris potest repraesentare errorem totius exemplar in sensu), et medium obtinet quadratum erroris.

quare divide per 2

Quia cum descensus gradiens serius peragitur, derivatio indiculum 2 in coefficientes dividet, quia pro magna copia notitiarum, constante parum ictum in exemplari habet. ad subsequentem offset.

Munus sumptus cognoscentes, solum opus est ut vias pretium pretium reducere.

Per errorem functionis sumptus observando, videre possumus munus sumptus erroris functionis quadratae esse, id est, aconvexum munusproprietas functionis convexae;Extremum punctum est maximum punctum , cum munus sumptus munus sit munus quadraticum sursum aperit (explicari formulam potest, et intuitive sentire coefficientem termini quadrati maiorem esse quam 0), ergo munus convexum solum minimum valorem habet, nos tantum. opus est invenire valorem minimi pretii minimi pretii.Nam error munus pretium J ( w , b ) J (w, b)J(w*******************************************************************,b) , forma dilatationis inscribi potest;
J ( w , b ) = 1 2 m i = 1 m ( ( wx ( i ) + b ) − y ( i ) ) 2 J(w,b) = frac{1}{2m}sumlimites_{i = 1 }^m((wx^{(i)}+b) - y^{(i)})^2J(w*******************************************************************,b)=2m1ego=1m((w*******************************************************************x***********************************************************(ego)+b)y*********************************************(ego))2
JJJMagnitudo in parametri pendent www*******************************************************************et bbbquae per descensum clivum solvi potest. Figura functionis sumptus est fere haec:

Insert imaginem descriptionis hic

III) descensus Gradiente

Ratio gradatim descensus maxime curritReperio partialis indemethodus, quae ad biologicum referturimperium variablesModus est simillimus, ut: in regendo bbbUpdate sine mutatione www*******************************************************************(visibilis bbbconstans) formula; w = w α J (w) ww' = w - alpha frac{ partiale J(w)}{w}w*******************************************************************=w*******************************************************************αw*******************************************************************J(w*******************************************************************) Indicat ordinem renovatum esse www*******************************************************************,in α alphaα representsdoctrina rate Significatur gradus magnitudinis, quae etiam pro velocitate descensus intelligi potest; J ( w ) w frac{ partialis J(w)}{ w} partialisw*******************************************************************J(w*******************************************************************) exprimit ius www*******************************************************************Exspectantes derivationem partialem accipimus W JW - JWJ(WeightsWet pretiumJfunction) Linea tangens functione convexa, repraesentabat munus valorem velocissimum decrescentemdirectionemEx duobus repraesentatMove unum gradum in directum ubi munus valorem velocissimo decrescit .Haec distantia aptanda est secundum notitias certas α alphaαSi nimis magna est (gradus magnitudinis nimis magna est), eam ducet www*******************************************************************directe super imum pergit ad summum ex altera parte, ita ut nunquam accedat ad minimum, si α alphaαSi angustus est (gradus magnitudinis nimis angustus est), eam ducet www*******************************************************************Tardius ac tardius accipit dum minimus appropinquat, sumptus computationales consumit.


doctrina rate ( α alphaα) Temperatio methodo

  1. Minorem primam α alphaα Ut: 0.001.

  2. Tunc crescit per 10 singula tempora usque ad maximum 1 .

  3. Post certum valorem determinatum, haec sunt: ​​0.01.

  4. Tum efficiunt 3 tempora processus, ut: 0.01 × 3 = 0.03, 0.03 × 3 = 0.09 0.01 times 3 = 0.03, 0.03 times 3 = 0.090.01×3=0.03,0.03×3=0.09 (Propositum hoc est ut concursum citius faceret).


Processus solvendi derivationes partiales (invento directione descensus clivi);

  • oro J ( w ) w frac{ partialis J(w)}{ w} partialisw*******************************************************************J(w*******************************************************************) :

    J ( w ) w frac{ partialis J(w)}{ w} partialisw*******************************************************************J(w*******************************************************************) = ∂ w 1 2 m i = 1 m ( fw , b ( x ( i ) ) y ( i ) w 1 2 m i = 1 m ( fw , b ( x ( i ) ) y ( i ) 2 {m}(f_{w,b}(x^{(i)}) - y^{(i)})^2w*******************************************************************2m1ego=1m(f*************w*******************************************************************,b(x***********************************************************(ego))y*********************************************(ego))2

    ​ = ∂ ∂ w 1 2 m i = 1 mwx ( i ) − y ( i ) ) 2 frac{partialis}{partialis w}tfrac{1}{2m}sumlimits_{i = 1}^{m}wx^{( i)}- y^{(i)})^2w*******************************************************************2m1ego=1mw*******************************************************************x***********************************************************(ego)y*********************************************(ego))2

    ​ = 1 2 m ∑ i = 1 m ( fw , b ( x ( i ) ) y ( i ) ) 2 x ( i ) frac{1}{2m} summae_{i = 1}^{m}(f_{ w,b}(x^{(i)}) - y^{(i)})cdot2x^{(i)}2m1ego=1m(f*************w*******************************************************************,b(x***********************************************************(ego))y*********************************************(ego))2x***********************************************************(ego)

    ​ = 1 m ∑ i = 1 m ( fw , b ( x ( i ) ) y ( i ) ) x ( i ) frac{1}{m} summae_{i = 1}^{m}(f_{w,b }(x^{(i)}) - y^{(i)})x^{(i)}m1ego=1m(f*************w*******************************************************************,b(x***********************************************************(ego))y*********************************************(ego))x***********************************************************(ego)

  • oro J (w ) ∂ b frac{ partialis J(w)}{ b} partialisbJ(w*******************************************************************) :

    J (w ) ∂ b frac{ partialis J(w)}{ b} partialisbJ(w*******************************************************************) = ∂ b 1 2 m i = 1 m ( fw , b ( x ( i ) ) y ( i ) b 1 2 m i = 1 m ( fw , b ( x ( i ) ) − y ( i ) ) {m}(f_{w,b}(x^{(i)}) - y^{(i)})^2b2m1ego=1m(f*************w*******************************************************************,b(x***********************************************************(ego))y*********************************************(ego))2

    ​ = ∂ b 1 2 m i = 1 mwx ( i ) − y ( i ) ) 2 frac{partialis}{partialis b}frac{1}{2m}summimi_{i = 1}^{m}wx^{( i)}- y^{(i)})^2b2m1ego=1mw*******************************************************************x***********************************************************(ego)y*********************************************(ego))2

    = 1 2 m ∑ i = 1 m ( fw , b ( x ( i ) ) y ( i ) ) 2 frac{1}{2m} summae limites_{i = 1}^{m}(f_{w,b} (x^{(i)}) - y^{(i)})cdot22m1ego=1m(f*************w*******************************************************************,b(x***********************************************************(ego))y*********************************************(ego))2

    ​ = 1 m ∑ i = 1 m ( fw , b ( x ( i ) ) y ( i ) ) frac{1}{m} summa limitum_{i = 1}^{m}(f_{w,b}(x^ {(i)}) - y^{(i)})m1ego=1m(f*************w*******************************************************************,b(x***********************************************************(ego))y*********************************************(ego))

Invenire specifica per loop iteratio www*******************************************************************valorem cum bb*bpretii;

dum ( ) : dum ()w*******************************************************************Salvele():

w ∗ = w α w J ( w , b ) w * = w - alpha frac{partialis}{partialis w}J(w,b)w*******************************************************************=w*******************************************************************αw*******************************************************************J(w*******************************************************************,b)

b ∗ = b α b J ( w , b ) b * = b - alpha frac{partialis}{partialis b}J(w,b)b=bαbJ(w*******************************************************************,b)

w = w w = w *w*******************************************************************=w*******************************************************************

b = b b = b^*b=b

In principio passim valorem w et b, et deinde iterare possumus. Gradientem descensum ad exitum perducere possumus, cum error sit minus quam certum limen, vel numerum iterationum customize www*******************************************************************valorem sum bb*bpretii.

2. Multivariable procedere lineares

Regressio linearis multivariabilis ampliat dimensiones tribus dimensionibus et etiam multidimensionalibus civitatibus, ut y = w 1 x 1 + w 2 x 2 + w_1 x_1 + w_2 x_2 + by*********************************************=w*******************************************************************1x***********************************************************1+w*******************************************************************2x***********************************************************2+b potest intelligiXAxis etYSecures sunt x 1 et x 2 x_1 et x_2x***********************************************************1etx***********************************************************2 ZAxis est yyy*********************************************, hoc est triplex status dimensivus. Quaelibet disciplina specimen punctum est in spatio trium dimensivarum.

Modus: Pro seorsim quisque variabilis ( w 1 , w 2 , ... , wn , b w_1, w_2, dots, w_n, bw*******************************************************************1,w*******************************************************************2,,w*******************************************************************n,b) Pro gradiente descensu processus

Praecipua puncta: Pro multivariabilibus linearibus regressus, valores diversae notae diversae sunt, ut: valor extensionis aetatis; 0 0 0 ~ 100 100 100area tegens; 0 m 2 0m^20m2 ~ 10000 m 2 10000m^210000m2 esse etiam potestMirum specimenSingularis exempli notitia exsistentia causat disciplina tempus auget, et etiam ad defectum tendunt.Normalised Sed contra, cum nulla specimen specimen singulare non sit, ordinationem fieri non oportet.Ad hanc quaestionem compellare, praestare debemusFeatures sunt scalis (normalised)

I) Data preprocessing

Data ordinationem processus

efficereData ordinationemTres sunt modi:

  1. Idem ac dividere per maximum valorem;

    Omnes valores in unaquaque linea a maximi pretii in illa pluma dividuntur.

  2. Medium ordinationem:

    Detrahe valorem uniuscuiusque plumae ex valore illius plumaemediumac deinde per differentiam inter maximos et minimos valores plumae dividitur.

  3. Z-score ordinationem:

    Adice pluma inter sevexillum digredioretmedium

    Valorem uniuscuiusque plumae ab omnibus valoribus illius plumae subtrahemediocris pretiiac deinde per pluma'smedium

Si ordinationem non exercetur, munus sumptus mutabitur propter magnas differentias in valoribus diversarum linearum in pluma vectoris. "planum" .Hoc modo, gradiente descensu faciendo, directio gradientis a directione minimi valoris deflectet, et multum erit.circuitusquae disciplina tempus longum faciet.

Post ordinationem munus obiectivum comparationem ostendet "circum"ita ut disciplina velocitatis vehementer acceleratur et multae ambages evitantur.

Beneficia data ordinationem:

  1. Post ordinationemCLIVUS descensus accelerat ut meliorem solutionemid est Lorem concursum accelerans.
  2. Normalization vim habet accurate emendare.
2) Munus Pretium (sicut et sumptus munus regressionis univariatae linearis)

J ( w , b ) = 1 2 m i = 1 m ( fw , b ( x ( i ) ) y ( i ) ) 2 J(w,b) = frac{1}{2m}sumlimites_{i = 1}^m(f_{w,b}(x^{(i)}) - y^{(i)})^2J(w*******************************************************************,b)=2m1ego=1m(f*************w*******************************************************************,b(x***********************************************************(ego))y*********************************************(ego))2

III) descensus Gradiente

Gradiente descensus multiplex regressus lineares

w 1 = W 1 − α 1 m i = 1 m ( fw ⃗ , bx ( i ) y ( i ) ) x 1 ( i ) w_1 = W_1 - alpha frac{1}{m}sumlimits_{i = 1}^{m}(f_{vec{w},b}vec{x}^{(i)} - y^{(i)})x_1^{(i)}w*******************************************************************1=W1αm1ego=1m(f*************w******************************************************************* ,bx*********************************************************** (ego)y*********************************************(ego))x***********************************************************1(ego)

vdots

wn = W n − α 1 m i = 1 m ( fw , bx ( i ) y ( i ) ) xn ( i ) w_n = W_n - alpha frac{1}{m}sumlimits_{i = 1} ^{m}(f_{vec{w},b}vec{x}^{(i)} - y^{(i)})x_n^{(i)}w*******************************************************************n=Wnαm1ego=1m(f*************w******************************************************************* ,bx*********************************************************** (ego)y*********************************************(ego))x***********************************************************n(ego)

b = b α α 1 m i = 1 m ( fw , bx ⃗ ( i ) y ( i ) ) b = b - alpha frac{1}{m} summae_{i = 1}^{m}( f_{vec{w},b}vec{x}^{(i)} - y^{(i)})b=bαm1ego=1m(f*************w******************************************************************* ,bx*********************************************************** (ego)y*********************************************(ego))

explicare; w I wn w_1cdots w_nw*******************************************************************1w*******************************************************************n coefficiens cuiusque variabilis repraesentat, b et b terminum constantem functionis linearis repraesentat.

3.Normal aequatione

I) Data preprocessing

Omitte...

II) Pretium munus

Derivatio Mathematica:

J = 1 2 m ∑ i = 1 m ( θ ix i − yi ) 2 J = frac{1}{2m} summa limitum_{i = 1}^{m}(vec{theta}_i vec{x}_i - y_i)^2J=2m1ego=1m(θ egox*********************************************************** egoy*********************************************ego)2

​ = 1 2 m ∣ θ ⃗ x ⃗ y ∣ ∣ 2 frac{1}{2m}||vec{theta} vec{x} - y||^22m1∣∣θ x*********************************************************** y*********************************************2

​ = 1 2 m ( θ ⃗ x ⃗ y ) T ( θ x ⃗ y ) frac{1}{2m}(vec{theta} vec{x} - y)^T(vec{theta} vec{x} — y)2m1(θ x*********************************************************** y*********************************************)T(θ x*********************************************************** y*********************************************)

​ = 1 2 m ( θ T x ⃗ T y T ) ( θ x y ) frac{1}{2m}(vec{theta}^T vec{x}^T - y^T)(vec{ theta} vec{x} - y)2m1(θ Tx*********************************************************** Ty*********************************************T)(θ x*********************************************************** y*********************************************)

​ = 1 2 m ( θ T x ⃗ T x ⃗ θ y T x ⃗ θ θ T x ⃗ T y + y T y ) frac{1}{2m}(vec{theta}^T vec{ x}^Tvec{x}vec{theta} - y^Tvec{x}vec{theta} -vec{theta}^Tvec{x}^Ty +y^Ty )2m1(θ Tx*********************************************************** Tx*********************************************************** θ y*********************************************Tx*********************************************************** θ θ Tx*********************************************************** Ty*********************************************+y*********************************************Ty*********************************************)

III) descensus Gradiente

ius θ thetaθReperio derivativum partialem; = ∂ J θ = 1 2 m ( θ T x ⃗ T x ⃗ θ θ y T x ⃗ θ θ θ T x ⃗ T y θ θ + y T y ∂ θ ) Delta =frac{partialis J}{theta}= frac{1}{2m}(frac{partialis vec{theta}^T vec{x}^Tvec{x}vec{theta}}{theta} frac{partialis y^Tvec{x}vec{theta}}{theta} - frac{partialis vec{theta}^Tvec{x}^Ty}{theta} + frac{y^Ty}{theta}Δ=θJ=2m1(θθ Tx*********************************************************** Tx*********************************************************** θ θy*********************************************Tx*********************************************************** θ θθ Tx*********************************************************** Ty*********************************************+θy*********************************************Ty*********************************************)

Matrix derivationis regulae;

  1. ∂ θ TA θ θ = (A + AT) θ frac{theta^{T}Atheta}{theta partialis} = (A + A^T) thetaθθTAθ=(A+AT)θ

  2. ∂ XTA X = A frac{partialis X^{T}A}{partialis X} = A .XXTA=A

  3. AX ∂ X = AT frac{partialis AX}{partialis X} = A^TXAX=AT

  4. ∂ A X = 0 frac{partialis A}{partialis X} = 0XA=0

Praesto = 1 2 m ( θ T x ⃗ T x ⃗ θ θ y T x ⃗ θ θ θ θ T x ⃗ T y θ + y T y θ ) = 1 2 m ⋅ ( 2 x T x θ 2 x T y ) = 1 m ⋅ ( x T x θ x T y ) Delta = frac{1}{2m}(frac{vec{theta}^T vec{x }^Tvec{x}vec{theta}}{theta} - frac{partialis y^Tvec{x}vec{theta}}{theta} - frac{partialis vec{theta}^Tvec{x}^Ty} {theta} + frac{y^Ty}{theta}{partialis) = frac{1}{2m}cdot (2x^Txtheta - 2x^Ty) = frac{1}{m} cdot (x^Txtheta - x^ Ty)Δ=2m1(θθ Tx*********************************************************** Tx*********************************************************** θ θy*********************************************Tx*********************************************************** θ θθ Tx*********************************************************** Ty*********************************************+θy*********************************************Ty*********************************************)=2m1(2x***********************************************************Tx***********************************************************θ2x***********************************************************Ty*********************************************)=m1(x***********************************************************Tx***********************************************************θx***********************************************************Ty*********************************************)
quando = 0 Delta = 0Δ=0 hora: x T x θ = x T yx^Tx theta = x^Tyx***********************************************************Tx***********************************************************θ=x***********************************************************Ty********************************************* , θ = ( x T x ) − 1 x T y theta = (x^Tx)^{-1}x^Ty.θ=(x***********************************************************Tx***********************************************************)1x***********************************************************Ty********************************************* iniri potest θ thetaθ pretii.

Comparatio Gradientis Descensus et Normalis Aequationum

  • descensus: Oportet eligere ratem α discentium, quae multiplices iterationes requirit. Potest etiam melius applicari cum numerus linearum n est magnus, et ad varias formas aptus.

  • normalis aequationem: Non est necesse eligere ratem discendi α. Computari semel et iniri debet. ( x T x ) − 1 (x^Tx)^{-1}(x***********************************************************Tx***********************************************************)1 , si numerus linearum nnnSi maior, operandi sumptus erit superior, quia calculi incomplexum temporis matricis inversum est O ( n 3 ) O (n^3)O*(n3) Plerumque cum nnnHoc gratum est, cum minus quam 10,000 est.Tantum available pro linearibus exemplaribusaliis exemplaribus non apta, ut exempla regressionis logisticae.

4.Polynomial procedere

Cum in quibusdam casibus difficile sit rectas lineas omnes notitias aptare, curvae necessariae sunt ad notitias aptandas, ut exempla quadrata, exempla cubica, etc.

In genere, regressio functionis notitiae ignoratur. Etiam si notum est, difficile est illud in exemplar lineari formare cum simplici functione transmutationis transmutare, sic communis accessus est .integra procedere(Regressio polynomialis), hoc est, functione polynomiae utens ad notitias aptandas.

Quomodo eligere gradum polynomiae

Multae rationes functionum polynomialium sunt. Fere, debes primum figuram notitiarum observare et deinde definire utra forma functionis polynomiae utatur ad problema solvendum. Exempli gratia, ab insidiarum notitia dispergat, si est".flectere ", considerare potes utentes polynomiales quadratici (id est characteres quadratici); sunt duo "flectere ";flectere tunc considera polynomiam utens quarto ordine (sumpto quarta potestate plumae), et sic de aliis.

Etsi munus regressionis realis non necessario est alicuius gradus polynomiae, dummodo aptum bonum sit, fieri potest ut aptum polynomiale uti ad functionem regressionem realem approximandam.

2. Pars Experimentalis

Appendix ad calcem articuli continet omnia notitia originalia in experimento adhibita.ex1data1.txtest enim coniunctio hominum et utilitatum; ex1data2.txtEst impetus domus et numerus cubiculorum in pretio domus.

1. Univariate linearibus procedere

I) Data Lond
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
path = "ex1data1.txt"
data = pd.read_csv(path,header = None,names=['Population','Profit'])
data.head()   # 预览数据
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Insert imaginem descriptionis hic

2) View notitia
data.describe()    # 更加详细的数据描述
  • 1

Insert imaginem descriptionis hic

# 可视化训练数据
data.plot(kind = 'scatter',x = 'Population',y = 'Profit',figsize = (12,8))
plt.show()
  • 1
  • 2
  • 3

Insert imaginem descriptionis hic

III) Definire munus sumptus
def computerCost(X,y,theta):    # 定义代价函数
    inner = np.power(((X*theta.T)-y),2)   # theta.T表示theta的转置
    return np.sum(inner)/(2*len(X))
  • 1
  • 2
  • 3
data.insert(0,"One",1)  # 表示在第0列前面插入一列数,其表头为One,其值为1
  • 1

Inserere in primam columnam data copia 1 1 1Munus estBenefacit matrix calculis, multiplicatis vulvis, involvuntur pondera www*******************************************************************et Praeiudicia bb*b,quod bb*bvariabili non multiplicatur a . 1 1 1, usus est in bb*bMultiplicare.

IV) Scinditur data
cols = data.shape[1]
X = data.iloc[:,0:cols - 1]  #“,”前只有“:”,表示所有的行,“,”后表示抽取数据中第[0列~第cols-1列)(左闭右开),去掉最后一列,最后一列为预测值

y = data.iloc[:,cols - 1:cols]  #只取最后一列的值,表示预测值

  • 1
  • 2
  • 3
  • 4
  • 5
X.head()
  • 1

Insert imaginem descriptionis hic

y.head()
  • 1

Insert imaginem descriptionis hic

X = np.matrix(X.values)
y = np.matrix(y.values)  #只将表格中的值装换为矩阵而不是包括序号与标题

#初始化theta
theta = np.matrix(np.array([0,0]))  #先是一个一维的数据,然后在转换为一个二维的矩阵
  • 1
  • 2
  • 3
  • 4
  • 5
V) Initialization parametri
theta  
# => matrix([[0, 0]])
  • 1
  • 2
X.shape,theta.shape,y.shape  # 此时theta为一行列,需要进行转置
# => ((97, 2), (1, 2), (97, 1))
  • 1
  • 2
computerCost(X,y,theta)
# => 32.072733877455676
  • 1
  • 2
VI) Definire munus descensus gradiente
def gradientDecent(X,y,theta,alpha,iters):   #iters为迭代次数
    temp = np.matrix(np.zeros(theta.shape))   #构造一个与theta大小一样的零矩阵,用于存储更新后的theta
    parmaters = int (theta.ravel().shape[1])    #.ravel()的功能是将多维数组降至一维,用于求需要求的参数个数
    cost = np.zeros(iters)   #构建iters个0的数组,相当于对每次迭代的cost进行记录
    
    for i in range(iters):
        error = (X * theta.T - y)     #记录误差值,结果为一个数组
        for j in range(parmaters):    #对每一个参数进行更新,j用于表示每一个参数
            term = np.multiply(error,X[:,j])   #.multiply 是对矩阵当中的数对应相乘,这里表示与X矩阵的第j列相乘。
            temp[0,j] = theta[0,j] - ((alpha/len(X))*np.sum(term))  #存储更行后的theta的值,.sum()表示将矩阵中的数进行求和
        
        theta = temp      #更新theta
        cost[i] = computerCost(X,y,theta)  #计算此时的代价,并记录在cost中。
    return theta,cost
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
VII) Initialize hyperparametri
alpha  = 0.01		# 学习率
iters = 1000		# 迭代次数
  • 1
  • 2
VIII) descensus Gradientes
g,cost = gradientDecent(X,y,theta,alpha,iters)
g
# => matrix([[-3.24140214,  1.1272942 ]])
  • 1
  • 2
  • 3
IX) Adice sumptus
computerCost(X,y,g)
# => 4.515955503078914
  • 1
  • 2
X) Accedite linearibus exemplar
x = np.linspace(data.Population.min(),data.Population.max(),100) #抽取100个样本  (从data数据集中的最小值到最大值之间抽取100个样本)
f = g[0,0] + (g[0,1] * x)  #f = ax + b

fig,ax = plt.subplots(figsize = (12,8))    #figsize表示图的大小
ax.plot(x,f,'r',label = "Prediction")    #绘制直线,横坐标,纵坐标,直线名称
ax.scatter(data.Population,data.Profit,label = 'Training data')   #绘制点,横坐标,纵坐标,点的名称
ax.legend(loc = 4)  #显示图例位置
ax.set_xlabel('Population')  #设置x轴的名称
ax.set_ylabel('Profit')   #设置y轴的名称
ax.set_title('Predicted Profit vs. Population Size')  #设置标题的名称
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

Insert imaginem descriptionis hic

XI) Agatur pretium mutatio curva
fig,ax = plt.subplots(figsize = (12,8))
ax.plot(np.arange(iters),cost,'r')
ax.set_xlabel('Interations')
ax.set_ylabel('Cost')
ax.set_title("Error vs. Training Epoc")
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Insert imaginem descriptionis hic

2. Multivariable procedere lineares

I) Data Lond
path = "ex1data2.txt"
data2 = pd.read_csv(path,header = None,names=["Size","Bedroom","Price"])
data2.head()
  • 1
  • 2
  • 3

Insert imaginem descriptionis hic

II) Data ordinationem processus
data2 = (data2 - data2.mean())/data2.std()
data2.head()
  • 1
  • 2

Insert imaginem descriptionis hic

III) Scinditur data
data2.insert(0,'Ones',1)  #在x的第一列插入1

clos = data2.shape[1]   #存储第二维(列)的数据量
X2 = data2.iloc[:,0:clos-1]  #对X2进行赋值
y2 = data2.iloc[:,clos-1:clos]  #对y2进行赋值

X2 = np.matrix(X2.values)  #将X2转为矩阵
y2 = np.matrix(y2.values)  #将y2转为矩阵
theta2 = np.matrix(np.array([0,0,0]))  #初始化theta2为0矩阵
computerCost(X2, y2, theta2)
# => 0.48936170212765967
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
IV) descensus Gradiente
g2,cost2 = gradientDecent(X2,y2,theta2,alpha,iters)   #记录放回值g2(theta2)和cost2
g2
# => matrix([[-1.10868761e-16,  8.78503652e-01, -4.69166570e-02]])
  • 1
  • 2
  • 3
V) Adice sumptus
computerCost(X2,y2,g2)
# => 0.13070336960771892
  • 1
  • 2
VI) Agatur pretium mutatio curva
fig,ax = plt.subplots(figsize = (12,8))
ax.plot(np.arange(iters),cost2,'x')
ax.set_xlabel('Iterations')
ax.set_ylabel('Cost')
ax.set_title('Error vs. Training Epoch')
plt.show()
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

Quaeso addere imaginem descriptionem

3. Normalis aequationis

#正规方程
def normalEqn(X,y):
    theta = np.linalg.inv(X.T@X)@X.T@y   #.linalg中包含线性代数中的函数,求矩阵的逆(inv)、特征值等。@表示矩阵相乘
    return theta
  • 1
  • 2
  • 3
  • 4
final_theta2 = normalEqn(X,y)
final_theta2
# => matrix([[-3.89578088], [ 1.19303364]])
  • 1
  • 2
  • 3

3. Libri

General gradus ad exemplar formandum

  1. Data preprocessing.
  2. Elige exemplar tuum specifica problema fundatur.
  3. Munus posuit sumptus.
  4. Gradientis descensus algorithmus utere ut parametri optimales invenias.
  5. Exemplar aestimare et hyperparametris adjust.
  6. Utere exemplaribus ad coniecturas faciendas.

4. Appendix

1. ex1data1.txt

6.1101,17.592
5.5277,9.1302
8.5186,13.662
7.0032,11.854
5.8598,6.8233
8.3829,11.886
7.4764,4.3483
8.5781,12
6.4862,6.5987
5.0546,3.8166
5.7107,3.2522
14.164,15.505
5.734,3.1551
8.4084,7.2258
5.6407,0.71618
5.3794,3.5129
6.3654,5.3048
5.1301,0.56077
6.4296,3.6518
7.0708,5.3893
6.1891,3.1386
20.27,21.767
5.4901,4.263
6.3261,5.1875
5.5649,3.0825
18.945,22.638
12.828,13.501
10.957,7.0467
13.176,14.692
22.203,24.147
5.2524,-1.22
6.5894,5.9966
9.2482,12.134
5.8918,1.8495
8.2111,6.5426
7.9334,4.5623
8.0959,4.1164
5.6063,3.3928
12.836,10.117
6.3534,5.4974
5.4069,0.55657
6.8825,3.9115
11.708,5.3854
5.7737,2.4406
7.8247,6.7318
7.0931,1.0463
5.0702,5.1337
5.8014,1.844
11.7,8.0043
5.5416,1.0179
7.5402,6.7504
5.3077,1.8396
7.4239,4.2885
7.6031,4.9981
6.3328,1.4233
6.3589,-1.4211
6.2742,2.4756
5.6397,4.6042
9.3102,3.9624
9.4536,5.4141
8.8254,5.1694
5.1793,-0.74279
21.279,17.929
14.908,12.054
18.959,17.054
7.2182,4.8852
8.2951,5.7442
10.236,7.7754
5.4994,1.0173
20.341,20.992
10.136,6.6799
7.3345,4.0259
6.0062,1.2784
7.2259,3.3411
5.0269,-2.6807
6.5479,0.29678
7.5386,3.8845
5.0365,5.7014
10.274,6.7526
5.1077,2.0576
5.7292,0.47953
5.1884,0.20421
6.3557,0.67861
9.7687,7.5435
6.5159,5.3436
8.5172,4.2415
9.1802,6.7981
6.002,0.92695
5.5204,0.152
5.0594,2.8214
5.7077,1.8451
7.6366,4.2959
5.8707,7.2029
5.3054,1.9869
8.2934,0.14454
13.394,9.0551
5.4369,0.61705
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97

2. ex1data2.txt

2104,3,399900
1600,3,329900
2400,3,369000
1416,2,232000
3000,4,539900
1985,4,299900
1534,3,314900
1427,3,198999
1380,3,212000
1494,3,242500
1940,4,239999
2000,3,347000
1890,3,329999
4478,5,699900
1268,3,259900
2300,4,449900
1320,2,299900
1236,3,199900
2609,4,499998
3031,4,599000
1767,3,252900
1888,2,255000
1604,3,242900
1962,4,259900
3890,3,573900
1100,3,249900
1458,3,464500
2526,3,469000
2200,3,475000
2637,3,299900
1839,2,349900
1000,1,169900
2040,4,314900
3137,3,579900
1811,4,285900
1437,3,249900
1239,3,229900
2132,4,345000
4215,4,549000
2162,4,287000
1664,2,368500
2238,3,329900
2567,4,314000
1200,3,299000
852,2,179900
1852,4,299900
1203,3,239500
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47