質問にもれなく答えると解説本が書けてしまうので、かなりざっくりと記載します。詳細を理解したいのであれば、専門書を通読することをおすすめします。
epochを重ねて行っていることは学習です。学習のゴールは説明変数と被説明変数の間の関数を決定することです。具体的にはweightとbiasを学習によって更新することです。
学習は適当に決めたweightとbiasの関数に説明変数を入力するところから始まります。そしてこの関数のアウトプットと正解である被説明変数とを比較してモデルを評価します。関数のアウトプットと正解が離れていれば、weightとbiasの更新をします。
この一連の学習ですが、本来は学習用の全データを使うべきものです。しかしながら全データを一括して入力する方法だと計算量が多く大変です。そこでミニバッチと呼ばれる方法を用います。epochとはミニバッチ学習を一通り行ったことを示す単位です。つまりepochを重ねるということはミニバッチ学習を一通り行ったことと同じであり、weightとbiasの更新をミニバッチ数分繰り返したことと同じです。weightとbiasの更新は関数の計算結果と正解が近似するように行われるので、epochを重ねると正解率が上昇していくことになります