เชฒเซเช เชธเชฐเชณ (เชเซเชกเซ) เชฐเซเชเซเชฐเซเชธเชจ เชฐเซเชเชพเชจเชพ เชเชพเชฃเชฟเชคเชฟเช เชธเชฎเซเชเชฐเชฃเชจเซ เชจเชฟเชฐเซเชงเชพเชฐเชฟเชค เชเชฐเชตเชพเชจเซ เชเชฃเซ เชฐเซเชคเซเชจเซ เชเชฐเซเชเชพ เชเชฐเซ เชเซ.
เช เชนเซเช เชเชฐเซเชเชพ เชเชฐเซเชฒ เชธเชฎเซเชเชฐเชฃเชจเซ เชเชเซเชฒเชตเชพเชจเซ เชคเชฎเชพเชฎ เชชเชฆเซเชงเชคเชฟเช เชเชเชพเชฎเชพเช เชเชเชพ เชเซเชฐเชธ เชชเชฆเซเชงเชคเชฟ เชชเชฐ เชเชงเชพเชฐเชฟเชค เชเซ. เชเชพเชฒเซ เชจเซเชเซ เชชเซเชฐเชฎเชพเชฃเซ เชชเชฆเซเชงเชคเชฟเชเชจเซ เชเชฒเซเชฒเซเช เชเชฐเซเช:
- เชตเชฟเชถเซเชฒเซเชทเชฃเชพเชคเซเชฎเช เชเชเซเชฒ
- เชเซเชฐเซเชกเชฟเชฏเชจเซเช เชกเชฟเชธเซเชจเซเช
- เชธเซเชเซเชเซเชธเซเชเชฟเช เชเซเชฐเซเชกเชฟเชฏเชจเซเช เชตเชเชถ
เชธเซเชงเซ เชฐเซเชเชพเชจเชพ เชธเชฎเซเชเชฐเชฃเชจเซ เชเชเซเชฒเชตเชพเชจเซ เชฆเชฐเซเช เชชเชฆเซเชงเชคเชฟ เชฎเชพเชเซ, เชฒเซเช เชตเชฟเชตเชฟเชง เชเชพเชฐเซเชฏเซ เชชเซเชฐเชพ เชชเชพเชกเซ เชเซ, เชเซ เชฎเซเชเซเชฏเชคเซเชตเซ เชชเซเชธเซเชคเชเชพเชฒเชฏเชจเซ เชเชชเชฏเซเช เชเชฐเซเชฏเชพ เชตเชฟเชจเชพ เชฒเชเซเชฒเชพ เชเชพเชฐเซเชฏเซเชฎเชพเช เชตเชฟเชญเชพเชเชฟเชค เชฅเชพเชฏ เชเซ. เชจเชฎเซ เช เชจเซ เชเซ เชเชฃเชคเชฐเซ เชฎเชพเชเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ เชจเชฎเซ. เชเชตเซเช เชฎเชพเชจเชตเชพเชฎเชพเช เชเชตเซ เชเซ เชเซ เชเซเชถเชณ เชเชชเชฏเซเช เชจเชฎเซ เชเชฎเซเชชเซเชฏเซเชเชฟเชเช เชเชฐเซเช เชเชเชพเชกเชถเซ.
เชฒเซเชเชฎเชพเช เชเชชเซเชฒ เชคเชฎเชพเชฎ เชเซเชก เชญเชพเชทเชพเชฎเชพเช เชฒเชเซเชฒเชพ เชเซ เช
เชเชเชฐ 2.7 เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเซเชฏเซเชชเซเชเชฐ เชจเซเชเชฌเซเช. เชธเซเชฐเซเชค เชเซเชก เช
เชจเซ เชจเชฎเซเชจเชพ เชกเซเชเชพ เชธเชพเชฅเซเชจเซ เชซเชพเชเชฒ เชชเชฐ เชชเซเชธเซเช เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ
เช เชฒเซเช เชจเชตเชพ เชจเชฟเชถเชพเชณเซเชฏเชพ เช เชจเซ เชเซเช เชงเซเชฎเซ เชงเซเชฎเซ เชเชฐเซเชเชฟเชซเชฟเชถเชฟเชฏเชฒ เชเชจเซเชเซเชฒเชฟเชเชจเซเชธ - เชฎเชถเซเชจ เชฒเชฐเซเชจเชฟเชเชเชจเชพ เชเซเชฌ เช เชตเซเชฏเชพเชชเช เชตเชฟเชญเชพเชเชจเชพ เช เชญเซเชฏเชพเชธเชฎเชพเช เชจเชฟเชชเซเชฃเชคเชพ เชฎเซเชณเชตเชตเชพเชจเซเช เชถเชฐเซ เชเชฐเซ เชเซเชเซเชฏเชพ เชเซ เชคเซเช เชฌเชเชจเซ เชฎเชพเชเซ เชตเชงเซ เชฒเชเซเชทเซเชฏเชพเชเชเชฟเชค เชเซ.
เชธเชพเชฎเชเซเชฐเซเชจเซ เชธเชฎเชเชพเชตเชตเชพ เชฎเชพเชเซ, เช
เชฎเซ เชเช เชเซเชฌ เช เชธเชฐเชณ เชเชฆเชพเชนเชฐเชฃเชจเซ เชเชชเชฏเซเช เชเชฐเซเช เชเซเช.
เชเชฆเชพเชนเชฐเชฃ เชถเชฐเชคเซ
เชเชชเชฃเซ เชชเชพเชธเซ เชชเชพเชเช เชฎเซเชฒเซเชฏเซ เชเซ เชเซ เชชเชฐเชพเชงเซเชจเชคเชพเชจเซ เชฆเชฐเซเชถเชพเชตเซ เชเซ Y เชฅเซ X (เชเซเชทเซเชเช เชจเช. 1):
เชเซเชทเซเชเช เชจเชเชฌเชฐ 1 "เชเชฆเชพเชนเชฐเชฃ เชถเชฐเชคเซ"
เช
เชฎเซ เชงเชพเชฐเซเชถเซเช เชเซ เชฎเซเชฒเซเชฏเซ เชตเชฐเซเชทเชจเซ เชฎเชนเชฟเชจเซ เชเซ, เช
เชจเซ - เช เชฎเชนเชฟเชจเซ เชเชตเช. เชฌเซเชเชพ เชถเชฌเซเชฆเซเชฎเชพเช เชเชนเซเช เชคเซ, เชเชตเช เชตเชฐเซเชทเชจเชพ เชฎเชนเชฟเชจเชพ เชชเชฐ เชเชงเชพเชฐ เชฐเชพเชเซ เชเซ, เช
เชจเซ - เชเชเชฎเชพเชคเซเชฐ เชจเชฟเชถเชพเชจเซ เชเซเชจเชพ เชชเชฐ เชเชตเช เชเชงเชพเชฐ เชฐเชพเชเซ เชเซ.
เชเชฆเชพเชนเชฐเชฃ เชเชเชฒเซเช เช เชเซ, เชตเชฐเซเชทเชจเชพ เชฎเชนเชฟเชจเชพ เชชเชฐ เชเชตเชเชจเซ เชถเชฐเชคเซ เชจเชฟเชฐเซเชญเชฐเชคเชพเชจเชพ เชฆเซเชทเซเชเชฟเชเซเชฃเชฅเซ เช เชจเซ เชฎเซเชฒเซเชฏเซเชจเซ เชธเชเชเซเชฏเชพเชจเชพ เชฆเซเชทเซเชเชฟเชเซเชฃเชฅเซ - เชคเซเชฎเชพเชเชฅเซ เชเชฃเชพ เชเชเชพ เชเซ. เชเซ เชเซ, เชเชตเชพ เชธเชฐเชณเซเชเชฐเชฃ เชคเซ เชถเชเซเชฏ เชฌเชจเชพเชตเชถเซ, เชเซเชฎ เชเซ เชคเซเช เชเชนเซ เชเซ, เชธเชฎเชเชพเชตเชตเชพ เชฎเชพเชเซ, เชนเชเชฎเซเชถเชพ เชธเชฐเชณเชคเชพ เชธเชพเชฅเซ เชจเชนเซเช, เชคเซ เชธเชพเชฎเชเซเชฐเซ เชเซ เชเซ เชจเชตเชพ เชจเชฟเชถเชพเชณเซเชฏเชพ เชเชคเซเชฎเชธเชพเชค เชเชฐเซ เชเซ. เช เชจเซ เชธเชเชเซเชฏเชพเชเชจเซ เชธเชฐเชณเชคเชพ เชชเชฃ เชเซเช เชจเซเชเชงเชชเชพเชคเซเชฐ เชถเซเชฐเชฎ เชเชฐเซเช เชตเชฟเชจเชพ เชเชพเชเชณ เชชเชฐ เชเชฆเชพเชนเชฐเชฃ เชเชเซเชฒเชตเชพ เชฎเชพเชเชเซ เชเซ เชคเซเชฎเชจเซ เชฎเชเชเซเชฐเซ เชเชชเชถเซ.
เชเชพเชฒเซ เชงเชพเชฐเซเช เชเซ เชเชฆเชพเชนเชฐเชฃเชฎเชพเช เชเชชเซเชฒ เช เชตเชฒเชเชฌเชจ เชซเซเชฐเซเชฎเชจเซ เชธเชฐเชณ (เชเซเชกเซ) เชฐเซเชเซเชฐเซเชธเชจ เชฒเชพเชเชจเชจเชพ เชเชพเชฃเชฟเชคเชฟเช เชธเชฎเซเชเชฐเชฃ เชฆเซเชตเชพเชฐเชพ เชเซเชฌ เชธเชพเชฐเซ เชฐเซเชคเซ เช เชเชฆเชพเชเชฟเชค เชเชฐเซ เชถเชเชพเชฏ เชเซ:
เชเซเชฏเชพเช เชคเซ เชฎเชนเชฟเชจเซ เชเซ เชเซเชฎเชพเช เชเชตเช เชชเซเชฐเชพเชชเซเชค เชฅเช เชนเชคเซ, - เชฎเชนเชฟเชจเชพเชจเซ เช เชจเซเชฐเซเชช เชเชตเช, ะธ เช เชเชฆเชพเชเชฟเชค เชฐเซเชเชพเชจเชพ เชฐเซเชเซเชฐเซเชธเชจ เชเซเชฃเชพเชเช เชเซ.
เชจเซเชเชง เชเชฐเซ เชเซ เชเซเชฃเชพเชเช เชเชฃเซเชตเชพเชฐ เช เชเชฆเชพเชเชฟเชค เชฐเซเชเชพเชจเซ เชขเชพเชณ เช เชฅเชตเชพ เชขเชพเชณ เชเชนเซเชตเชพเชฎเชพเช เชเชตเซ เชเซ; เชคเซ เชฐเชเชฎ เชฐเชเซ เชเชฐเซ เชเซ เชเซเชจเชพ เชฆเซเชตเชพเชฐเชพ เชเซเชฏเชพเชฐเซ เชคเซ เชฌเชฆเชฒเชพเชฏ เชเซ .
เชฆเซเชเซเชคเซ เชฐเซเชคเซ, เชเชฆเชพเชนเชฐเชฃเชฎเชพเช เช เชฎเชพเชฐเซเช เชเชพเชฐเซเชฏ เชธเชฎเซเชเชฐเชฃเชฎเชพเช เชเชตเชพ เชเซเชฃเชพเชเช เชชเชธเชเชฆ เชเชฐเชตเชพเชจเซเช เชเซ ะธ , เชเซเชจเชพ เชชเชฐ เชธเชพเชเชพ เชเชตเชพเชฌเซเชฎเชพเชเชฅเซ เชฎเชนเชฟเชจเชพ เชชเซเชฐเชฎเชพเชฃเซ เช เชฎเชพเชฐเซ เชเชฃเชคเชฐเซ เชเชฐเซเชฒ เชเชตเช เชฎเซเชฒเซเชฏเซเชจเชพ เชตเชฟเชเชฒเชจเซ, เชเชเชฒเซ เชเซ. เชจเชฎเซเชจเชพเชฎเชพเช เชชเซเชฐเชธเซเชคเซเชค เชฎเซเชฒเซเชฏเซ เชจเซเชฏเซเชจเชคเชฎ เชนเชถเซ.
เชเชเชพเชฎเชพเช เชเชเซ เชเซเชฐเชธ เชชเชฆเซเชงเชคเชฟ
เชจเซเชฏเซเชจเชคเชฎ เชเซเชฐเชธ เชชเชฆเซเชงเชคเชฟ เช เชจเซเชธเชพเชฐ, เชตเชฟเชเชฒเชจเชจเซ เชเชฃเชคเชฐเซ เชคเซเชจเซ เชตเชฐเซเชเซเชเชฐเชฃ เชเชฐเซเชจเซ เชเชฐเชตเซ เชเซเชเช. เช เชคเชเชจเซเช เชคเชฎเชจเซ เชตเชฟเชเชฒเชจเซเชจเชพ เชชเชฐเชธเซเชชเชฐ เชฐเชฆเชจเซ เชเชพเชณเชตเชพ เชฎเชพเชเซ เชชเชฐเชตเชพเชจเชเซ เชเชชเซ เชเซ เชเซ เชคเซเชฎเชจเซ เชชเชพเชธเซ เชตเชฟเชฐเซเชงเซ เชเชฟเชนเซเชจเซ เชนเซเชฏ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชเซ เชเช เชเชฟเชธเซเชธเชพเชฎเชพเช, เชตเชฟเชเชฒเชจ เชเซ +5 (เชตเชคเซเชคเชพ เชชเชพเชเช), เช เชจเซ เชฌเซเชเชพเชฎเชพเช -5 (เชฎเชพเชเชจเชธ เชชเชพเชเช), เชชเชเซ เชตเชฟเชเชฒเชจเซเชจเซ เชธเชฐเชตเชพเชณเซ เชเชเชฌเซเชเชพเชจเซ เชฐเชฆ เชเชฐเชถเซ เช เชจเซ เชคเซเชจเซ เชฐเชเชฎ 0 (เชถเซเชจเซเชฏ) เชฅเชถเซ. เชตเชฟเชเชฒเชจเชจเซเช เชตเชฐเซเชเซเชเชฐเชฃ เชจ เชเชฐเชตเซเช เชถเชเซเชฏ เชเซ, เชชเชฐเชเชคเซ เชฎเซเชกเซเชฏเซเชฒเชธเชจเซ เชฎเชฟเชฒเชเชคเชจเซ เชเชชเชฏเซเช เชเชฐเชตเซ เช เชจเซ เชชเชเซ เชคเชฎเชพเชฎ เชตเชฟเชเชฒเชจเซ เชนเชเชพเชฐเชพเชคเซเชฎเช เชนเชถเซ เช เชจเซ เชเชเช เชพ เชฅเชถเซ. เช เชฎเซ เช เชฎเซเชฆเซเชฆเชพ เชชเชฐ เชตเชฟเชเชคเชตเชพเชฐ เชงเซเชฏเชพเชจ เชเชชเซเชถเซเช เชจเชนเซเช, เชชเชฐเชเชคเซ เชซเชเซเชค เชเชเชฒเซเช เช เชธเซเชเชตเซเชถเซเช เชเซ เชเชฃเชคเชฐเซเชเชจเซ เชธเซเชตเชฟเชงเชพ เชฎเชพเชเซ, เชตเชฟเชเชฒเชจเชจเซ เชตเชฐเซเชเซเชเซเชค เชเชฐเชตเชพเชจเซ เชฐเชฟเชตเชพเช เชเซ.
เช เชซเซเชฐเซเชฎเซเชฏเซเชฒเชพ เชเซเชตเซ เชฆเซเชเชพเชฏ เชเซ เชเซเชจเซ เชธเชพเชฅเซ เชเชชเชฃเซ เชตเชฐเซเช เชตเชฟเชเชฒเชจเซ (เชญเซเชฒเซ) เชจเซ เชเชเชพเชฎเชพเช เชเชเซ เชธเชฐเชตเชพเชณเซ เชจเชเซเชเซ เชเชฐเซเชถเซเช:
เชเซเชฏเชพเช เชธเชพเชเชพ เชเชตเชพเชฌเซเชจเชพ เช เชเชฆเชพเชเชจเซเช เชเชพเชฐเซเชฏ เชเซ (เชเชเชฒเซ โโเชเซ, เช เชฎเซ เชเซ เชเชตเชเชจเซ เชเชฃเชคเชฐเซ เชเชฐเซ เชเซ),
เชธเชพเชเชพ เชเชตเชพเชฌเซ เชเซ (เชจเชฎเซเชจเชพเชฎเชพเช เชเชชเซเชฒเซ เชเชตเช),
เชจเชฎเซเชจเชพ เช เชจเซเชเซเชฐเชฎเชฃเชฟเชเชพ เชเซ (เชฎเชนเชฟเชจเชพเชจเซ เชธเชเชเซเชฏเชพ เชเซเชฎเชพเช เชตเชฟเชเชฒเชจ เชจเชเซเชเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ)
เชเชพเชฒเซ เชซเชเชเซเชถเชจเชจเซ เช เชฒเช เชเชฐเซเช, เชเชเชถเชฟเช เชตเชฟเชญเซเชฆเช เชธเชฎเซเชเชฐเชฃเซเชจเซ เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชเชฐเซเช เช เชจเซ เชตเชฟเชถเซเชฒเซเชทเชฃเชพเชคเซเชฎเช เชเชเซเชฒ เชคเชฐเชซ เชเชเชณ เชตเชงเชตเชพ เชฎเชพเชเซ เชคเซเชฏเชพเชฐ เชฅเชเช. เชชเชฐเชเชคเซ เชชเซเชฐเชฅเชฎ, เชเชพเชฒเซ เชญเชฟเชจเซเชจเชคเชพ เชถเซเช เชเซ เชคเซ เชตเชฟเชถเซ เชเซเชเชเซเช เชชเซเชฐเชตเชพเชธ เชฒเชเช เช เชจเซ เชตเซเชฏเซเชคเซเชชเชจเซเชจเชจเซ เชญเซเชฎเชฟเชคเชฟเช เช เชฐเซเชฅ เชฏเชพเชฆ เชฐเชพเชเซเช.
เชญเชฟเชจเซเชจเชคเชพ
เชญเชฟเชจเซเชจเชคเชพ เช เชเชพเชฐเซเชฏเชจเซเช เชตเซเชฏเซเชคเซเชชเชจเซเชจ เชถเซเชงเชตเชพเชจเซเช เชเชพเชฐเซเชฏ เชเซ.
เชตเซเชฏเซเชคเซเชชเชจเซเชจ เชถเซเชจเชพ เชฎเชพเชเซ เชตเชชเชฐเชพเชฏ เชเซ? เชซเชเชเซเชถเชจเชจเซเช เชกเซเชฐเชฟเชตเซเชเชฟเชต เชซเชเชเซเชถเชจเชจเชพ เชซเซเชฐเชซเชพเชฐเชจเชพ เชฆเชฐเชจเซ เชฆเชฐเซเชถเชพเชตเซ เชเซ เช เชจเซ เชคเซเชจเซ เชฆเชฟเชถเชพ เชเชฃเชพเชตเซ เชเซ. เชเซ เชเชชเซเชฒ เชฌเชฟเชเชฆเซ เชชเชฐ เชตเซเชฏเซเชคเซเชชเชจเซเชจ เชนเชเชพเชฐเชพเชคเซเชฎเช เชนเซเชฏ, เชคเซ เชเชพเชฐเซเชฏ เชตเชงเซ เชเซ; เช เชจเซเชฏเชฅเชพ, เชเชพเชฐเซเชฏ เชเชเซ เชเซ. เช เชจเซ เชจเชฟเชฐเชชเซเชเซเชท เชตเซเชฏเซเชคเซเชชเชจเซเชจเชจเซเช เชฎเซเชฒเซเชฏ เชเซเชเชฒเซเช เชตเชงเชพเชฐเซ เชเซ, เชซเชเชเซเชถเชจ เชฎเซเชฒเซเชฏเซเชจเชพ เชซเซเชฐเชซเชพเชฐเชจเซ เชฆเชฐ เชเซเชเชฒเซ เชเชเชเซ เชเซ, เชคเซเชฎเช เชซเชเชเซเชถเชจ เชเซเชฐเชพเชซเชจเซ เชขเซเชณเชพเชต เชตเชงเชพเชฐเซ เชเซ.
เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชเชพเชฐเซเชเซเชถเชฟเชฏเชจ เชเซเชเชฐเซเชกเชฟเชจเซเช เชธเชฟเชธเซเชเชฎเชจเซ เชถเชฐเชคเซ เชนเซเช เชณ, เชฌเชฟเชเชฆเซ M(0,0) เชชเชฐ เชตเซเชฏเซเชคเซเชชเชจเซเชจเชจเซเช เชฎเซเชฒเซเชฏ เชฌเชฐเชพเชฌเชฐ เชเซ + 25 เชฎเชคเชฒเชฌ เชเซ เชเชชเซเชฒ เชฌเชฟเชเชฆเซเช, เชเซเชฏเชพเชฐเซ เชฎเซเชฒเซเชฏ เชธเซเชฅเชพเชจเชพเชเชคเชฐเชฟเชค เชฅเชพเชฏ เชเซ เชชเชฐเชเชชเชฐเชพเชเชค เชเชเชฎ เชฆเซเชตเชพเชฐเชพ เชเชฎเชฃเซ เชฌเชพเชเซเช, เชฎเซเชฒเซเชฏ 25 เชชเชฐเชเชชเชฐเชพเชเชค เชเชเชฎเซ เชฆเซเชตเชพเชฐเชพ เชตเชงเซ เชเซ. เชเซเชฐเชพเชซ เชชเชฐ เชคเซ เชฎเซเชฒเซเชฏเซเชฎเชพเช เชเชเชฆเชฎ เชฌเซเชนเชฆ เชตเซเชฆเซเชงเชฟ เชเซเชตเซเช เชฒเชพเชเซ เชเซ เชเชชเซเชฒ เชฌเชฟเชเชฆเซ เชชเชฐเชฅเซ.
เชฌเซเชเซเช เชเชฆเชพเชนเชฐเชฃ. เชตเซเชฏเซเชคเซเชชเชจเซเชจ เชฎเซเชฒเซเชฏ เชธเชฎเชพเชจ เชเซ -0,1 เชฎเชคเชฒเชฌ เชเซ เชเซเชฏเชพเชฐเซ เชตเชฟเชธเซเชฅเชพเชชเชฟเชค เชฅเชพเชฏ เชเซ เชเช เชชเชฐเชเชชเชฐเชพเชเชค เชเชเชฎ เชฆเซเช , เชฎเซเชฒเซเชฏ เชฎเชพเชคเซเชฐ 0,1 เชชเชฐเชเชชเชฐเชพเชเชค เชเชเชฎเชฅเซ เชเชเซ เชเซ. เชคเซ เช เชธเชฎเชฏเซ, เชซเชเชเซเชถเชจเชจเชพ เชเซเชฐเชพเชซ เชชเชฐ, เชเชชเชฃเซ เชญเชพเชเซเชฏเซ เช เชจเซเชเชงเชจเซเชฏ เชจเซเชเซ เชคเชฐเชซเชจเชพ เชขเซเชณเชพเชตเชจเซ เช เชตเชฒเซเชเชจ เชเชฐเซ เชถเชเซเช เชเซเช. เชชเชฐเซเชตเชค เชธเชพเชฅเซ เชธเชพเชฎเซเชฏเชคเชพ เชฆเซเชฐเชคเชพ, เชเชตเซเช เชฒเชพเชเซ เชเซ เชเซ เชเชชเชฃเซ เชเซเชฌ เช เชงเซเชฎเซ เชงเซเชฎเซ เชชเชฐเซเชตเชค เชชเชฐเชฅเซ เชนเชณเชตเชพ เชขเซเชณเชพเชต เชชเชฐ เชเชคเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช, เช เชเชพเชเชจเชพ เชเชฆเชพเชนเชฐเชฃเชฅเซ เชตเชฟเชชเชฐเซเชค, เชเซเชฏเชพเช เช เชฎเชพเชฐเซ เชเซเชฌ เช เชขเชพเชณเชตเชพเชณเซ เชถเชฟเชเชฐเซ เชชเชฐ เชเชขเชตเชพเชจเซเช เชนเชคเซเช :)
เชเชฎ, เชเชพเชฐเซเชฏเชจเซ เช เชฒเช เชเชฐเซเชฏเชพ เชชเชเซ เชฎเชคเชญเซเชฆ เชฆเซเชตเชพเชฐเชพ ะธ , เช เชฎเซ 1 เชฒเซ เชเซเชฐเชฎเชจเชพ เชเชเชถเชฟเช เชตเชฟเชญเซเชฆเช เชธเชฎเซเชเชฐเชฃเซเชจเซ เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชเชฐเซเช เชเซเช. เชธเชฎเซเชเชฐเชฃเซ เชจเชเซเชเซ เชเชฐเซเชฏเชพ เชชเชเซ, เช เชฎเชจเซ เชฌเซ เชธเชฎเซเชเชฐเชฃเซเชจเซ เชธเชฟเชธเซเชเชฎ เชชเซเชฐเชพเชชเซเชค เชฅเชถเซ, เชเซเชจเซ เชนเชฒ เชเชฐเซเชจเซ เชเชชเชฃเซ เชเซเชฃเชพเชเชเชจเชพ เชเชตเชพ เชฎเซเชฒเซเชฏเซ เชชเชธเชเชฆ เชเชฐเซ เชถเชเซเชถเซเช. ะธ , เชเซเชจเชพ เชฎเชพเชเซ เชเชชเซเชฒ เชฌเชฟเชเชฆเซเช เชชเชฐ เชธเชเชฌเชเชงเชฟเชค เชกเซเชฐเชฟเชตเซเชเชฟเชตเซเชเชจเชพ เชฎเซเชฒเซเชฏเซ เชเซเชฌ, เชเซเชฌ เช เชเชเซ เชฎเชพเชคเซเชฐเชพเชฎเชพเช เชฌเชฆเชฒเชพเชฏ เชเซ, เช เชจเซ เชตเชฟเชถเซเชฒเซเชทเชฃเชพเชคเซเชฎเช เชเชเซเชฒเชจเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช เชฌเชฟเชฒเชเซเชฒ เชฌเชฆเชฒเชพเชคเชพ เชจเชฅเซ. เชฌเซเชเชพ เชถเชฌเซเชฆเซเชฎเชพเช เชเชนเซเช เชคเซ, เชฎเชณเซเชฒ เชเซเชฃเชพเชเช เชชเชฐ เชญเซเชฒ เชเชพเชฐเซเชฏ เชจเซเชฏเซเชจเชคเชฎ เชธเซเชงเซ เชชเชนเซเชเชเชถเซ, เชเชพเชฐเชฃ เชเซ เช เชฌเชฟเชเชฆเซเช เชชเชฐเชจเชพ เชเชเชถเชฟเช เชกเซเชฐเชฟเชตเซเชเชฟเชตเซเชเชจเชพ เชฎเซเชฒเซเชฏเซ เชถเซเชจเซเชฏเชจเซ เชฌเชฐเชพเชฌเชฐ เชนเชถเซ.
เชคเซเชฅเซ, เชญเชฟเชจเซเชจเชคเชพเชจเชพ เชจเชฟเชฏเชฎเซ เช เชจเซเชธเชพเชฐ, เชเซเชฃเชพเชเชเชจเชพ เชธเชเชฆเชฐเซเชญเชฎเชพเช 1เชฒเชพ เชเซเชฐเชฎเชจเซเช เชเชเชถเชฟเช เชตเซเชฏเซเชคเซเชชเชจเซเชจ เชธเชฎเซเชเชฐเชฃ เชซเซเชฐเซเชฎ เชฒเซเชถเซ:
เชเชฆเชฐ เชธเชพเชฅเซ 1 เชฒเซ เชเซเชฐเชฎ เชเชเชถเชฟเช เชตเซเชฏเซเชคเซเชชเชจเซเชจ เชธเชฎเซเชเชฐเชฃ เชซเซเชฐเซเชฎ เชฒเซเชถเซ:
เชชเชฐเชฟเชฃเชพเชฎเซ, เช เชฎเชจเซ เชธเชฎเซเชเชฐเชฃเซเชจเซ เชเช เชธเชฟเชธเซเชเชฎ เชชเซเชฐเชพเชชเซเชค เชฅเช เชเซ เชเซเชฎเชพเช เชเชเชฆเชฎ เชธเชฐเชณ เชตเชฟเชถเซเชฒเซเชทเชฃเชพเชคเซเชฎเช เชเชเซเชฒ เชเซ:
เชถเชฐเซเชเชค{เชธเชฎเซเชเชฐเชฃ*}
เชถเชฐเซเชเชค{เชเซเชธ}
na + bsumlimits_{i=1}^nx_i โ sumlimits_{i=1}^ny_i = 0
sumlimits_{i=1}^nx_i(a +bsumlimits_{i=1}^nx_i โ sumlimits_{i=1}^ny_i) = 0
เช
เชเชค{เชเซเชธเซ}
เช
เชเชค{เชธเชฎเซเชเชฐเชฃ*}
เชธเชฎเซเชเชฐเชฃ เชเชเซเชฒเชคเชพ เชชเชนเซเชฒเชพ, เชเชพเชฒเซ เชชเซเชฐเซเชฒเซเชก เชเชฐเซเช, เชฒเซเชกเชฟเชเช เชธเชพเชเซเช เชเซ เชเซ เชเซเชฎ เชคเซ เชคเชชเชพเชธเซ เช เชจเซ เชกเซเชเชพเชจเซ เชซเซเชฐเซเชฎเซเช เชเชฐเซเช.
เชกเซเชเชพ เชฒเซเชก เช เชจเซ เชซเซเชฐเซเชฎเซเชเชฟเชเช
เช เชจเซเชเชงเชตเซเช เชเซเชเช เชเซ เชตเชฟเชถเซเชฒเซเชทเชฃเชพเชคเซเชฎเช เชธเซเชฒเซเชฏเซเชถเชจ เชฎเชพเชเซ, เช เชจเซ เชคเซเชฏเชพเชฐเชฌเชพเชฆ เชเซเชฐเซเชกเชฟเชฏเชจเซเช เช เชจเซ เชธเซเชเซเชเซเชธเซเชเชฟเช เชเซเชฐเซเชกเชฟเชฏเชจเซเช เชกเชฟเชธเซเชจเซเช เชฎเชพเชเซ, เช เชฎเซ เชเซเชกเชจเซ เชเชชเชฏเซเช เชฌเซ เชญเชฟเชจเซเชจเชคเชพเชฎเชพเช เชเชฐเซเชถเซเช: เชชเซเชธเซเชคเชเชพเชฒเชฏเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชจเชฎเซ เช เชจเซ เชคเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชฏเชพ เชตเชฟเชจเชพ, เชชเชเซ เช เชฎเชจเซ เชฏเซเชเซเชฏ เชกเซเชเชพ เชซเซเชฐเซเชฎเซเชเชฟเชเชเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ (เชเซเชก เชเซเช).
เชกเซเชเชพ เชฒเซเชกเชฟเชเช เช เชจเซ เชชเซเชฐเซเชธเซเชธเชฟเชเช เชเซเชก
# ะธะผะฟะพััะธััะตะผ ะฒัะต ะฝัะถะฝัะต ะฝะฐะผ ะฑะธะฑะปะธะพัะตะบะธ
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import math
import pylab as pl
import random
# ะณัะฐัะธะบะธ ะพัะพะฑัะฐะทะธะผ ะฒ Jupyter
%matplotlib inline
# ัะบะฐะถะตะผ ัะฐะทะผะตั ะณัะฐัะธะบะพะฒ
from pylab import rcParams
rcParams['figure.figsize'] = 12, 6
# ะพัะบะปััะธะผ ะฟัะตะดัะฟัะตะถะดะตะฝะธั Anaconda
import warnings
warnings.simplefilter('ignore')
# ะทะฐะณััะทะธะผ ะทะฝะฐัะตะฝะธั
table_zero = pd.read_csv('data_example.txt', header=0, sep='t')
# ะฟะพัะผะพััะธะผ ะธะฝัะพัะผะฐัะธั ะพ ัะฐะฑะปะธัะต ะธ ะฝะฐ ัะฐะผั ัะฐะฑะปะธัั
print table_zero.info()
print '********************************************'
print table_zero
print '********************************************'
# ะฟะพะดะณะพัะพะฒะธะผ ะดะฐะฝะฝัะต ะฑะตะท ะธัะฟะพะปัะทะพะฒะฐะฝะธั NumPy
x_us = []
[x_us.append(float(i)) for i in table_zero['x']]
print x_us
print type(x_us)
print '********************************************'
y_us = []
[y_us.append(float(i)) for i in table_zero['y']]
print y_us
print type(y_us)
print '********************************************'
# ะฟะพะดะณะพัะพะฒะธะผ ะดะฐะฝะฝัะต ั ะธัะฟะพะปัะทะพะฒะฐะฝะธะตะผ NumPy
x_np = table_zero[['x']].values
print x_np
print type(x_np)
print x_np.shape
print '********************************************'
y_np = table_zero[['y']].values
print y_np
print type(y_np)
print y_np.shape
print '********************************************'
เชตเชฟเชเซเชฏเซเชฒเชพเชเชเซเชถเชจ
เชนเชตเซ, เชเชชเชฃเซ เชธเซเชชเซเชฐเชฅเชฎ, เชกเซเชเชพ เชฒเซเชก เชเชฐเซเชฏเชพ เชชเชเซ, เชฌเซเชเซเช, เชฒเซเชกเชฟเชเชเชจเซ เชถเซเชฆเซเชงเชคเชพ เชคเชชเชพเชธเซ เช เชจเซ เชเซเชฒเซเชฒเซ เชกเซเชเชพเชจเซ เชซเซเชฐเซเชฎเซเช เชเชฐเซเชฏเชพ เชชเชเซ, เช เชฎเซ เชชเซเชฐเชฅเชฎ เชตเชฟเชเซเชฏเซเชฒเชพเชเชเซเชถเชจ เชนเชพเชฅ เชงเชฐเซเชถเซเช. เช เชฎเชพเชเซ เชตเชพเชฐเชเชตเชพเชฐ เชตเชชเชฐเชพเชคเซ เชชเชฆเซเชงเชคเชฟ เชเซ เชชเซเชฐเชชเซเชฒเซเช เชชเซเชธเซเชคเชเชพเชฒเชฏเซ เชธเซเชฌเซเชฐเซเชจ. เช เชฎเชพเชฐเชพ เชเชฆเชพเชนเชฐเชฃเชฎเชพเช, เชฎเชฐเซเชฏเชพเชฆเชฟเชค เชธเชเชเซเชฏเชพเชเชจเซ เชฒเซเชงเซ, เชชเซเชธเซเชคเชเชพเชฒเชฏเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพเชจเซ เชเซเช เช เชฐเซเชฅ เชจเชฅเซ เชธเซเชฌเซเชฐเซเชจ. เช เชฎเซ เชจเชฟเชฏเชฎเชฟเชค เชชเซเชธเซเชคเชเชพเชฒเชฏเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช เชฎเซเชเชชเซเชฒเซเชเชฒเชฟเชฌ เช เชจเซ เชฎเชพเชคเซเชฐ เชธเซเชเซเชเชฐเชชเซเชฒเซเช เชเซเช.
เชธเซเชเซเชเชฐเชชเซเชฒเซเช เชเซเชก
print 'ะัะฐัะธะบ โ1 "ะะฐะฒะธัะธะผะพััั ะฒััััะบะธ ะพั ะผะตัััะฐ ะณะพะดะฐ"'
plt.plot(x_us,y_us,'o',color='green',markersize=16)
plt.xlabel('$Months$', size=16)
plt.ylabel('$Sales$', size=16)
plt.show()
เชเชพเชฐเซเช เชจเชเชฌเชฐ 1 "เชตเชฐเซเชทเชจเชพ เชฎเชนเชฟเชจเชพ เชชเชฐ เชเชตเชเชจเซเช เชจเชฟเชฐเซเชญเชฐเชคเชพ"
เชตเชฟเชถเซเชฒเซเชทเชฃเชพเชคเซเชฎเช เชเชเซเชฒ
เชเชพเชฒเซ เชธเซเชฅเซ เชธเชพเชฎเชพเชจเซเชฏ เชธเชพเชงเชจเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเช เช เชเชเชฐ เช เชจเซ เชธเชฎเซเชเชฐเชฃเซเชจเซ เชธเชฟเชธเซเชเชฎ เชนเชฒ เชเชฐเซ:
เชถเชฐเซเชเชค{เชธเชฎเซเชเชฐเชฃ*}
เชถเชฐเซเชเชค{เชเซเชธ}
na + bsumlimits_{i=1}^nx_i โ sumlimits_{i=1}^ny_i = 0
sumlimits_{i=1}^nx_i(a +bsumlimits_{i=1}^nx_i โ sumlimits_{i=1}^ny_i) = 0
เช
เชเชค{เชเซเชธเซ}
เช
เชเชค{เชธเชฎเซเชเชฐเชฃ*}
เชเซเชฐเซเชฎเชฐเชจเชพ เชจเชฟเชฏเชฎ เชฎเซเชเชฌ เชเชชเชฃเซ เชธเชพเชฎเชพเชจเซเชฏ เชจเชฟเชฐเซเชฃเชพเชฏเช, เชคเซเชฎเช เชจเชฟเชฐเซเชฃเชพเชฏเชเซ เชถเซเชงเซเชถเซเช เช เชจเซ เชฆเซเชตเชพเชฐเชพ , เชเซ เชชเชเซ, เชจเชฟเชฐเซเชฃเชพเชฏเชเชจเซ เชตเชกเซ เชตเชฟเชญเชพเชเชจ เชธเชพเชฎเชพเชจเซเชฏ เชจเชฟเชฐเซเชฃเชพเชฏเช เชฎเชพเชเซ - เชเซเชฃเชพเชเช เชถเซเชงเซ , เช เช เชฐเซเชคเซ เชเชชเชฃเซ เชเซเชฃเชพเชเช เชถเซเชงเซเช เชเซเช .
เชตเชฟเชถเซเชฒเซเชทเชฃเชพเชคเซเชฎเช เชเชเซเชฒ เชเซเชก
# ะพะฟัะตะดะตะปะธะผ ััะฝะบัะธั ะดะปั ัะฐััะตัะฐ ะบะพัััะธัะธะตะฝัะพะฒ a ะธ b ะฟะพ ะฟัะฐะฒะธะปั ะัะฐะผะตัะฐ
def Kramer_method (x,y):
# ััะผะผะฐ ะทะฝะฐัะตะฝะธะน (ะฒัะต ะผะตัััะฐ)
sx = sum(x)
# ััะผะผะฐ ะธััะธะฝะฝัั
ะพัะฒะตัะพะฒ (ะฒััััะบะฐ ะทะฐ ะฒะตัั ะฟะตัะธะพะด)
sy = sum(y)
# ััะผะผะฐ ะฟัะพะธะทะฒะตะดะตะฝะธั ะทะฝะฐัะตะฝะธะน ะฝะฐ ะธััะธะฝะฝัะต ะพัะฒะตัั
list_xy = []
[list_xy.append(x[i]*y[i]) for i in range(len(x))]
sxy = sum(list_xy)
# ััะผะผะฐ ะบะฒะฐะดัะฐัะพะฒ ะทะฝะฐัะตะฝะธะน
list_x_sq = []
[list_x_sq.append(x[i]**2) for i in range(len(x))]
sx_sq = sum(list_x_sq)
# ะบะพะปะธัะตััะฒะพ ะทะฝะฐัะตะฝะธะน
n = len(x)
# ะพะฑัะธะน ะพะฟัะตะดะตะปะธัะตะปั
det = sx_sq*n - sx*sx
# ะพะฟัะตะดะตะปะธัะตะปั ะฟะพ a
det_a = sx_sq*sy - sx*sxy
# ะธัะบะพะผัะน ะฟะฐัะฐะผะตัั a
a = (det_a / det)
# ะพะฟัะตะดะตะปะธัะตะปั ะฟะพ b
det_b = sxy*n - sy*sx
# ะธัะบะพะผัะน ะฟะฐัะฐะผะตัั b
b = (det_b / det)
# ะบะพะฝััะพะปัะฝัะต ะทะฝะฐัะตะฝะธั (ะฟัะพะพะฒะตัะบะฐ)
check1 = (n*b + a*sx - sy)
check2 = (b*sx + a*sx_sq - sxy)
return [round(a,4), round(b,4)]
# ะทะฐะฟัััะธะผ ััะฝะบัะธั ะธ ะทะฐะฟะธัะตะผ ะฟัะฐะฒะธะปัะฝัะต ะพัะฒะตัั
ab_us = Kramer_method(x_us,y_us)
a_us = ab_us[0]
b_us = ab_us[1]
print ' 33[1m' + ' 33[4m' + "ะะฟัะธะผะฐะปัะฝัะต ะทะฝะฐัะตะฝะธั ะบะพัััะธัะธะตะฝัะพะฒ a ะธ b:" + ' 33[0m'
print 'a =', a_us
print 'b =', b_us
print
# ะพะฟัะตะดะตะปะธะผ ััะฝะบัะธั ะดะปั ะฟะพะดััะตัะฐ ััะผะผั ะบะฒะฐะดัะฐัะพะฒ ะพัะธะฑะพะบ
def errors_sq_Kramer_method(answers,x,y):
list_errors_sq = []
for i in range(len(x)):
err = (answers[0] + answers[1]*x[i] - y[i])**2
list_errors_sq.append(err)
return sum(list_errors_sq)
# ะทะฐะฟัััะธะผ ััะฝะบัะธั ะธ ะทะฐะฟะธัะตะผ ะทะฝะฐัะตะฝะธะต ะพัะธะฑะบะธ
error_sq = errors_sq_Kramer_method(ab_us,x_us,y_us)
print ' 33[1m' + ' 33[4m' + "ะกัะผะผะฐ ะบะฒะฐะดัะฐัะพะฒ ะพัะบะปะพะฝะตะฝะธะน" + ' 33[0m'
print error_sq
print
# ะทะฐะผะตัะธะผ ะฒัะตะผั ัะฐััะตัะฐ
# print ' 33[1m' + ' 33[4m' + "ะัะตะผั ะฒัะฟะพะปะฝะตะฝะธั ัะฐััะตัะฐ ััะผะผั ะบะฒะฐะดัะฐัะพะฒ ะพัะบะปะพะฝะตะฝะธะน:" + ' 33[0m'
# % timeit error_sq = errors_sq_Kramer_method(ab,x_us,y_us)
เช เชฎเชจเซ เชเซ เชฎเชณเซเชฏเซเช เชคเซ เช เชนเซเช เชเซ:
เชคเซเชฅเซ, เชเซเชฃเชพเชเชเชจเชพ เชฎเซเชฒเซเชฏเซ เชฎเชณเซ เชเชตเซเชฏเชพ เชเซ, เชตเชฐเซเชเชจเชพ เชตเชฟเชเชฒเชจเซเชจเซ เชธเชฐเชตเชพเชณเซ เชธเซเชฅเชพเชชเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเซเชฏเซ เชเซ. เชเชพเชฒเซ เชฎเชณเซเชฒเชพ เชเซเชฃเชพเชเช เช
เชจเซเชธเชพเชฐ เชธเซเชเซเชเชฐเชฟเชเช เชนเชฟเชธเซเชเซเชเซเชฐเชพเชฎ เชชเชฐ เชธเซเชงเซ เชฐเซเชเชพ เชฆเซเชฐเซเช.
เชฐเซเชเซเชฐเซเชถเชจ เชฒเชพเชเชจ เชเซเชก
# ะพะฟัะตะดะตะปะธะผ ััะฝะบัะธั ะดะปั ัะพัะผะธัะพะฒะฐะฝะธั ะผะฐััะธะฒะฐ ัะฐัััะตัะฝัั
ะทะฝะฐัะตะฝะธะน ะฒััััะบะธ
def sales_count(ab,x,y):
line_answers = []
[line_answers.append(ab[0]+ab[1]*x[i]) for i in range(len(x))]
return line_answers
# ะฟะพัััะพะธะผ ะณัะฐัะธะบะธ
print 'ะััะธะบโ2 "ะัะฐะฒะธะปัะฝัะต ะธ ัะฐััะตัะฝัะต ะพัะฒะตัั"'
plt.plot(x_us,y_us,'o',color='green',markersize=16, label = '$True$ $answers$')
plt.plot(x_us, sales_count(ab_us,x_us,y_us), color='red',lw=4,
label='$Function: a + bx,$ $where$ $a='+str(round(ab_us[0],2))+',$ $b='+str(round(ab_us[1],2))+'$')
plt.xlabel('$Months$', size=16)
plt.ylabel('$Sales$', size=16)
plt.legend(loc=1, prop={'size': 16})
plt.show()
เชเชพเชฐเซเช เชจเชเชฌเชฐ 2 โเชธเชพเชเชพ เช เชจเซ เชเชฃเชคเชฐเซเชชเซเชฐเซเชตเชเชจเชพ เชเชตเชพเชฌเซโ
เชคเชฎเซ เชฆเชฐเซเช เชฎเชนเชฟเชจเชพ เชฎเชพเชเซ เชตเชฟเชเชฒเชจ เชเซเชฐเชพเชซ เชเซเช เชถเชเซ เชเซ. เช
เชฎเชพเชฐเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช, เช
เชฎเซ เชคเซเชฎเชพเชเชฅเซ เชเซเช เชจเซเชเชงเชชเชพเชคเซเชฐ เชตเซเชฏเชตเชนเชพเชฐเซ เชฎเซเชฒเซเชฏ เชฎเซเชณเชตเซเชถเซเช เชจเชนเซเช, เชชเชฐเชเชคเซ เช
เชฎเซ เช
เชฎเชพเชฐเชพ เชเชฟเชเซเชเชพเชธเชพเชจเซ เชธเชเชคเซเชทเซเชถเซเช เชเซ เชธเชฐเชณ เชฐเซเชเซเชฏ เชฐเซเชเซเชฐเซเชธเชจ เชธเชฎเซเชเชฐเชฃ เชตเชฐเซเชทเชจเชพ เชฎเชนเชฟเชจเชพ เชชเชฐ เชเชตเชเชจเซ เชจเชฟเชฐเซเชญเชฐเชคเชพเชจเซ เชเซเชเชฒเซ เชธเชพเชฐเซ เชฐเซเชคเซ เชฆเชฐเซเชถเชพเชตเซ เชเซ.
เชตเชฟเชเชฒเชจ เชเชพเชฐเซเช เชเซเชก
# ะพะฟัะตะดะตะปะธะผ ััะฝะบัะธั ะดะปั ัะพัะผะธัะพะฒะฐะฝะธั ะผะฐััะธะฒะฐ ะพัะบะปะพะฝะตะฝะธะน ะฒ ะฟัะพัะตะฝัะฐั
def error_per_month(ab,x,y):
sales_c = sales_count(ab,x,y)
errors_percent = []
for i in range(len(x)):
errors_percent.append(100*(sales_c[i]-y[i])/y[i])
return errors_percent
# ะฟะพัััะพะธะผ ะณัะฐัะธะบ
print 'ะัะฐัะธะบโ3 "ะัะบะปะพะฝะตะฝะธั ะฟะพ-ะผะตัััะฝะพ, %"'
plt.gca().bar(x_us, error_per_month(ab_us,x_us,y_us), color='brown')
plt.xlabel('Months', size=16)
plt.ylabel('Calculation error, %', size=16)
plt.show()
เชเชพเชฐเซเช เชจเชเชฌเชฐ 3 โเชตเชฟเชเชฒเชจเซ, %โ
เชธเชเชชเซเชฐเซเชฃ เชจเชฅเซ, เชชเชฐเชเชคเซ เช
เชฎเซ เช
เชฎเชพเชฐเซเช เชเชพเชฐเซเชฏ เชชเซเชฐเซเชฃ เชเชฐเซเชฏเซเช.
เชเชพเชฒเซ เชเช เชเชพเชฐเซเชฏ เชฒเชเซเช เชเซ เชเซเชฃเชพเชเช เชจเชเซเชเซ เชเชฐเชตเชพ เชฎเชพเชเซ ะธ เชชเซเชธเซเชคเชเชพเชฒเชฏเชจเซ เชเชชเชฏเซเช เชเชฐเซ เชเซ เชจเชฎเซ, เชตเชงเซ เชธเซเชชเชทเซเช เชฐเซเชคเซ, เช เชฎเซ เชฌเซ เชเชพเชฐเซเชฏเซ เชฒเชเซเชถเซเช: เชเช เชธเซเชฏเซเชกเซเชเชจเชตเชฐเซเชธ เชฎเซเชเซเชฐเชฟเชเซเชธเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ (เชตเซเชฏเชตเชนเชพเชฐเชฎเชพเช เชญเชฒเชพเชฎเชฃ เชเชฐเชตเชพเชฎเชพเช เชเชตเชคเซ เชจเชฅเซ, เชเชพเชฐเชฃ เชเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเซเชฎเซเชชเซเชฏเซเชเซเชถเชจเชฒเซ เชเชเชฟเชฒ เช เชจเซ เช เชธเซเชฅเชฟเชฐ เชเซ), เชฌเซเชเซเช เชฎเซเชเซเชฐเชฟเชเซเชธ เชธเชฎเซเชเชฐเชฃเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ.
เชตเชฟเชถเซเชฒเซเชทเชฃเชพเชคเซเชฎเช เชเชเซเชฒ เชเซเชก (NumPy)
# ะดะปั ะฝะฐัะฐะปะฐ ะดะพะฑะฐะฒะธะผ ััะพะปะฑะตั ั ะฝะต ะธะทะผะตะฝัััะธะผัั ะทะฝะฐัะตะฝะธะตะผ ะฒ 1.
# ะะฐะฝะฝัะน ััะพะปะฑะตั ะฝัะถะตะฝ ะดะปั ัะพะณะพ, ััะพะฑั ะฝะต ะพะฑัะฐะฑะฐััะฒะฐัั ะพัะดะตะปัะฝะพ ะบะพัััะธัะตะฝั a
vector_1 = np.ones((x_np.shape[0],1))
x_np = table_zero[['x']].values # ะฝะฐ ะฒััะบะธะน ัะปััะฐะน ะฟัะธะฒะตะดะตะผ ะฒ ะฟะตัะฒะธัะฝัะน ัะพัะผะฐั ะฒะตะบัะพั x_np
x_np = np.hstack((vector_1,x_np))
# ะฟัะพะฒะตัะธะผ ัะพ, ััะพ ะฒัะต ัะดะตะปะฐะปะธ ะฟัะฐะฒะธะปัะฝะพ
print vector_1[0:3]
print x_np[0:3]
print '***************************************'
print
# ะฝะฐะฟะธัะตะผ ััะฝะบัะธั, ะบะพัะพัะฐั ะพะฟัะตะดะตะปัะตั ะทะฝะฐัะตะฝะธั ะบะพัััะธัะธะตะฝัะพะฒ a ะธ b ั ะธัะฟะพะปัะทะพะฒะฐะฝะธะตะผ ะฟัะตะฒะดะพะพะฑัะฐัะฝะพะน ะผะฐััะธัั
def pseudoinverse_matrix(X, y):
# ะทะฐะดะฐะตะผ ัะฒะฝัะน ัะพัะผะฐั ะผะฐััะธัั ะฟัะธะทะฝะฐะบะพะฒ
X = np.matrix(X)
# ะพะฟัะตะดะตะปัะตะผ ััะฐะฝัะฟะพะฝะธัะพะฒะฐะฝะฝัั ะผะฐััะธัั
XT = X.T
# ะพะฟัะตะดะตะปัะตะผ ะบะฒะฐะดัะฐัะฝัั ะผะฐััะธัั
XTX = XT*X
# ะพะฟัะตะดะตะปัะตะผ ะฟัะตะฒะดะพะพะฑัะฐัะฝัั ะผะฐััะธัั
inv = np.linalg.pinv(XTX)
# ะทะฐะดะฐะตะผ ัะฒะฝัะน ัะพัะผะฐั ะผะฐััะธัั ะพัะฒะตัะพะฒ
y = np.matrix(y)
# ะฝะฐั
ะพะดะธะผ ะฒะตะบัะพั ะฒะตัะพะฒ
return (inv*XT)*y
# ะทะฐะฟัััะธะผ ััะฝะบัะธั
ab_np = pseudoinverse_matrix(x_np, y_np)
print ab_np
print '***************************************'
print
# ะฝะฐะฟะธัะตะผ ััะฝะบัะธั, ะบะพัะพัะฐั ะธัะฟะพะปัะทัะตั ะดะปั ัะตัะตะฝะธั ะผะฐััะธัะฝะพะต ััะฐะฒะฝะตะฝะธะต
def matrix_equation(X,y):
a = np.dot(X.T, X)
b = np.dot(X.T, y)
return np.linalg.solve(a, b)
# ะทะฐะฟัััะธะผ ััะฝะบัะธั
ab_np = matrix_equation(x_np,y_np)
print ab_np
เชเชพเชฒเซ เชเซเชฃเชพเชเช เชจเชเซเชเซ เชเชฐเชตเชพ เชฎเชพเชเซ เชตเชฟเชคเชพเชตเซเชฒเชพ เชธเชฎเชฏเชจเซ เชคเซเชฒเชจเชพ เชเชฐเซเช ะธ , 3 เชชเซเชฐเชธเซเชคเซเชค เชชเชฆเซเชงเชคเชฟเช เช เชจเซเชธเชพเชฐ.
เชเชฃเชคเชฐเซ เชธเชฎเชฏเชจเซ เชเชฃเชคเชฐเซ เชฎเชพเชเซ เชเซเชก
print ' 33[1m' + ' 33[4m' + "ะัะตะผั ะฒัะฟะพะปะฝะตะฝะธั ัะฐััะตัะฐ ะบะพัััะธัะธะตะฝัะพะฒ ะฑะตะท ะธัะฟะพะปัะทะพะฒะฐะฝะธั ะฑะธะฑะปะธะพัะตะบะธ NumPy:" + ' 33[0m'
% timeit ab_us = Kramer_method(x_us,y_us)
print '***************************************'
print
print ' 33[1m' + ' 33[4m' + "ะัะตะผั ะฒัะฟะพะปะฝะตะฝะธั ัะฐััะตัะฐ ะบะพัััะธัะธะตะฝัะพะฒ ั ะธัะฟะพะปัะทะพะฒะฐะฝะธะตะผ ะฟัะตะฒะดะพะพะฑัะฐัะฝะพะน ะผะฐััะธัั:" + ' 33[0m'
%timeit ab_np = pseudoinverse_matrix(x_np, y_np)
print '***************************************'
print
print ' 33[1m' + ' 33[4m' + "ะัะตะผั ะฒัะฟะพะปะฝะตะฝะธั ัะฐััะตัะฐ ะบะพัััะธัะธะตะฝัะพะฒ ั ะธัะฟะพะปัะทะพะฒะฐะฝะธะตะผ ะผะฐััะธัะฝะพะณะพ ััะฐะฒะฝะตะฝะธั:" + ' 33[0m'
%timeit ab_np = matrix_equation(x_np, y_np)
เชฅเซเชกเซ เชฎเชพเชคเซเชฐเชพเชฎเชพเช เชกเซเชเชพ เชธเชพเชฅเซ, "เชธเซเชต-เชฒเซเชเชฟเชค" เชเชพเชฐเซเชฏ เชเชเชณ เชเชตเซ เชเซ, เชเซ เชเซเชฐเซเชฎเชฐเชจเซ เชชเชฆเซเชงเชคเชฟเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเซเชฃเชพเชเช เชถเซเชงเซ เชเซ.
เชนเชตเซ เชคเชฎเซ เชเซเชฃเชพเชเช เชถเซเชงเชตเชพเชจเซ เช เชจเซเชฏ เชฐเซเชคเซ เชชเชฐ เชเชเชณ เชตเชงเซ เชถเชเซ เชเซ ะธ .
เชเซเชฐเซเชกเชฟเชฏเชจเซเช เชกเชฟเชธเซเชจเซเช
เชชเซเชฐเชฅเชฎ, เชเชพเชฒเซ เชตเซเชฏเชพเชเซเชฏเชพเชฏเชฟเชค เชเชฐเซเช เชเซ เชขเชพเชณ เชถเซเช เชเซ. เชธเชฐเชณ เชถเชฌเซเชฆเซเชฎเชพเช เชเชนเซเช เชคเซ, เชขเชพเชณ เช เชเช เชธเซเชเชฎเซเชจเซเช เชเซ เชเซ เชซเชเชเซเชถเชจเชจเซ เชฎเชนเชคเซเชคเชฎ เชตเซเชฆเซเชงเชฟเชจเซ เชฆเชฟเชถเชพ เชฆเชฐเซเชถเชพเชตเซ เชเซ. เชชเชฐเซเชตเชค เชชเชฐ เชเชกเชคเชพ เชธเชพเชฅเซ เชธเชพเชฎเซเชฏเชคเชพ เชฆเซเชตเชพเชฐเชพ, เชเซเชฏเชพเช เชขเชพเชณเชตเชพเชณเชพ เชเชนเซเชฐเชพเช เชคเซ เชเซ เชเซเชฏเชพเช เชชเชฐเซเชตเชคเชจเซ เชเซเช เชชเชฐ เชธเซเชฅเซ เชตเชงเซ เชเชขเชพเชฃ เชเซ. เชชเชฐเซเชตเชค เชธเชพเชฅเซเชจเชพ เชเชฆเชพเชนเชฐเชฃเชจเซ เชตเชฟเชเชพเชธ เชเชฐเชคเชพ, เชเชชเชฃเซ เชฏเชพเชฆ เชฐเชพเชเซเช เชเซเช เชเซ เชตเชพเชธเซเชคเชตเชฎเชพเช เชเชชเชฃเซ เชถเชเซเชฏ เชคเซเชเชฒเซ เชเชกเชชเชฅเซ เชจเซเชเชพเชฃเชตเชพเชณเชพ เชตเชฟเชธเซเชคเชพเชฐ เชธเซเชงเซ เชชเชนเซเชเชเชตเชพ เชฎเชพเชเซ เชธเซเชฅเซ เชตเชงเซ เชเชเชกเซ เชเชคเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ, เชเชเชฒเซ เชเซ, เชฒเชเซเชคเซเชคเชฎ - เชคเซ เชธเซเชฅเชพเชจ เชเซเชฏเชพเช เชเชพเชฐเซเชฏ เชตเชงเชคเซเช เชเซ เชเชเชคเซเช เชจเชฅเซ. เช เชฌเชฟเชเชฆเซเช เชตเซเชฏเซเชคเซเชชเชจเซเชจ เชถเซเชจเซเชฏ เชฌเชฐเชพเชฌเชฐ เชนเชถเซ. เชคเซเชฅเซ, เชเชชเชฃเชจเซ เชขเชพเชณเชจเซ เชเชฐเซเชฐ เชจเชฅเซ, เชชเชฐเชเชคเซ เชเชจเซเชเชฟเชเซเชฐเซเชกเชฟเชฏเชจเซเชเชจเซ เชเชฐเซเชฐ เชเซ. เชเชจเซเชเชฟเชเซเชฐเซเชกเชฟเชฏเชจเซเช เชถเซเชงเชตเชพ เชฎเชพเชเซ เชคเชฎเชพเชฐเซ เชซเชเซเชค เชเซเชฐเซเชกเชฟเชฏเชจเซเชเชจเซ เชตเชกเซ เชเซเชฃเชพเชเชพเชฐ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ -1 (เชฎเชพเชเชจเชธ เชตเชจ).
เชเชพเชฒเซ เช เชนเชเซเชเชค เชชเชฐ เชงเซเชฏเชพเชจ เชเชชเซเช เชเซ เชซเชเชเซเชถเชจเชฎเชพเช เชเชฃเชพ เชฎเชฟเชจเชฟเชฎเชพ เชนเซเช เชถเชเซ เชเซ, เช เชจเซ เชจเซเชเซ เชธเซเชเชฟเชค เช เชฒเซเชเซเชฐเชฟเชงเชฎเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชคเซเชฎเชพเชเชฅเซ เชเชเชฎเชพเช เชเชคเชฐเซเชฏเชพ เชชเชเซ, เช เชฎเซ เช เชจเซเชฏ เชจเซเชฏเซเชจเชคเชฎ เชถเซเชงเซ เชถเชเซเชถเซเช เชจเชนเซเช, เชเซ เชฎเชณเซเชฒเชพ เชเชฐเชคเชพเช เชเชเซเช เชนเซเช เชถเชเซ. เชเชพเชฒเซ เชเชฐเชพเชฎ เชเชฐเซเช, เช เชเชชเชฃเชพ เชฎเชพเชเซ เชเชคเชฐเซ เชจเชฅเซ! เช เชฎเชพเชฐเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช เช เชฎเซ เช เชฎเชพเชฐเชพ เชเชพเชฐเซเชฏเชฅเซ, เชเช เชฒเชเซเชคเซเชคเชฎ เชธเชพเชฅเซ เชตเซเชฏเชตเชนเชพเชฐ เชเชฐเซเช เชเซเช เชเซเชฐเชพเชซ เชชเชฐ เชจเชฟเชฏเชฎเชฟเชค เชชเซเชฐเชพเชฌเซเชฒเชพ เชเซ. เช เชจเซ เชเซเชฎ เชเซ เชเชชเชฃเซ เชฌเชงเชพเชจเซ เช เชฎเชพเชฐเชพ เชถเชพเชณเชพเชจเชพ เชเชฃเชฟเชคเชจเชพ เช เชญเซเชฏเชพเชธเชเซเชฐเชฎเชฎเชพเชเชฅเซ เชเซเชฌ เชธเชพเชฐเซ เชฐเซเชคเซ เชเชพเชฃเชตเซเช เชเซเชเช, เชชเซเชฐเชพเชฌเซเชฒเชพเชฎเชพเช เชฎเชพเชคเซเชฐ เชเช เช เชจเซเชฏเซเชจเชคเชฎ เชนเซเชฏ เชเซ.
เช เชฎเชจเซ เชถเชพ เชฎเชพเชเซ เชเซเชฐเซเชกเชฟเชฏเชจเซเชเชจเซ เชเชฐเซเชฐ เชเซ เชคเซ เชเชพเชฃเซเชฏเชพ เชชเชเซ, เช เชจเซ เช เชชเชฃ เชเซ เชเซเชฐเซเชกเชฟเชฏเชจเซเช เชเช เชธเซเชเชฎเซเชจเซเช เชเซ, เชเชเชฒเซ เชเซ เชเชชเซเชฒ เชเซเชเชฐเซเชกเชฟเชจเซเชเซเชธ เชธเชพเชฅเซเชจเซ เชตเซเชเซเชเชฐ, เชเซ เชเซเชเซเชเชธเชชเชฃเซ เชธเชฎเชพเชจ เชเซเชฃเชพเชเช เชเซ ะธ เช เชฎเซ เชเซเชฐเซเชกเชฟเชเชจเซเช เชกเชฟเชธเซเชจเซเช เช เชฎเชฒเชฎเชพเช เชฎเซเชเซ เชถเชเซเช เชเซเช.
เชถเชฐเซ เชเชฐเชคเชพ เชชเชนเซเชฒเชพ, เชนเซเช เชตเชเชถเชจเชพ เช เชฒเซเชเซเชฐเชฟเชงเชฎ เชตเชฟเชถเซ เชฎเชพเชคเซเชฐ เชฅเซเชกเชพ เชตเชพเชเซเชฏเซ เชตเชพเชเชเชตเชพเชจเซเช เชธเซเชเชจ เชเชฐเซเช เชเซเช:
- เช เชฎเซ เชธเซเชฏเซเชกเซ-เชฐเซเชจเซเชกเชฎ เชฐเซเชคเซ เชเซเชฃเชพเชเชเชจเชพ เชเซเชเชฐเซเชกเชฟเชจเซเชเซเชธ เชจเชเซเชเซ เชเชฐเซเช เชเซเช ะธ . เช เชฎเชพเชฐเชพ เชเชฆเชพเชนเชฐเชฃเชฎเชพเช, เชเชชเชฃเซ เชถเซเชจเซเชฏเชจเซ เชจเชเซเชเชจเชพ เชเซเชฃเชพเชเช เชจเชเซเชเซ เชเชฐเซเชถเซเช. เช เชเช เชธเชพเชฎเชพเชจเซเชฏ เชชเซเชฐเชฅเชพ เชเซ, เชชเชฐเชเชคเซ เชฆเชฐเซเช เชเซเชธเชจเซ เชชเซเชคเชพเชจเซ เชชเซเชฐเชฅเชพ เชนเซเช เชถเชเซ เชเซ.
- เชธเชเชเชฒเชจ เชฅเซ เชฌเชฟเชเชฆเซ เชชเชฐ 1เชฒเชพ เชเซเชฐเชฎเชจเชพ เชเชเชถเชฟเช เชตเซเชฏเซเชคเซเชชเชจเซเชจเชจเชพ เชฎเซเชฒเซเชฏเชจเซ เชฌเชพเชฆ เชเชฐเซ . เชคเซเชฅเซ, เชเซ เชตเซเชฏเซเชคเซเชชเชจเซเชจ เชนเชเชพเชฐเชพเชคเซเชฎเช เชเซ, เชคเซ เชเชพเชฐเซเชฏ เชตเชงเซ เชเซ. เชคเซเชฅเซ, เชตเซเชฏเซเชคเซเชชเชจเซเชจเชจเชพ เชฎเซเชฒเซเชฏเชจเซ เชฌเชพเชฆ เชเชฐเซเชจเซ, เชเชชเชฃเซ เชตเซเชฆเซเชงเชฟเชจเซ เชตเชฟเชฐเซเชฆเซเชง เชฆเชฟเชถเชพเชฎเชพเช, เชเชเชฒเซ เชเซ, เชตเชเชถเชจเซ เชฆเชฟเชถเชพเชฎเชพเช เชเชเชณ เชตเชงเซเชถเซเช. เชเซ เชตเซเชฏเซเชคเซเชชเชจเซเชจ เชจเชเชพเชฐเชพเชคเซเชฎเช เชนเซเชฏ, เชคเซ เช เชฌเชฟเชเชฆเซเช เชเชพเชฐเซเชฏ เชเชเซ เชเซ เช เชจเซ เชตเซเชฏเซเชคเซเชชเชจเซเชจเชจเชพ เชฎเซเชฒเซเชฏเชจเซ เชฌเชพเชฆ เชเชฐเซเชจเซ เชเชชเชฃเซ เชตเชเชถเชจเซ เชฆเชฟเชถเชพเชฎเชพเช เชเชเชณ เชตเชงเซเช เชเซเช.
- เช เชฎเซ เชธเชเชเชฒเชจ เชธเชพเชฅเซ เชธเชฎเชพเชจ เชเชพเชฎเชเซเชฐเซ เชนเชพเชฅ เชงเชฐเซเช เชเซเช : เชฌเชฟเชเชฆเซ เชชเชฐ เชเชเชถเชฟเช เชตเซเชฏเซเชคเซเชชเชจเซเชจเชจเซ เชเชฟเชเชฎเชค เชฌเชพเชฆ เชเชฐเซ .
- เชฒเชเซเชคเซเชคเชฎ เชเชชเชฐเชฅเซ เชเซเชฆเชเซ เชจ เชฎเชพเชฐเชตเชพ เช เชจเซ เชเชเชกเชพ เช เชตเชเชพเชถเชฎเชพเช เชเชกเชพเชจ เชจ เชเชฐเชตเชพ เชฎเชพเชเซ, เชตเชเชถเชจเซ เชฆเชฟเชถเชพเชฎเชพเช เชชเชเชฒเชพเชจเซเช เชเชฆ เชธเซเช เชเชฐเชตเซเช เชเชฐเซเชฐเซ เชเซ. เชธเชพเชฎเชพเชจเซเชฏ เชฐเซเชคเซ, เชคเชฎเซ เชเชฃเชคเชฐเซเชจเชพ เชเชฐเซเชเชจเซ เชเชเชพเชกเชตเชพ เชฎเชพเชเซ เชฏเซเชเซเชฏ เชฐเซเชคเซ เชชเชเชฒเซเช เชเซเชตเซ เชฐเซเชคเซ เชธเซเช เชเชฐเชตเซเช เช เชจเซ เชตเชเชถ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชคเซเชจเซ เชเซเชตเซ เชฐเซเชคเซ เชฌเชฆเชฒเชตเซเช เชคเซ เชตเชฟเชถเซ เชเชเซ เชฒเซเช เชฒเชเซ เชถเชเซ เชเซ. เชชเชฐเชเชคเซ เชนเชตเซ เชเชชเชฃเซ เชธเชพเชฎเซ เชฅเซเชกเซเช เช เชฒเช เชเชพเชฐเซเชฏ เชเซ, เช เชจเซ เช เชฎเซ "เชชเซเช" เช เชฅเชตเชพ, เชเซเชฎ เชเซ เชคเซเช เชธเชพเชฎเชพเชจเซเชฏ เชญเชพเชทเชพเชฎเชพเช เชเชนเซ เชเซ, เชชเซเชฐเชฏเซเชเชพเชคเซเชฎเช เชฐเซเชคเซ เชตเซเชเซเชเชพเชจเชฟเช เชชเชฆเซเชงเชคเชฟเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชเชฆเชจเซเช เชเชฆ เชธเซเชฅเชพเชชเชฟเชค เชเชฐเซเชถเซเช.
- เชเชเชตเชพเชฐ เชเชชเชฃเซ เชเชชเซเชฒ เชเซเชเชฐเซเชกเชฟเชจเซเชเซเชธเชฎเชพเชเชฅเซ เชเซเช ะธ เชกเซเชฐเชฟเชตเซเชเชฟเชตเซเชเชจเชพ เชฎเซเชฒเซเชฏเซเชจเซ เชฌเชพเชฆ เชเชฐเซเช, เช เชฎเชจเซ เชจเชตเชพ เชเซเชเชฐเซเชกเชฟเชจเซเชเซเชธ เชฎเชณเซ เชเซ ะธ . เช เชฎเซ เชเชฃเชคเชฐเซ เชเชฐเซเชฒ เชเซเชเชฐเซเชกเชฟเชจเซเชเซเชธเชฎเชพเชเชฅเซ เชชเชนเซเชฒเชพเชฅเซ เช เชเชเชณเชจเซเช เชชเชเชฒเซเช (เชฌเชพเชฆเชฌเชพเชเซ) เชฒเชเช เชเซเช. เช เชจเซ เชคเซเชฅเซ เชเชเซเชฐ เชซเชฐเซเชฅเซ เช เชจเซ เชซเชฐเซเชฅเซ เชถเชฐเซ เชฅเชพเชฏ เชเซ, เชเซเชฏเชพเช เชธเซเชงเซ เชเชฐเซเชฐเซ เชเชจเซเชตเชฐเซเชเชจเซเชธ เชชเซเชฐเชพเชชเซเชค เชจ เชฅเชพเชฏ เชคเซเชฏเชพเช เชธเซเชงเซ.
เชฌเชงเชพ! เชนเชตเซ เช เชฎเซ เชฎเชฐเชฟเชฏเชพเชจเชพ เชเซเชฐเซเชจเซเชเชจเซ เชธเซเชฅเซ เชเชเชกเซ เชเชพเชกเซเชจเซ เชถเซเชงเชฎเชพเช เชเชตเชพ เชฎเชพเชเซ เชคเซเชฏเชพเชฐ เชเซเช. เชเชพเชฒเซ, เชถเชฐเซ เชเชฐเซเช.
เชขเชพเชณ เชตเชเชถ เชฎเชพเชเซ เชเซเชก
# ะฝะฐะฟะธัะตะผ ััะฝะบัะธั ะณัะฐะดะธะตะฝัะฝะพะณะพ ัะฟััะบะฐ ะฑะตะท ะธัะฟะพะปัะทะพะฒะฐะฝะธั ะฑะธะฑะปะธะพัะตะบะธ NumPy.
# ะคัะฝะบัะธั ะฝะฐ ะฒั
ะพะด ะฟัะธะฝะธะผะฐะตั ะดะธะฐะฟะฐะทะพะฝั ะทะฝะฐัะตะฝะธะน x,y, ะดะปะธะฝั ัะฐะณะฐ (ะฟะพ ัะผะพะปัะฐะฝะธั=0,1), ะดะพะฟัััะธะผัั ะฟะพะณัะตัะฝะพััั(tolerance)
def gradient_descent_usual(x_us,y_us,l=0.1,tolerance=0.000000000001):
# ััะผะผะฐ ะทะฝะฐัะตะฝะธะน (ะฒัะต ะผะตัััะฐ)
sx = sum(x_us)
# ััะผะผะฐ ะธััะธะฝะฝัั
ะพัะฒะตัะพะฒ (ะฒััััะบะฐ ะทะฐ ะฒะตัั ะฟะตัะธะพะด)
sy = sum(y_us)
# ััะผะผะฐ ะฟัะพะธะทะฒะตะดะตะฝะธั ะทะฝะฐัะตะฝะธะน ะฝะฐ ะธััะธะฝะฝัะต ะพัะฒะตัั
list_xy = []
[list_xy.append(x_us[i]*y_us[i]) for i in range(len(x_us))]
sxy = sum(list_xy)
# ััะผะผะฐ ะบะฒะฐะดัะฐัะพะฒ ะทะฝะฐัะตะฝะธะน
list_x_sq = []
[list_x_sq.append(x_us[i]**2) for i in range(len(x_us))]
sx_sq = sum(list_x_sq)
# ะบะพะปะธัะตััะฒะพ ะทะฝะฐัะตะฝะธะน
num = len(x_us)
# ะฝะฐัะฐะปัะฝัะต ะทะฝะฐัะตะฝะธั ะบะพัััะธัะธะตะฝัะพะฒ, ะพะฟัะตะดะตะปะตะฝะฝัะต ะฟัะตะฒะดะพัะปััะฐะนะฝัะผ ะพะฑัะฐะทะพะผ
a = float(random.uniform(-0.5, 0.5))
b = float(random.uniform(-0.5, 0.5))
# ัะพะทะดะฐะตะผ ะผะฐััะธะฒ ั ะพัะธะฑะบะฐะผะธ, ะดะปั ััะฐััะฐ ะธัะฟะพะปัะทัะตะผ ะทะฝะฐัะตะฝะธั 1 ะธ 0
# ะฟะพัะปะต ะทะฐะฒะตััะตะฝะธั ัะฟััะบะฐ ััะฐััะพะฒัะต ะทะฝะฐัะตะฝะธั ัะดะฐะปะธะผ
errors = [1,0]
# ะทะฐะฟััะบะฐะตะผ ัะธะบะป ัะฟััะบะฐ
# ัะธะบะป ัะฐะฑะพัะฐะตั ะดะพ ัะตั
ะฟะพั, ะฟะพะบะฐ ะพัะบะปะพะฝะตะฝะธะต ะฟะพัะปะตะดะฝะตะน ะพัะธะฑะบะธ ััะผะผั ะบะฒะฐะดัะฐัะพะฒ ะพั ะฟัะตะดัะดััะตะน, ะฝะต ะฑัะดะตั ะผะตะฝััะต tolerance
while abs(errors[-1]-errors[-2]) > tolerance:
a_step = a - l*(num*a + b*sx - sy)/num
b_step = b - l*(a*sx + b*sx_sq - sxy)/num
a = a_step
b = b_step
ab = [a,b]
errors.append(errors_sq_Kramer_method(ab,x_us,y_us))
return (ab),(errors[2:])
# ะทะฐะฟะธัะตะผ ะผะฐััะธะฒ ะทะฝะฐัะตะฝะธะน
list_parametres_gradient_descence = gradient_descent_usual(x_us,y_us,l=0.1,tolerance=0.000000000001)
print ' 33[1m' + ' 33[4m' + "ะะฝะฐัะตะฝะธั ะบะพัััะธัะธะตะฝัะพะฒ a ะธ b:" + ' 33[0m'
print 'a =', round(list_parametres_gradient_descence[0][0],3)
print 'b =', round(list_parametres_gradient_descence[0][1],3)
print
print ' 33[1m' + ' 33[4m' + "ะกัะผะผะฐ ะบะฒะฐะดัะฐัะพะฒ ะพัะบะปะพะฝะตะฝะธะน:" + ' 33[0m'
print round(list_parametres_gradient_descence[1][-1],3)
print
print ' 33[1m' + ' 33[4m' + "ะะพะปะธัะตััะฒะพ ะธัะตัะฐัะธะน ะฒ ะณัะฐะดะธะตะฝัะฝะพะผ ัะฟััะบะต:" + ' 33[0m'
print len(list_parametres_gradient_descence[1])
print
เช
เชฎเซ เชฎเชพเชฐเชฟเชฏเชพเชจเชพ เชเซเชฐเซเชจเซเชเชจเชพ เชเซเชฌ เช เชคเชณเชฟเชฏเซ เชกเชพเชเชต เชเชฐเซเชฏเซเช เช
เชจเซ เชคเซเชฏเชพเช เช
เชฎเชจเซ เชฌเชงเชพ เชธเชฎเชพเชจ เชเซเชฃเชพเชเช เชฎเซเชฒเซเชฏเซ เชฎเชณเซเชฏเชพ ะธ , เชเซ เช
เชชเซเชเซเชทเชฟเชค เชนเชคเซเช เชคเซ เชฌเชฐเชพเชฌเชฐ เชเซ.
เชเชพเชฒเซ เชฌเซเชเซ เชกเชพเชเชต เชฒเชเช, เชซเชเซเชค เช เชตเชเชคเซ เช, เชเชชเชฃเซเช เชกเซเชช เชธเซ เชตเชพเชนเชจ เช เชจเซเชฏ เชเซเชเซเชจเซเชฒเซเชเซเชเชฅเซ เชญเชฐเซเชฒเซเช เชนเชถเซ, เชเชเชฒเซ เชเซ เชชเซเชธเซเชคเชเชพเชฒเชฏ. เชจเชฎเซ.
เชเซเชฐเซเชกเชฟเชฏเชจเซเช เชกเชฟเชธเซเชจเซเช เชฎเชพเชเซ เชเซเชก (NumPy)
# ะฟะตัะตะด ัะตะผ ะพะฟัะตะดะตะปะธัั ััะฝะบัะธั ะดะปั ะณัะฐะดะธะตะฝัะฝะพะณะพ ัะฟััะบะฐ ั ะธัะฟะพะปัะทะพะฒะฐะฝะธะตะผ ะฑะธะฑะปะธะพัะตะบะธ NumPy,
# ะฝะฐะฟะธัะตะผ ััะฝะบัะธั ะพะฟัะตะดะตะปะตะฝะธั ััะผะผั ะบะฒะฐะดัะฐัะพะฒ ะพัะบะปะพะฝะตะฝะธะน ัะฐะบะถะต ั ะธัะฟะพะปัะทะพะฒะฐะฝะธะตะผ NumPy
def error_square_numpy(ab,x_np,y_np):
y_pred = np.dot(x_np,ab)
error = y_pred - y_np
return sum((error)**2)
# ะฝะฐะฟะธัะตะผ ััะฝะบัะธั ะณัะฐะดะธะตะฝัะฝะพะณะพ ัะฟััะบะฐ ั ะธัะฟะพะปัะทะพะฒะฐะฝะธะตะผ ะฑะธะฑะปะธะพัะตะบะธ NumPy.
# ะคัะฝะบัะธั ะฝะฐ ะฒั
ะพะด ะฟัะธะฝะธะผะฐะตั ะดะธะฐะฟะฐะทะพะฝั ะทะฝะฐัะตะฝะธะน x,y, ะดะปะธะฝั ัะฐะณะฐ (ะฟะพ ัะผะพะปัะฐะฝะธั=0,1), ะดะพะฟัััะธะผัั ะฟะพะณัะตัะฝะพััั(tolerance)
def gradient_descent_numpy(x_np,y_np,l=0.1,tolerance=0.000000000001):
# ััะผะผะฐ ะทะฝะฐัะตะฝะธะน (ะฒัะต ะผะตัััะฐ)
sx = float(sum(x_np[:,1]))
# ััะผะผะฐ ะธััะธะฝะฝัั
ะพัะฒะตัะพะฒ (ะฒััััะบะฐ ะทะฐ ะฒะตัั ะฟะตัะธะพะด)
sy = float(sum(y_np))
# ััะผะผะฐ ะฟัะพะธะทะฒะตะดะตะฝะธั ะทะฝะฐัะตะฝะธะน ะฝะฐ ะธััะธะฝะฝัะต ะพัะฒะตัั
sxy = x_np*y_np
sxy = float(sum(sxy[:,1]))
# ััะผะผะฐ ะบะฒะฐะดัะฐัะพะฒ ะทะฝะฐัะตะฝะธะน
sx_sq = float(sum(x_np[:,1]**2))
# ะบะพะปะธัะตััะฒะพ ะทะฝะฐัะตะฝะธะน
num = float(x_np.shape[0])
# ะฝะฐัะฐะปัะฝัะต ะทะฝะฐัะตะฝะธั ะบะพัััะธัะธะตะฝัะพะฒ, ะพะฟัะตะดะตะปะตะฝะฝัะต ะฟัะตะฒะดะพัะปััะฐะนะฝัะผ ะพะฑัะฐะทะพะผ
a = float(random.uniform(-0.5, 0.5))
b = float(random.uniform(-0.5, 0.5))
# ัะพะทะดะฐะตะผ ะผะฐััะธะฒ ั ะพัะธะฑะบะฐะผะธ, ะดะปั ััะฐััะฐ ะธัะฟะพะปัะทัะตะผ ะทะฝะฐัะตะฝะธั 1 ะธ 0
# ะฟะพัะปะต ะทะฐะฒะตััะตะฝะธั ัะฟััะบะฐ ััะฐััะพะฒัะต ะทะฝะฐัะตะฝะธั ัะดะฐะปะธะผ
errors = [1,0]
# ะทะฐะฟััะบะฐะตะผ ัะธะบะป ัะฟััะบะฐ
# ัะธะบะป ัะฐะฑะพัะฐะตั ะดะพ ัะตั
ะฟะพั, ะฟะพะบะฐ ะพัะบะปะพะฝะตะฝะธะต ะฟะพัะปะตะดะฝะตะน ะพัะธะฑะบะธ ััะผะผั ะบะฒะฐะดัะฐัะพะฒ ะพั ะฟัะตะดัะดััะตะน, ะฝะต ะฑัะดะตั ะผะตะฝััะต tolerance
while abs(errors[-1]-errors[-2]) > tolerance:
a_step = a - l*(num*a + b*sx - sy)/num
b_step = b - l*(a*sx + b*sx_sq - sxy)/num
a = a_step
b = b_step
ab = np.array([[a],[b]])
errors.append(error_square_numpy(ab,x_np,y_np))
return (ab),(errors[2:])
# ะทะฐะฟะธัะตะผ ะผะฐััะธะฒ ะทะฝะฐัะตะฝะธะน
list_parametres_gradient_descence = gradient_descent_numpy(x_np,y_np,l=0.1,tolerance=0.000000000001)
print ' 33[1m' + ' 33[4m' + "ะะฝะฐัะตะฝะธั ะบะพัััะธัะธะตะฝัะพะฒ a ะธ b:" + ' 33[0m'
print 'a =', round(list_parametres_gradient_descence[0][0],3)
print 'b =', round(list_parametres_gradient_descence[0][1],3)
print
print ' 33[1m' + ' 33[4m' + "ะกัะผะผะฐ ะบะฒะฐะดัะฐัะพะฒ ะพัะบะปะพะฝะตะฝะธะน:" + ' 33[0m'
print round(list_parametres_gradient_descence[1][-1],3)
print
print ' 33[1m' + ' 33[4m' + "ะะพะปะธัะตััะฒะพ ะธัะตัะฐัะธะน ะฒ ะณัะฐะดะธะตะฝัะฝะพะผ ัะฟััะบะต:" + ' 33[0m'
print len(list_parametres_gradient_descence[1])
print
เชเซเชฃเชพเชเช เชฎเซเชฒเซเชฏเซ ะธ เชฌเชฆเชฒเซ เชจ เชถเชเชพเชฏ เชคเซเชตเซเช
เชเชพเชฒเซ เชเซเชเช เชเซ เชเซเชฐเซเชกเชฟเชฏเชจเซเช เชกเชฟเชธเซเชจเซเช เชฆเชฐเชฎเชฟเชฏเชพเชจ เชญเซเชฒ เชเซเชตเซ เชฐเซเชคเซ เชฌเชฆเชฒเชพเช, เชเชเชฒเซ เชเซ, เชฆเชฐเซเช เชชเชเชฒเชพ เชธเชพเชฅเซ เชตเชฐเซเช เชตเชฟเชเชฒเชจเซเชจเซ เชธเชฐเชตเชพเชณเซ เชเซเชตเซ เชฐเซเชคเซ เชฌเชฆเชฒเชพเชฏเซ.
เชเซเชฐเชธ เชตเชฟเชเชฒเชจเซเชจเชพ เชธเชฐเชตเชพเชณเชพ เชเชพเชตเชคเชฐเชพ เชฎเชพเชเซเชจเซ เชเซเชก
print 'ะัะฐัะธะบโ4 "ะกัะผะผะฐ ะบะฒะฐะดัะฐัะพะฒ ะพัะบะปะพะฝะตะฝะธะน ะฟะพ-ัะฐะณะพะฒะพ"'
plt.plot(range(len(list_parametres_gradient_descence[1])), list_parametres_gradient_descence[1], color='red', lw=3)
plt.xlabel('Steps (Iteration)', size=16)
plt.ylabel('Sum of squared deviations', size=16)
plt.show()
เชเซเชฐเชพเชซ เชจเชเชฌเชฐ 4 โเชเซเชฐเซเชกเชฟเชฏเชจเซเช เชกเชฟเชธเซเชจเซเช เชฆเชฐเชฎเชฟเชฏเชพเชจ เชเซเชฐเชธ เชตเชฟเชเชฒเชจเซเชจเซ เชธเชฐเชตเชพเชณเซโ
เชเซเชฐเชพเชซ เชชเชฐ เชเชชเชฃเซ เชเซเชเช เชเซเช เชเซ เชฆเชฐเซเช เชชเชเชฒเชพ เชธเชพเชฅเซ เชญเซเชฒ เชเชเชคเซ เชเชพเชฏ เชเซ, เช
เชจเซ เชเซเชเซเชเชธ เชธเชเชเซเชฏเชพเชฎเชพเช เชชเซเชจเชฐเชพเชตเชฐเซเชคเชจเซ เชชเชเซ เชเชชเชฃเซ เชฒเชเชญเช เชเชกเซ เชฐเซเชเชพ เช
เชตเชฒเซเชเชจ เชเชฐเซเช เชเซเช.
เชเซเชฒเซเชฒเซ, เชเชพเชฒเซ เชเซเชก เชเชเซเชเซเชเซเชฏเซเชถเชจ เชธเชฎเชฏเชฎเชพเช เชคเชซเชพเชตเชคเชจเซ เช เชเชฆเชพเช เชฒเชเชพเชตเซเช:
เชเซเชฐเซเชกเชฟเชฏเชจเซเช เชกเชฟเชธเซเชจเซเช เชเชฃเชคเชฐเซ เชธเชฎเชฏ เชจเชเซเชเซ เชเชฐเชตเชพ เชฎเชพเชเซเชจเซ เชเซเชก
print ' 33[1m' + ' 33[4m' + "ะัะตะผั ะฒัะฟะพะปะฝะตะฝะธั ะณัะฐะดะธะตะฝัะฝะพะณะพ ัะฟััะบะฐ ะฑะตะท ะธัะฟะพะปัะทะพะฒะฐะฝะธั ะฑะธะฑะปะธะพัะตะบะธ NumPy:" + ' 33[0m'
%timeit list_parametres_gradient_descence = gradient_descent_usual(x_us,y_us,l=0.1,tolerance=0.000000000001)
print '***************************************'
print
print ' 33[1m' + ' 33[4m' + "ะัะตะผั ะฒัะฟะพะปะฝะตะฝะธั ะณัะฐะดะธะตะฝัะฝะพะณะพ ัะฟััะบะฐ ั ะธัะฟะพะปัะทะพะฒะฐะฝะธะตะผ ะฑะธะฑะปะธะพัะตะบะธ NumPy:" + ' 33[0m'
%timeit list_parametres_gradient_descence = gradient_descent_numpy(x_np,y_np,l=0.1,tolerance=0.000000000001)
เชเชฆเชพเช เชเชชเชฃเซ เชเชเชเช เชเซเชเซเช เชเชฐเซ เชฐเชนเซเชฏเชพ เชเซเช, เชชเชฐเชเชคเซ เชซเชฐเซเชฅเซ เชคเซ เชเช เชธเชฐเชณ "เชเชฐ-เชฒเซเชเชฟเชค" เชเชพเชฐเซเชฏ เชเซ เชเซ เชฒเชพเชเชฌเซเชฐเซเชฐเซเชจเซ เชเชชเชฏเซเช เชเชฐเชคเซเช เชจเชฅเซ เชจเชฎเซ เชฒเชพเชเชฌเซเชฐเซเชฐเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชซเชเชเซเชถเชจเชจเชพ เชเชฃเชคเชฐเซเชจเชพ เชธเชฎเชฏ เชเชฐเชคเชพเช เชตเชงเซ เชชเซเชฐเชฆเชฐเซเชถเชจ เชเชฐเซ เชเซ เชจเชฎเซ.
เชชเชฐเชเชคเซ เช เชฎเซ เชธเซเชฅเชฟเชฐ เชจเชฅเซ, เชชเชฐเชเชคเซ เชธเชฐเชณ เชฐเซเชเซเชฏ เชฐเซเชเซเชฐเซเชธเชจ เชธเชฎเซเชเชฐเชฃเชจเซ เชเชเซเชฒเชตเชพ เชฎเชพเชเซ เชฌเซเชเซ เชเชเชฐเซเชทเช เชฐเซเชคเชจเซ เช เชญเซเชฏเชพเชธ เชเชฐเชตเชพ เชคเชฐเชซ เชเชเชณ เชตเชงเซ เชฐเชนเซเชฏเชพ เชเซเช. เชฎเชณเซ!
เชธเซเชเซเชเซเชธเซเชเชฟเช เชเซเชฐเซเชกเชฟเชฏเชจเซเช เชตเชเชถ
เชธเซเชเซเชเซเชธเซเชเชฟเช เชเซเชฐเซเชกเชฟเชฏเชจเซเช เชตเชเชถเชจเชพ เชเชชเชฐเซเชถเชจเชจเชพ เชธเชฟเชฆเซเชงเชพเชเชคเชจเซ เชเชกเชชเชฅเซ เชธเชฎเชเชตเชพ เชฎเชพเชเซ, เชธเชพเชฎเชพเชจเซเชฏ เชเซเชฐเซเชกเชฟเชฏเชจเซเช เชตเชเชถเชฎเชพเชเชฅเซ เชคเซเชจเชพ เชคเชซเชพเชตเชคเซ เชจเชเซเชเซ เชเชฐเชตเชพเชจเซเช เชตเชงเซ เชธเชพเชฐเซเช เชเซ. เช เชฎเซ, เชขเชพเชณเชจเชพ เชตเชเชถเชจเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช, เชจเชพ เชกเซเชฐเชฟเชตเซเชเชฟเชตเซเชเชจเชพ เชธเชฎเซเชเชฐเชฃเซเชฎเชพเช ะธ เชจเชฎเซเชจเชพเชฎเชพเช เชเชชเชฒเชฌเซเชง เชคเชฎเชพเชฎ เชธเซเชตเชฟเชงเชพเช เช เชจเซ เชธเชพเชเชพ เชเชตเชพเชฌเซเชจเชพ เชฎเซเชฒเซเชฏเซเชจเชพ เชธเชฐเชตเชพเชณเชพเชจเซ เชเชชเชฏเซเช เชเชฐเซเชฏเซ (เชเชเชฒเซ โโเชเซ, เชคเชฎเชพเชฎเชจเซ เชธเชฐเชตเชพเชณเซ ะธ ). เชธเซเชเซเชเซเชธเซเชเชฟเช เชเซเชฐเซเชกเชฟเชฏเชจเซเช เชกเชฟเชธเซเชจเซเชเชฎเชพเช, เช เชฎเซ เชจเชฎเซเชจเชพเชฎเชพเช เชนเชพเชเชฐ เชคเชฎเชพเชฎ เชฎเซเชฒเซเชฏเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช เชจเชนเซเช, เชชเชฐเชเชคเซ เชคเซเชจเชพ เชฌเชฆเชฒเซ, เชธเซเชฏเซเชกเซ-เชฐเซเชจเซเชกเชฎเชฒเซ เชเชนเซเชตเชพเชคเชพ เชจเชฎเซเชจเชพ เชเชจเซเชกเซเชเซเชธเชจเซ เชชเชธเชเชฆ เชเชฐเซเชจเซ เชคเซเชจเชพ เชฎเซเชฒเซเชฏเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช.
เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชเซ เช เชจเซเชเซเชฐเชฎเชฃเชฟเชเชพ เชจเชเชฌเชฐ 3 (เชคเซเชฐเชฃ) เชนเซเชตเชพเชจเซเช เชจเชเซเชเซ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซ เช เชฎเซ เชฎเซเชฒเซเชฏเซ เชฒเชเช เชเซเช ะธ , เชชเชเซ เช เชฎเซ เชฎเซเชฒเซเชฏเซเชจเซ เชตเซเชฏเซเชคเซเชชเชจเซเชจ เชธเชฎเซเชเชฐเชฃเซเชฎเชพเช เชฌเชฆเชฒเซเช เชเซเช เช เชจเซ เชจเชตเชพ เชเซเชเชฐเซเชกเชฟเชจเซเชเซเชธ เชจเชเซเชเซ เชเชฐเซเช เชเซเช. เชชเชเซ, เชเซเชเชฐเซเชกเชฟเชจเซเชเซเชธ เชจเชฟเชฐเซเชงเชพเชฐเชฟเชค เชเชฐเซเชฏเชพ เชชเชเซ, เช เชฎเซ เชซเชฐเซเชฅเซ เชธเซเชฏเซเชกเซ-เชฐเซเชจเซเชกเชฎ เชฐเซเชคเซ เชจเชฎเซเชจเชพ เชเชจเซเชกเซเชเซเชธ เชจเชเซเชเซ เชเชฐเซเช เชเซเช, เช เชจเซเชเซเชฐเชฎเชฃเชฟเชเชพเชจเซ เช เชจเซเชฐเซเชช เชฎเซเชฒเซเชฏเซเชจเซ เชเชเชถเชฟเช เชตเชฟเชญเซเชฆเช เชธเชฎเซเชเชฐเชฃเซเชฎเชพเช เชฌเชฆเชฒเซเช เชเซเช เช เชจเซ เชเซเชเชฐเซเชกเชฟเชจเซเชเซเชธเชจเซ เชจเชตเซ เชฐเซเชคเซ เชจเชเซเชเซ เชเชฐเซเช เชเซเช. ะธ เชตเชเซเชฐเซ เชเซเชฏเชพเช เชธเซเชงเซ เชเชจเซเชตเชฐเซเชเชจเซเชธ เชฒเซเชฒเซเช เชจ เชฅเชพเชฏ เชคเซเชฏเชพเช เชธเซเชงเซ. เชชเซเชฐเชฅเชฎ เชจเชเชฐเชฎเชพเช, เชเชตเซเช เชฒเชพเชเชคเซเช เชจเชฅเซ เชเซ เช เชฌเชฟเชฒเชเซเชฒ เชเชพเชฎ เชเชฐเซ เชถเชเซ เชเซ, เชชเชฐเชเชคเซ เชคเซ เชเชฐเซ เชเซ. เช เชตเชพเชค เชธเชพเชเซ เชเซ เชเซ เชญเซเชฒ เชฆเชฐเซเช เชชเชเชฒเชพ เชธเชพเชฅเซ เชเชเชคเซ เชจเชฅเซ เชคเซ เชจเซเชเชงเชตเซเช เชฏเซเชเซเชฏ เชเซ, เชชเชฐเชเชคเซ เชเช เชตเชฒเชฃ เชเซเชเซเชเชธเชชเชฃเซ เชเซ.
เชชเชฐเชเชชเชฐเชพเชเชค เชเชฐเชคเชพเช เชธเซเชเซเชเซเชธเซเชเชฟเช เชเซเชฐเซเชกเชฟเชฏเชจเซเช เชกเชฟเชธเซเชจเซเชเชจเชพ เชซเชพเชฏเชฆเชพ เชถเซเช เชเซ? เชเซ เช เชฎเชพเชฐเชพ เชจเชฎเซเชจเชพเชจเซเช เชเชฆ เชเซเชฌ เชฎเซเชเซเช เชนเซเชฏ เช เชจเซ เชนเชเชพเชฐเซ เชฎเซเชฒเซเชฏเซเชฎเชพเช เชฎเชพเชชเชตเชพเชฎเชพเช เชเชตเซ, เชคเซ เชชเชเซ เชธเชฎเชเซเชฐ เชจเชฎเซเชจเชพเชจเซ เชฌเชฆเชฒเซ, เชคเซเชฎเชพเชเชฅเซ เชเช เชฐเซเชจเซเชกเชฎ เชนเชเชพเชฐเชจเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพ เชเชฐเชตเซ เชตเชงเซ เชธเชฐเชณ เชเซ. เช เชคเซ เชเซ เชเซเชฏเชพเช เชธเซเชเซเชเซเชธเซเชเชฟเช เชเซเชฐเซเชกเชฟเชฏเชจเซเช เชตเชเชถ เชฐเชฎเชคเชฎเชพเช เชเชตเซ เชเซ. เช เชฎเชพเชฐเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช, เช เชฒเชฌเชคเซเชค, เช เชฎเซ เชตเชงเซ เชคเชซเชพเชตเชค เชเซเชถเซเช เชจเชนเซเช.
เชเชพเชฒเซ เชเซเชก เชเซเชเช.
เชธเซเชเซเชเซเชธเซเชเชฟเช เชเซเชฐเซเชกเชฟเชฏเชจเซเช เชตเชเชถ เชฎเชพเชเซ เชเซเชก
# ะพะฟัะตะดะตะปะธะผ ััะฝะบัะธั ััะพั
.ะณัะฐะด.ัะฐะณะฐ
def stoch_grad_step_usual(vector_init, x_us, ind, y_us, l):
# ะฒัะฑะธัะฐะตะผ ะทะฝะฐัะตะฝะธะต ะธะบั, ะบะพัะพัะพะต ัะพะพัะฒะตัััะฒัะตั ัะปััะฐะนะฝะพะผั ะทะฝะฐัะตะฝะธั ะฟะฐัะฐะผะตััะฐ ind
# (ัะผ.ั-ัะธั stoch_grad_descent_usual)
x = x_us[ind]
# ัะฐัััะธััะฒัะฐะตะผ ะทะฝะฐัะตะฝะธะต y (ะฒััััะบั), ะบะพัะพัะฐั ัะพะพัะฒะตัััะฒัะตั ะฒัะฑัะฐะฝะฝะพะผั ะทะฝะฐัะตะฝะธั x
y_pred = vector_init[0] + vector_init[1]*x_us[ind]
# ะฒััะธัะปัะตะผ ะพัะธะฑะบั ัะฐััะตัะฝะพะน ะฒััััะบะธ ะพัะฝะพัะธัะตะปัะฝะพ ะฟัะตะดััะฐะฒะปะตะฝะฝะพะน ะฒ ะฒัะฑะพัะบะต
error = y_pred - y_us[ind]
# ะพะฟัะตะดะตะปัะตะผ ะฟะตัะฒัั ะบะพะพัะดะธะฝะฐัั ะณัะฐะดะธะตะฝัะฐ ab
grad_a = error
# ะพะฟัะตะดะตะปัะตะผ ะฒัะพััั ะบะพะพัะดะธะฝะฐัั ab
grad_b = x_us[ind]*error
# ะฒััะธัะปัะตะผ ะฝะพะฒัะน ะฒะตะบัะพั ะบะพัััะธัะธะตะฝัะพะฒ
vector_new = [vector_init[0]-l*grad_a, vector_init[1]-l*grad_b]
return vector_new
# ะพะฟัะตะดะตะปะธะผ ััะฝะบัะธั ััะพั
.ะณัะฐะด.ัะฟััะบะฐ
def stoch_grad_descent_usual(x_us, y_us, l=0.1, steps = 800):
# ะดะปั ัะฐะผะพะณะพ ะฝะฐัะฐะปะฐ ัะฐะฑะพัั ััะฝะบัะธะธ ะทะฐะดะฐะดะธะผ ะฝะฐัะฐะปัะฝัะต ะทะฝะฐัะตะฝะธั ะบะพัััะธัะธะตะฝัะพะฒ
vector_init = [float(random.uniform(-0.5, 0.5)), float(random.uniform(-0.5, 0.5))]
errors = []
# ะทะฐะฟัััะธะผ ัะธะบะป ัะฟััะบะฐ
# ัะธะบะป ัะฐััะธัะฐะฝ ะฝะฐ ะพะฟัะตะดะตะปะตะฝะฝะพะต ะบะพะปะธัะตััะฒะพ ัะฐะณะพะฒ (steps)
for i in range(steps):
ind = random.choice(range(len(x_us)))
new_vector = stoch_grad_step_usual(vector_init, x_us, ind, y_us, l)
vector_init = new_vector
errors.append(errors_sq_Kramer_method(vector_init,x_us,y_us))
return (vector_init),(errors)
# ะทะฐะฟะธัะตะผ ะผะฐััะธะฒ ะทะฝะฐัะตะฝะธะน
list_parametres_stoch_gradient_descence = stoch_grad_descent_usual(x_us, y_us, l=0.1, steps = 800)
print ' 33[1m' + ' 33[4m' + "ะะฝะฐัะตะฝะธั ะบะพัััะธัะธะตะฝัะพะฒ a ะธ b:" + ' 33[0m'
print 'a =', round(list_parametres_stoch_gradient_descence[0][0],3)
print 'b =', round(list_parametres_stoch_gradient_descence[0][1],3)
print
print ' 33[1m' + ' 33[4m' + "ะกัะผะผะฐ ะบะฒะฐะดัะฐัะพะฒ ะพัะบะปะพะฝะตะฝะธะน:" + ' 33[0m'
print round(list_parametres_stoch_gradient_descence[1][-1],3)
print
print ' 33[1m' + ' 33[4m' + "ะะพะปะธัะตััะฒะพ ะธัะตัะฐัะธะน ะฒ ััะพั
ะฐััะธัะตัะบะพะผ ะณัะฐะดะธะตะฝัะฝะพะผ ัะฟััะบะต:" + ' 33[0m'
print len(list_parametres_stoch_gradient_descence[1])
เช
เชฎเซ เชเซเชฃเชพเชเชเชจเซ เชงเซเชฏเชพเชจเชฅเซ เชเซเชเช เชเซเช เช
เชจเซ "เช เชเซเชตเซ เชฐเซเชคเซ เชนเซเช เชถเชเซ?" เช
เชฎเชจเซ เช
เชจเซเชฏ เชเซเชฃเชพเชเช เชฎเซเชฒเซเชฏเซ เชฎเชณเซเชฏเชพ ะธ . เชเชฆเชพเช เชธเซเชเซเชเซเชธเซเชเชฟเช เชเซเชฐเซเชกเชฟเชฏเชจเซเช เชตเชเชถเชจเซ เชธเชฎเซเชเชฐเชฃ เชฎเชพเชเซ เชตเชงเซ เชถเซเชฐเซเชทเซเช เชชเชฐเชฟเชฎเชพเชฃเซ เชฎเชณเซเชฏเชพ เชเซ? เชเชฎเชจเชธเซเชฌเซ เชจเชพเช. เชเซเชฐเชธ เชตเชฟเชเชฒเชจเซเชจเซ เชธเชฐเชตเชพเชณเซ เชเซเชตเชพ เชฎเชพเชเซ เช
เชจเซ เชคเซ เชเซเชตเชพ เชฎเชพเชเซ เชชเซเชฐเชคเซเช เชเซ เชเซ เชเซเชฃเชพเชเชเชจเชพ เชจเชตเชพ เชฎเซเชฒเซเชฏเซ เชธเชพเชฅเซ, เชญเซเชฒ เชฎเซเชเซ เชเซ. เช
เชฎเซ เชจเชฟเชฐเชพเชถ เชฅเชตเชพเชจเซ เชเซเช เชเชคเชพเชตเชณเชฎเชพเช เชจเชฅเซ. เชเชพเชฒเซ เชญเซเชฒ เชชเชฐเชฟเชตเชฐเซเชคเชจเชจเซ เชเซเชฐเชพเชซ เชฌเชจเชพเชตเซเช.
เชธเซเชเซเชเซเชธเซเชเชฟเช เชเซเชฐเซเชกเชฟเชฏเชจเซเช เชกเชฟเชธเซเชจเซเชเชฎเชพเช เชธเซเชเซเชตเซเชฐ เชตเชฟเชเชฒเชจเซเชจเซ เชธเชฐเชตเชพเชณเซ เชฌเชจเชพเชตเชตเชพ เชฎเชพเชเซเชจเซ เชเซเชก
print 'ะัะฐัะธะบ โ5 "ะกัะผะผะฐ ะบะฒะฐะดัะฐัะพะฒ ะพัะบะปะพะฝะตะฝะธะน ะฟะพ-ัะฐะณะพะฒะพ"'
plt.plot(range(len(list_parametres_stoch_gradient_descence[1])), list_parametres_stoch_gradient_descence[1], color='red', lw=2)
plt.xlabel('Steps (Iteration)', size=16)
plt.ylabel('Sum of squared deviations', size=16)
plt.show()
เชเซเชฐเชพเชซ เชจเชเชฌเชฐ 5 โเชธเซเชเซเชเซเชธเซเชเชฟเช เชเซเชฐเซเชกเชฟเชฏเชจเซเช เชกเชฟเชธเซเชจเซเช เชฆเชฐเชฎเชฟเชฏเชพเชจ เชเซเชฐเชธ เชตเชฟเชเชฒเชจเซเชจเซ เชธเชฐเชตเชพเชณเซโ
เชถเซเชกเซเชฏเซเชฒ เชเซเชคเชพเช, เชฌเชงเซเช เช เชเชเซเชฏเชพเช เชเชตเซ เชเซ เช
เชจเซ เชนเชตเซ เช
เชฎเซ เชฌเชงเซเช เช เซเช เชเชฐเซเชถเซเช.
เชคเซ เชถเซเช เชฅเชฏเซ? เชจเซเชเซ เชฎเซเชเชฌ เชฅเชฏเซเช. เชเซเชฏเชพเชฐเซ เชเชชเชฃเซ เช เชตเซเชฏเชตเชธเซเชฅเชฟเชค เชฐเซเชคเซ เชเช เชฎเชนเชฟเชจเซ เชชเชธเชเชฆ เชเชฐเซเช เชเซเช, เชคเซเชฏเชพเชฐเซ เชคเซ เชชเชธเชเชฆ เชเชฐเซเชฒเชพ เชฎเชนเชฟเชจเชพ เชฎเชพเชเซ เชเซ เชเซ เช เชฎเชพเชฐเซเช เช เชฒเซเชเซเชฐเชฟเชงเชฎ เชเชตเชเชจเซ เชเชฃเชคเชฐเซเชฎเชพเช เชญเซเชฒ เชเชเชพเชกเชตเชพเชจเซ เชชเซเชฐเชฏเชพเชธ เชเชฐเซ เชเซ. เชชเชเซ เช เชฎเซ เชฌเซเชเซ เชฎเชนเชฟเชจเซ เชชเชธเชเชฆ เชเชฐเซเช เชเซเช เช เชจเซ เชเชฃเชคเชฐเซเชจเซเช เชชเซเชจเชฐเชพเชตเชฐเซเชคเชจ เชเชฐเซเช เชเซเช, เชชเชฐเชเชคเซ เช เชฎเซ เชฌเซเชเชพ เชชเชธเชเชฆ เชเชฐเซเชฒเชพ เชฎเชนเชฟเชจเชพ เชฎเชพเชเซ เชญเซเชฒ เชเชเชพเชกเซเช เชเซเช. เชนเชตเซ เชฏเชพเชฆ เชฐเชพเชเซ เชเซ เชชเซเชฐเชฅเชฎ เชฌเซ เชฎเชนเชฟเชจเชพ เชธเชฐเชณ เชฐเซเชเซเชฏ เชฐเซเชเซเชฐเซเชธเชจ เชธเชฎเซเชเชฐเชฃเชจเซ เชฐเซเชเชพเชฎเชพเชเชฅเซ เชจเซเชเชงเชชเชพเชคเซเชฐ เชฐเซเชคเซ เชตเชฟเชเชฒเชฟเชค เชฅเชพเชฏ เชเซ. เชเชจเซ เช เชฐเซเชฅ เช เชเซ เชเซ เชเซเชฏเชพเชฐเซ เช เชฌเซ เชฎเชนเชฟเชจเชพเชเชฎเชพเชเชฅเซ เชเซเชเชชเชฃ เชชเชธเชเชฆ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชคเซเชฏเชพเชฐเซ เชคเซเชฎเชพเชเชฅเซ เชฆเชฐเซเชเชจเซ เชญเซเชฒเชจเซ เชเชเชพเชกเซเชจเซ, เช เชฎเชพเชฐเซเช เช เชฒเซเชเซเชฐเชฟเชงเชฎ เชเชเชญเซเชฐเชคเชพเชชเซเชฐเซเชตเช เชธเชฎเชเซเชฐ เชจเชฎเซเชจเชพ เชฎเชพเชเซ เชญเซเชฒเชจเซ เชตเชงเชพเชฐเซ เชเซ. เชคเซ เชถเซเช เชเชฐเชตเซเช? เชเชตเชพเชฌ เชธเชฐเชณ เชเซ: เชคเชฎเชพเชฐเซ เชตเชเชถเชจเชพ เชชเชเชฒเชพเชจเซ เชเชเชพเชกเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เชเซเชตเชเซ, เชตเชเชถเชจเชพ เชชเชเชฒเชพเชจเซ เชเชเชพเชกเซเชจเซ, เชญเซเชฒ เชเชชเชฐ เช เชจเซ เชจเซเชเซ "เชเชฎเซเชชเชฟเชเช" เชเชฐเชตเชพเชจเซเช เชชเชฃ เชฌเชเชง เชเชฐเชถเซ. เช เชฅเชตเชพ เชคเซเชจเชพ เชฌเชฆเชฒเซ, "เชเชฎเซเชชเชฟเชเช" เชญเซเชฒ เช เชเชเชถเซ เชจเชนเซเช, เชชเชฐเชเชคเซ เชคเซ เชเชเชฒเซ เชเชกเชชเชฅเซ เชเชฐเชถเซ เชจเชนเซเช :) เชเชพเชฒเซ เชคเชชเชพเชธเซเช.
เชจเชพเชจเชพ เชเชจเซเชเซเชฐเซเชฎเซเชจเซเช เชธเชพเชฅเซ SGD เชเชฒเชพเชตเชตเชพเชจเซ เชเซเชก
# ะทะฐะฟัััะธะผ ััะฝะบัะธั, ัะผะตะฝััะธะฒ ัะฐะณ ะฒ 100 ัะฐะท ะธ ัะฒะตะปะธัะธะฒ ะบะพะปะธัะตััะฒะพ ัะฐะณะพะฒ ัะพะพัะฒะตััะฒัััะต
list_parametres_stoch_gradient_descence = stoch_grad_descent_usual(x_us, y_us, l=0.001, steps = 80000)
print ' 33[1m' + ' 33[4m' + "ะะฝะฐัะตะฝะธั ะบะพัััะธัะธะตะฝัะพะฒ a ะธ b:" + ' 33[0m'
print 'a =', round(list_parametres_stoch_gradient_descence[0][0],3)
print 'b =', round(list_parametres_stoch_gradient_descence[0][1],3)
print
print ' 33[1m' + ' 33[4m' + "ะกัะผะผะฐ ะบะฒะฐะดัะฐัะพะฒ ะพัะบะปะพะฝะตะฝะธะน:" + ' 33[0m'
print round(list_parametres_stoch_gradient_descence[1][-1],3)
print
print ' 33[1m' + ' 33[4m' + "ะะพะปะธัะตััะฒะพ ะธัะตัะฐัะธะน ะฒ ััะพั
ะฐััะธัะตัะบะพะผ ะณัะฐะดะธะตะฝัะฝะพะผ ัะฟััะบะต:" + ' 33[0m'
print len(list_parametres_stoch_gradient_descence[1])
print 'ะัะฐัะธะบ โ6 "ะกัะผะผะฐ ะบะฒะฐะดัะฐัะพะฒ ะพัะบะปะพะฝะตะฝะธะน ะฟะพ-ัะฐะณะพะฒะพ"'
plt.plot(range(len(list_parametres_stoch_gradient_descence[1])), list_parametres_stoch_gradient_descence[1], color='red', lw=2)
plt.xlabel('Steps (Iteration)', size=16)
plt.ylabel('Sum of squared deviations', size=16)
plt.show()
เชเซเชฐเชพเชซ เชจเชเชฌเชฐ 6 โเชธเซเชเซเชเซเชธเซเชเชฟเช เชเซเชฐเซเชกเชฟเชฏเชจเซเช เชกเชฟเชธเซเชจเซเช (80 เชนเชเชพเชฐ เชธเซเชเซเชชเซเชธ) เชฆเชฐเชฎเชฟเชฏเชพเชจ เชเซเชฐเชธ เชตเชฟเชเชฒเชจเซเชจเซ เชธเชฐเชตเชพเชณเซโ
เชเซเชฃเชพเชเชเชฎเชพเช เชธเซเชงเชพเชฐเซ เชฅเชฏเซ เชเซ, เชชเชฐเชเชคเซ เชนเชเซ เชชเชฃ เชเชฆเชฐเซเชถ เชจเชฅเซ. เช
เชจเซเชฎเชพเชจเชฟเชค เชฐเซเชคเซ, เชเชจเซ เช เชฐเซเชคเซ เชธเซเชงเชพเชฐเซ เชถเชเชพเชฏ เชเซ. เช
เชฎเซ, เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เชเซเชฒเซเชฒเชพ 1000 เชชเซเชจเชฐเชพเชตเชฐเซเชคเชจเซเชฎเชพเช เชเซเชฃเชพเชเชเชจเชพ เชฎเซเชฒเซเชฏเซ เชชเชธเชเชฆ เชเชฐเซเช เชเซเช เชเซเชจเซ เชธเชพเชฅเซ เชจเซเชฏเซเชจเชคเชฎ เชญเซเชฒ เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชนเชคเซ. เชธเชพเชเซเช, เช เชฎเชพเชเซ เชเชชเชฃเซ เชเซเชฃเชพเชเชเชจเชพ เชฎเซเชฒเซเชฏเซ เชชเชฃ เชฒเชเชตเชพ เชชเชกเชถเซ. เช
เชฎเซ เช เชจเชนเซเช เชเชฐเซเช, เชชเชฐเชเชคเซ เชถเซเชกเซเชฏเซเชฒ เชชเชฐ เชงเซเชฏเชพเชจ เชเชชเซเชถเซเช. เชคเซ เชธเชฐเชณ เชฆเซเชเชพเชฏ เชเซ เช
เชจเซ เชญเซเชฒ เชธเชฎเชพเชจเชฐเซเชชเซ เชเชเชคเซ เชเชฃเชพเชฏ เชเซ. เชตเชพเชธเซเชคเชตเชฎเชพเช เช เชธเชพเชเซเช เชจเชฅเซ. เชเชพเชฒเซ เชชเซเชฐเชฅเชฎ 1000 เชชเซเชจเชฐเชพเชตเซเชคเซเชคเชฟเช เชเซเชเช เช
เชจเซ เชคเซเชฎเชจเซ เชเซเชฒเซเชฒเชพ เชธเชพเชฅเซ เชธเชฐเชเชพเชฎเชฃเซ เชเชฐเซเช.
SGD เชเชพเชฐเซเช เชฎเชพเชเซ เชเซเชก (เชชเซเชฐเชฅเชฎ 1000 เชชเชเชฒเชพเช)
print 'ะัะฐัะธะบ โ7 "ะกัะผะผะฐ ะบะฒะฐะดัะฐัะพะฒ ะพัะบะปะพะฝะตะฝะธะน ะฟะพ-ัะฐะณะพะฒะพ. ะะตัะฒัะต 1000 ะธัะตัะฐัะธะน"'
plt.plot(range(len(list_parametres_stoch_gradient_descence[1][:1000])),
list_parametres_stoch_gradient_descence[1][:1000], color='red', lw=2)
plt.xlabel('Steps (Iteration)', size=16)
plt.ylabel('Sum of squared deviations', size=16)
plt.show()
print 'ะัะฐัะธะบ โ7 "ะกัะผะผะฐ ะบะฒะฐะดัะฐัะพะฒ ะพัะบะปะพะฝะตะฝะธะน ะฟะพ-ัะฐะณะพะฒะพ. ะะพัะปะตะดะฝะธะต 1000 ะธัะตัะฐัะธะน"'
plt.plot(range(len(list_parametres_stoch_gradient_descence[1][-1000:])),
list_parametres_stoch_gradient_descence[1][-1000:], color='red', lw=2)
plt.xlabel('Steps (Iteration)', size=16)
plt.ylabel('Sum of squared deviations', size=16)
plt.show()
เชเชฒเซเช เชจเชเชฌเชฐ 7 โเชธเซเชเซเชตเซเชฐเซเชก เชตเชฟเชเชฒเชจเซเชจเซ เชธเชฐเชตเชพเชณเซ SGD (เชชเซเชฐเชฅเชฎ 1000 เชชเชเชฒเชพเช)โ
เชเชฒเซเช เชจเชเชฌเชฐ 8 โเชธเซเชเซเชตเซเชฐเซเชก เชตเชฟเชเชฒเชจเซเชจเซ เชธเชฐเชตเชพเชณเซ SGD (เชเซเชฒเซเชฒเชพ 1000 เชชเชเชฒเชพเช)โ
เชตเชเชถเชจเซ เชเซเชฌ เช เชถเชฐเซเชเชคเชฎเชพเช, เช
เชฎเซ เชญเซเชฒเชฎเชพเช เชเชเชฆเชฎ เชธเชฎเชพเชจ เช
เชจเซ เชฌเซเชนเชฆ เชเชเชพเชกเซ เช
เชตเชฒเซเชเชจ เชเชฐเซเช เชเซเช. เชเซเชฒเซเชฒเชพ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชจเซเชฎเชพเช, เชเชชเชฃเซ เชเซเชเช เชเซเช เชเซ เชญเซเชฒ 1,475 เชจเซ เชเชฟเชเชฎเชคเชจเซ เชเชธเชชเชพเชธ เช
เชจเซ เชเชธเชชเชพเชธ เชเชพเชฏ เชเซ เช
เชจเซ เชเซเชเชฒเซเช เชเซเชทเชฃเซเชฎเชพเช เช เชถเซเชฐเซเชทเซเช เชฎเซเชฒเซเชฏเชจเซ เชฌเชฐเชพเชฌเชฐ เชชเชฃ เชฅเชพเชฏ เชเซ, เชชเชฐเชเชคเซ เชคเซ เชชเชเซ เชชเชฃ เชคเซ เชตเชงเซ เชเซ... เชนเซเช เชชเซเชจเชฐเชพเชตเชฐเซเชคเชจ เชเชฐเซเช เชเซเช, เชคเชฎเซ เชจเซ เชเชฟเชเชฎเชคเซ เชฒเชเซ เชถเชเซ เชเซ เชเซเชฃเชพเชเช ะธ , เช
เชจเซ เชชเชเซ เชคเซ เชชเชธเชเชฆ เชเชฐเซ เชเซ เชเซเชจเชพ เชฎเชพเชเซ เชญเซเชฒ เชจเซเชฏเซเชจเชคเชฎ เชเซ. เชเซ เชเซ, เช
เชฎเชพเชฐเซ เชชเชพเชธเซ เชตเชงเซ เชเชเชญเซเชฐ เชธเชฎเชธเซเชฏเชพ เชนเชคเซ: เชถเซเชฐเซเชทเซเช เชจเซ เชจเชเซเชเชจเชพ เชฎเซเชฒเซเชฏเซ เชฎเซเชณเชตเชตเชพ เชฎเชพเชเซ เช
เชฎเชพเชฐเซ 80 เชนเชเชพเชฐ เชชเชเชฒเชพเช เชฒเซเชตเชพ เชชเชกเซเชฏเชพ (เชเซเชก เชเซเช). เช
เชจเซ เช เชชเชนเซเชฒเซเชฅเซ เช เชเซเชฐเซเชกเชฟเชฏเชจเซเช เชกเชฟเชธเซเชจเซเชเชจเซ เชคเซเชฒเชจเชพเชฎเชพเช เชธเซเชเซเชเซเชธเซเชเชฟเช เชเซเชฐเซเชกเชฟเชฏเชจเซเช เชกเชฟเชธเซเชจเซเช เชธเชพเชฅเซ เชเชฃเชคเชฐเซ เชธเชฎเชฏ เชฌเชเชพเชตเชตเชพเชจเชพ เชตเชฟเชเชพเชฐเชจเซ เชตเชฟเชฐเซเชงเชพเชญเชพเชธ เชเชฐเซ เชเซ. เชถเซเช เชธเซเชงเชพเชฐเซ เช
เชจเซ เชธเซเชงเชพเชฐเซ เชถเชเชพเชฏ? เช เชจเซเชเชงเชตเซเช เชฎเซเชถเซเชเซเชฒ เชจเชฅเซ เชเซ เชชเซเชฐเชฅเชฎ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชจเซเชฎเชพเช เชเชชเชฃเซ เชเชคเซเชฎเชตเชฟเชถเซเชตเชพเชธเชชเซเชฐเซเชตเช เชจเซเชเซ เชเช เชฐเชนเซเชฏเชพ เชเซเช เช
เชจเซ เชคเซเชฅเซ, เชเชชเชฃเซ เชชเซเชฐเชฅเชฎ เชชเซเชจเชฐเชพเชตเชฐเซเชคเชจเซเชฎเชพเช เชเช เชฎเซเชเซเช เชชเชเชฒเซเช เชเซเชกเซเชจเซ เชเชเชณ เชตเชงเซเช เชคเซเชฎ เชชเชเชฒเซเช เชเชเชพเชกเชตเซเช เชเซเชเช. เช
เชฎเซ เช เชฒเซเชเชฎเชพเช เช เชเชฐเซเชถเซเช เชจเชนเซเช - เชคเซ เชชเชนเซเชฒเซเชฅเซ เช เชเซเชฌ เชฒเชพเชเชฌเซ เชเซ. เชเซเช เชเชเซเชเซ เชเซ เชคเซเช เชชเซเชคเชพเชจเซ เชฎเชพเชเซ เชตเชฟเชเชพเชฐเซ เชถเชเซ เชเซ เชเซ เช เชเซเชตเซ เชฐเซเชคเซ เชเชฐเชตเซเช, เชคเซ เชฎเซเชถเซเชเซเชฒ เชจเชฅเซ :)
เชนเชตเซ เชเชพเชฒเซ เชฒเชพเชเชฌเซเชฐเซเชฐเซเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชธเซเชเซเชเซเชธเซเชเชฟเช เชเซเชฐเซเชกเชฟเชฏเชจเซเช เชกเซเชธเซเชจเซเช เชเชฐเซเช เชจเชฎเซ (เช เชจเซ เชเชชเชฃเซ เช เชเชพเช เชเชณเชเซ เชเชพเชขเซเชฒเชพ เชชเชคเซเชฅเชฐเซ เชชเชฐ เช เซเชเชฐ เชจ เชเชพเชเช)
เชธเซเชเซเชเซเชธเซเชเชฟเช เชเซเชฐเซเชกเชฟเชฏเชจเซเช เชกเซเชธเซเชจเซเช (NumPy) เชฎเชพเชเซ เชเซเชก
# ะดะปั ะฝะฐัะฐะปะฐ ะฝะฐะฟะธัะตะผ ััะฝะบัะธั ะณัะฐะดะธะตะฝัะฝะพะณะพ ัะฐะณะฐ
def stoch_grad_step_numpy(vector_init, X, ind, y, l):
x = X[ind]
y_pred = np.dot(x,vector_init)
err = y_pred - y[ind]
grad_a = err
grad_b = x[1]*err
return vector_init - l*np.array([grad_a, grad_b])
# ะพะฟัะตะดะตะปะธะผ ััะฝะบัะธั ััะพั
ะฐััะธัะตัะบะพะณะพ ะณัะฐะดะธะตะฝัะฝะพะณะพ ัะฟััะบะฐ
def stoch_grad_descent_numpy(X, y, l=0.1, steps = 800):
vector_init = np.array([[np.random.randint(X.shape[0])], [np.random.randint(X.shape[0])]])
errors = []
for i in range(steps):
ind = np.random.randint(X.shape[0])
new_vector = stoch_grad_step_numpy(vector_init, X, ind, y, l)
vector_init = new_vector
errors.append(error_square_numpy(vector_init,X,y))
return (vector_init), (errors)
# ะทะฐะฟะธัะตะผ ะผะฐััะธะฒ ะทะฝะฐัะตะฝะธะน
list_parametres_stoch_gradient_descence = stoch_grad_descent_numpy(x_np, y_np, l=0.001, steps = 80000)
print ' 33[1m' + ' 33[4m' + "ะะฝะฐัะตะฝะธั ะบะพัััะธัะธะตะฝัะพะฒ a ะธ b:" + ' 33[0m'
print 'a =', round(list_parametres_stoch_gradient_descence[0][0],3)
print 'b =', round(list_parametres_stoch_gradient_descence[0][1],3)
print
print ' 33[1m' + ' 33[4m' + "ะกัะผะผะฐ ะบะฒะฐะดัะฐัะพะฒ ะพัะบะปะพะฝะตะฝะธะน:" + ' 33[0m'
print round(list_parametres_stoch_gradient_descence[1][-1],3)
print
print ' 33[1m' + ' 33[4m' + "ะะพะปะธัะตััะฒะพ ะธัะตัะฐัะธะน ะฒ ััะพั
ะฐััะธัะตัะบะพะผ ะณัะฐะดะธะตะฝัะฝะพะผ ัะฟััะบะต:" + ' 33[0m'
print len(list_parametres_stoch_gradient_descence[1])
print
เชเชชเชฏเซเช เชเชฐเซเชฏเชพ เชตเชฟเชจเชพ เชจเซเชเซ เชเชคเชฐเชคเซ เชตเชเชคเซ เชฎเซเชฒเซเชฏเซ เชฒเชเชญเช เชธเชฎเชพเชจ เชนเซเชตเชพเชจเซเช เชฌเชนเชพเชฐ เชเชตเซเชฏเซเช เชจเชฎเซ. เชเซ เชเซ, เช เชคเชพเชฐเซเชเชฟเช เชเซ.
เชเชพเชฒเซ เชถเซเชงเซ เชเชพเชขเซเช เชเซ เชธเซเชเซเชเซเชธเซเชเชฟเช เชเซเชฐเซเชกเชฟเชเชจเซเช เชกเชฟเชธเซเชจเซเชเชฎเชพเช เช เชฎเชจเซ เชเซเชเชฒเซ เชธเชฎเชฏ เชฒเชพเชเซเชฏเซ.
SGD เชเชฃเชคเชฐเซ เชธเชฎเชฏ เชจเชเซเชเซ เชเชฐเชตเชพ เชฎเชพเชเซเชจเซ เชเซเชก (80 เชนเชเชพเชฐ เชชเชเชฒเชพเช)
print ' 33[1m' + ' 33[4m' +
"ะัะตะผั ะฒัะฟะพะปะฝะตะฝะธั ััะพั
ะฐััะธัะตัะบะพะณะพ ะณัะฐะดะธะตะฝัะฝะพะณะพ ัะฟััะบะฐ ะฑะตะท ะธัะฟะพะปัะทะพะฒะฐะฝะธั ะฑะธะฑะปะธะพัะตะบะธ NumPy:"
+ ' 33[0m'
%timeit list_parametres_stoch_gradient_descence = stoch_grad_descent_usual(x_us, y_us, l=0.001, steps = 80000)
print '***************************************'
print
print ' 33[1m' + ' 33[4m' +
"ะัะตะผั ะฒัะฟะพะปะฝะตะฝะธั ััะพั
ะฐััะธัะตัะบะพะณะพ ะณัะฐะดะธะตะฝัะฝะพะณะพ ัะฟััะบะฐ ั ะธัะฟะพะปัะทะพะฒะฐะฝะธะตะผ ะฑะธะฑะปะธะพัะตะบะธ NumPy:"
+ ' 33[0m'
%timeit list_parametres_stoch_gradient_descence = stoch_grad_descent_numpy(x_np, y_np, l=0.001, steps = 80000)
เชเชเชเชฒเชฎเชพเช เชเซเชเชฒเซเช เชเชเชณ เชตเชงเซ เชเซ, เชตเชพเชฆเชณเซ เชเชพเชเชพ เชฅเชพเชฏ เชเซ: เชซเชฐเซเชฅเซ, "เชธเซเชต-เชฒเซเชเชฟเชค" เชธเซเชคเซเชฐ เชถเซเชฐเซเชทเซเช เชชเชฐเชฟเชฃเชพเชฎ เชฌเชคเชพเชตเซ เชเซ. เช เชฌเชงเซเช เชธเซเชเชตเซ เชเซ เชเซ เชฒเชพเชเชฌเซเชฐเซเชฐเซเชจเซ เชเชชเชฏเซเช เชเชฐเชตเชพ เชฎเชพเชเซ เชนเชเซ เชตเชงเซ เชธเซเชเซเชทเซเชฎ เชฐเซเชคเซ เชนเซเชตเชพ เชเซเชเช เชจเชฎเซ, เชเซ เชเชฐเซเชเชฐ เชเชฃเชคเชฐเซเชจเซ เชเชพเชฎเชเซเชฐเซเชจเซ เชเชกเชชเซ เชฌเชจเชพเชตเซ เชเซ. เช เชฒเซเชเชฎเชพเช เชเชชเชฃเซ เชคเซเชฎเชจเชพ เชตเชฟเชถเซ เชถเซเชเซเชถเซเช เชจเชนเซเช. เชคเชฎเชพเชฐเชพ เชซเชพเชเชฒ เชธเชฎเชฏเชฎเชพเช เชตเชฟเชเชพเชฐเชตเชพ เชเซเชตเซเช เชเชเชเช เชนเชถเซ :)
เช เชฎเซ เชธเชพเชฐเชพเชเชถ
เชธเชพเชฐเชพเชเชถ เชเชชเชคเชพ เชชเชนเซเชฒเชพ, เชนเซเช เชเช เชชเซเชฐเชถเซเชจเชจเซ เชเชตเชพเชฌ เชเชชเชตเชพ เชฎเชพเชเชเซ เชเซเช เชเซ เชธเชเชญเชตเชคเช เช เชฎเชพเชฐเชพ เชชเซเชฐเชฟเชฏ เชตเชพเชเช เชคเชฐเชซเชฅเซ เชเชฆเซเชญเชตเซเชฏเซ เชเซ. เชถเชพ เชฎเชพเชเซ, เชตเชพเชธเซเชคเชตเชฎเชพเช, เชเชคเชฐเชคเชพ เชฒเซเชเซ เชธเชพเชฅเซ เชเชตเชพ "เชฏเชพเชคเชจเชพเช" เชถเชพ เชฎเชพเชเซ, เชเซ เชเชชเชฃเซ เชเชชเชฃเชพ เชนเชพเชฅเชฎเชพเช เชเชเชฒเซเช เชถเชเซเชคเชฟเชถเชพเชณเซ เช เชจเซ เชธเชฐเชณ เชเชชเชเชฐเชฃ เชนเซเชฏ, เชคเซ เชญเชเชกเชพเชฐ เชจเซเชเชพเชฃเชตเชพเชณเซ เชเชฎเซเชจ เชถเซเชงเชตเชพ เชฎเชพเชเซ เชเชชเชฃเซ เชชเชฐเซเชตเชค เชเชชเชฐ เช เชจเซ เชจเซเชเซ (เชฎเซเชเซเชญเชพเชเซ เชจเซเชเซ) เชเชพเชฒเชตเชพเชจเซ เชถเชพ เชฎเชพเชเซ เชเชฐเซเชฐ เชเซ. เชตเชฟเชถเซเชฒเซเชทเชฃเชพเชคเซเชฎเช เชเชเซเชฒเชจเซเช เชธเซเชตเชฐเซเชช, เชเซ เช เชฎเชจเซ เชคเชฐเชค เช เชฏเซเชเซเชฏ เชธเซเชฅเชพเชจเซ เชเซเชฒเชฟเชชเซเชฐเซเช เชเชฐเซ เชเซ?
เช เชชเซเชฐเชถเซเชจเชจเซ เชเชตเชพเชฌ เชธเชชเชพเชเซ เชชเชฐ เชฐเชนเซเชฒเซ เชเซ. เชนเชตเซ เชเชชเชฃเซ เชเช เชเซเชฌ เช เชธเชฐเชณ เชเชฆเชพเชนเชฐเชฃ เชเซเชฏเซเช, เชเซเชฎเชพเช เชธเชพเชเซ เชเชตเชพเชฌ เชเซ เชเช เชจเชฟเชถเชพเชจเซ เชชเชฐ เชเชงเชพเชฐ เชฐเชพเชเซ เชเซ . เชคเชฎเซ เชเซเชตเชจเชฎเชพเช เช เชตเชพเชฐเชเชตเชพเชฐ เชเซเชคเชพ เชจเชฅเซ, เชคเซเชฅเซ เชเชพเชฒเซ เชเชฒเซเชชเชจเชพ เชเชฐเซเช เชเซ เชเชชเชฃเซ เชชเชพเชธเซ 2, 30, 50 เช เชฅเชตเชพ เชตเชงเซ เชเชฟเชนเซเชจเซ เชเซ. เชเชพเชฒเซ เชเชฎเชพเช เชฆเชฐเซเช เชฒเชเซเชทเชฃ เชฎเชพเชเซ เชนเชเชพเชฐเซ, เช เชฅเชตเชพ เชคเซ เชนเชเชพเชฐเซ เชฎเซเชฒเซเชฏเซ เชเชฎเซเชฐเซเช. เช เชเชฟเชธเซเชธเชพเชฎเชพเช, เชตเชฟเชถเซเชฒเซเชทเชฃเชพเชคเซเชฎเช เชเชเซเชฒ เชชเชฐเซเชเซเชทเชฃเชจเซ เชธเชพเชฎเชจเซ เชเชฐเซ เชถเชเชถเซ เชจเชนเซเช เช เชจเซ เชจเชฟเชทเซเชซเชณ เชเชถเซ. เชฌเชฆเชฒเชพเชฎเชพเช, เชเซเชฐเซเชกเชฟเชเชจเซเช เชกเชฟเชธเซเชจเซเช เช เชจเซ เชคเซเชจเซ เชญเชฟเชจเซเชจเชคเชพเช เชงเซเชฎเซ เชงเซเชฎเซ เชชเชฐเชเชคเซ เชเซเชเซเชเชธ เชเชชเชฃเชจเซ เชงเซเชฏเซเชฏเชจเซ เชจเชเซเช เชฒเชพเชตเชถเซ - เชเชพเชฐเซเชฏเชจเซเช เชจเซเชฏเซเชจเชคเชฎ. เช เชจเซ เชเชกเชช เชตเชฟเชถเซ เชเชฟเชเชคเชพ เชเชฐเชถเซ เชจเชนเซเช - เช เชฎเซ เชธเชเชญเชตเชคเช เชเชตเซ เชฐเซเชคเซ เชเซเชเชถเซเช เชเซ เช เชฎเชจเซ เชชเชเชฒเชพเชจเซ เชฒเชเชฌเชพเช (เชเชเชฒเซ โโเชเซ เชเชกเชช) เชธเซเช เช เชจเซ เชจเชฟเชฏเชฎเชจ เชเชฐเชตเชพเชจเซ เชฎเชเชเซเชฐเซ เชเชชเชถเซ.
เช เชจเซ เชนเชตเซ เชตเชพเชธเซเชคเชตเชฟเช เชธเชเชเซเชทเชฟเชชเซเชค เชธเชพเชฐเชพเชเชถ.
เชธเซเชชเซเชฐเชฅเชฎ, เชนเซเช เชเชถเชพ เชฐเชพเชเซเช เชเซเช เชเซ เชฒเซเชเชฎเชพเช เชชเซเชฐเชธเซเชคเซเชค เชธเชพเชฎเชเซเชฐเซ เชธเชฐเชณ (เช เชจเซ เชฎเชพเชคเซเชฐ เชจเชนเซเช) เชฐเซเชเซเชฏ เชฐเซเชเซเชฐเซเชถเชจ เชธเชฎเซเชเชฐเชฃเซเชจเซ เชเซเชตเซ เชฐเซเชคเซ เชนเชฒ เชเชฐเชตเซ เชคเซ เชธเชฎเชเชตเชพเชฎเชพเช "เชกเซเชเชพ เชตเซเชเซเชเชพเชจเชฟเชเซ" เชจเซ เชถเชฐเซเชเชค เชเชฐเชตเชพเชฎเชพเช เชฎเชฆเชฆ เชเชฐเชถเซ.
เชฌเซเชเซเช, เช เชฎเซ เชธเชฎเซเชเชฐเชฃ เชเชเซเชฒเชตเชพเชจเซ เชเชฃเซ เชฐเซเชคเซ เชเซเช. เชนเชตเซ, เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟ เชชเชฐ เชเชงเชพเชฐ เชฐเชพเชเซเชจเซ, เช เชฎเซ เชเช เชชเชธเชเชฆ เชเชฐเซ เชถเชเซเช เชเซเช เชเซ เชธเชฎเชธเซเชฏเชพเชจเซ เชเชเซเชฒเชตเชพ เชฎเชพเชเซ เชธเซเชฅเซ เชฏเซเชเซเชฏ เชเซ.
เชคเซเชฐเซเชเซเช, เช เชฎเซ เชตเชงเชพเชฐเชพเชจเซ เชธเซเชเชฟเชเชเซเชธเชจเซ เชถเชเซเชคเชฟ เชเซเช, เชเชเชฒเซ เชเซ เชเซเชฐเซเชกเชฟเชฏเชจเซเช เชกเชฟเชธเซเชจเซเช เชธเซเชเซเชช เชฒเชเชฌเชพเช. เช เชชเชฐเชฟเชฎเชพเชฃเชจเซ เช เชตเชเชฃเซ เชถเชเชพเชฏ เชจเชนเซเช. เชเชชเชฐ เชจเซเชเชงเซเชฏเซเช เชเซ เชคเซเชฎ, เชเชฃเชคเชฐเซเชจเซ เชเชฟเชเชฎเชค เชเชเชพเชกเชตเชพ เชฎเชพเชเซ, เชเชคเชฐเชพเชฃ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชชเชเชฒเชพเชจเซ เชฒเชเชฌเชพเช เชฌเชฆเชฒเชตเซ เชเซเชเช.
เชเซเชฅเซเช, เช เชฎเชพเชฐเชพ เชเชฟเชธเซเชธเชพเชฎเชพเช, "เชเชฐ-เชฒเซเชเชฟเชค" เชเชพเชฐเซเชฏเซเช เชเชฃเชคเชฐเซ เชฎเชพเชเซ เชถเซเชฐเซเชทเซเช เชธเชฎเชฏ เชชเชฐเชฟเชฃเชพเชฎเซ เชฆเชฐเซเชถเชพเชตเซเชฏเชพ. เช เชเชฆเชพเช เชชเซเชธเซเชคเชเชพเชฒเชฏเชจเซ เชเซเชทเชฎเชคเชพเชเชจเซ เชธเซเชฅเซ เชตเชงเซ เชตเซเชฏเชพเชตเชธเชพเชฏเชฟเช เชเชชเชฏเซเช เชจ เชเชฐเชตเชพเชจเซ เชเชพเชฐเชฃเซ เชเซ เชจเชฎเซ. เชชเชฐเชเชคเซ เชคเซ เชฌเชจเซ เชถเชเซ เชคเซเชฎ เชนเซเชฏ, เชจเซเชเซเชจเชพ เชจเชฟเชทเซเชเชฐเซเชท เชชเซเชคเซ เชธเซเชเชตเซ เชเซ. เชเช เชคเชฐเชซ, เชเซเชเชฒเซเชเชตเชพเชฐ เชคเซ เชธเซเชฅเชพเชชเชฟเชค เชฎเชเชคเชตเซเชฏเซ เชชเชฐ เชชเซเชฐเชถเซเชจ เชเชฐเชตเชพ เชฏเซเชเซเชฏ เชเซ, เช เชจเซ เชฌเซเชเซ เชฌเชพเชเซ, เชคเซ เชนเชเชฎเซเชถเชพ เชฆเชฐเซเช เชตเชธเซเชคเซเชจเซ เชเชเชฟเชฒ เชฌเชจเชพเชตเชตเชพ เชฏเซเชเซเชฏ เชจเชฅเซ - เชคเซเชจเชพเชฅเซ เชตเชฟเชชเชฐเซเชค, เชเซเชเชฒเซเชเชตเชพเชฐ เชธเชฎเชธเซเชฏเชพ เชนเชฒ เชเชฐเชตเชพเชจเซ เชธเชฐเชณ เชฐเซเชค เชตเชงเซ เช เชธเชฐเชเชพเชฐเช เชนเซเชฏ เชเซ. เช เชจเซ เช เชฎเชพเชฐเซ เชงเซเชฏเซเชฏ เชธเชฐเชณ เชฐเซเชเซเชฏ เชฐเซเชเซเชฐเซเชธเชจ เชธเชฎเซเชเชฐเชฃเชจเซ เชเชเซเชฒเชตเชพ เชฎเชพเชเซเชจเชพ เชคเซเชฐเชฃ เช เชญเชฟเชเชฎเซเชจเซเช เชตเชฟเชถเซเชฒเซเชทเชฃ เชเชฐเชตเชพเชจเซ เชนเชคเซ, เชคเซเชฅเซ "เชธเซเชต-เชฒเซเชเชฟเชค" เชเชพเชฐเซเชฏเซเชจเซ เชเชชเชฏเซเช เช เชฎเชพเชฐเชพ เชฎเชพเชเซ เชชเซเชฐเชคเซ เชนเชคเซ.
เชธเชพเชนเชฟเชคเซเชฏ (เช เชฅเชตเชพ เชเชตเซเช เชเชเชเช)
1. เชฒเซเชจเชฟเชฏเชฐ เชฐเซเชเซเชฐเซเชถเชจ
2. เชเชเชพเชฎเชพเช เชเชเชพ เชเซเชฐเชธ เชชเชฆเซเชงเชคเชฟ
3. เชตเซเชฏเซเชคเซเชชเชจเซเชจ
4. เชขเชพเชณ
5. เชขเชพเชณ เชตเชเชถ
6. NumPy เชฒเชพเชเชฌเซเชฐเซเชฐเซ
เชธเซเชฐเซเชธ: www.habr.com